03-23-2012 03:16 AM
I am doing an image processing project, in which i have stored some coefficients in core generator block ram. it is done by initialising the 3 bit wide BRAM of depth 4095 by the .coe file. can anybody help to access the contents of the memory as a whole or as bit by bit for further programming it using Xilinx ise 12.2.
03-23-2012 02:01 PM
The block has address pins. By incrementing the address, you will be able to access each memory location.
Based on your desciption, you will get a 3-bit "word" at each of the 4095 address locations.
If you have a simple counter connected to the address lines, you will get a new "word" on each clock.
03-23-2012 11:27 PM
Really thank you for your reply...
i have written a verilog code as test bench to read the 4095 locations by incrementing the address, one by one for each clk..i could read the elements in the "memory editor" of isim simulation result..and as a wave i could see the contents which i have given in the .coe file...but for further processing i need the contents of the BRAM ..now i dont know how to call it for processing..ie for getting the content at 10 the location how can i call it??when i am taking the dout as input it is not working properly..
waiting for a reply...
03-30-2012 12:15 PM
You will need to create a logic circuit that will generate an address for the location in the BRAM where the data is stored that you will need for the next transaction.
It could be as simple as connecting a counger to the Adrress pins, and letting it cycle with each clock, if you just need to read out the contents in a sequential order. If you need specific content based on a condition, you will have to create the logic to generate that address needed to access your content.
If its at address 10, then you will need some logic that will generate a 10 when the specified contitions are meat.