microblaze to blockram - Byte-Writes

I am trying to interface a 32 bit blockram to microblaze (spartan 3E), using the User-Address ip support in the "Create and import peripheral". I have instantiated a black box blockram 32x256 and it works fine with read and write operations of 32bit datawidth. But how can i perform 8bit write and read operations? i know there are the BE (byte_enable) bus, but i cant see how this can work with a single block ram .. i would need 4 block ram=B4s inorder to perform byte write and reads or what? i can see that in the never FPGA`s (according to Block Memory Generator 2.6 .pdf) that block ram supports Byte-Writes, which is EXACTLY what i need .. but im using the spartan 3E which dosent support this feature .. are there any work around so i dont need 4 block ram=B4s of 8x256 instead of a single 32x256 ? ... is there a way to create more than one block ram instance that only uses one block-ram in hardware?

Regards Kim

Reply to
kislo
Loading thread data ...

kislo schrieb:

No, if you need byte-wise write-access to the memory and can't afford using 4 BlockRAMs you have to design a BlockRAM controller that does a read-modify-write access. This should be simple but of course will result in a multiple clock-cycle delay for each 8-bit/16-bit access.

Regards, Andreas

Reply to
Andreas Hofmann

Kim, remember that the BlockRAM is dual-ported, so it has two independent addressing mechanisms. That means you can write and read byte-wide on one port, and write and read 32-bit wide on the other port, with both ports accessing the same information. Peter Alfke, Xilinx Applications

Reply to
Peter Alfke

yes im aware of that, i just forgot to mention that the blockram i use is configured as dualport connecting which is shared between the microblaze and a peripheral unit. But i just have to live without using byte writes ;) could be cool though to access bytes in the dual port blockram using pointers ;)

Reply to
kislo

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.