My new task is to design the SOC for the current product that we are working on. However, before getting to the actual design there is few tasks that need to be done first.

Last week the task was to connect the AEMB2 processor to two block RAMS, one for data the other for instructions. In addition, a gpio is to be connected as well.

Connecting the instruction RAM was pretty forward.

The GPIO and the data RAM both connect to the data interface in the processor. Thus, the shared signals need to be multiplexed based on the selected device. The address MSB determines the selected device.

My task for this week is to load software onto the RAMS and get the GPIO reading and writing data through the processor.

The tool used to initialize Block RAMs in the FPGA is DATA2MEM. Here is it’s latest user guide

DATA2MEM was created for scenarios exactly similar to our current project which is downloading the code for a processor both of which are implemented on the FPGA. The DATA2MEM can be invoked from the command line or the ISE can be configured to invoke it during the implementation process.

Looking for more information about the DATA2MEM ? Once I figure it out and get the demo working I’ll have more to say so till then! 🙂