jkellner
Newbie level 2
Hi All,
I'm working on a project for one of my classes in which I get to implement a design of my choosing, and I am attempting to interface with the on-board Cellular RAM of the Nexys-3 Spartan 6 and do asynchronous and synchronous reads and display the data from the memory (which I programmed using the Adept interface) to the 4 SSD's by displaying the data in HEX (16 bits per address = 4 SSD's each with 4 bits)
I have completed the design which does asynchronous reads, and I know its reading the correct data, however synchronous reads are giving me a little more trouble.
Doing the asynchronous reads, the first 4 addresses I'm reading display "0001", "0010", "0011", "0100" (exactly what they should be reading), but when I load the synchronous .bit file to the board I'm getting "FFFF", "FFFF", "FFFF", "0000". If I then load the asynchronous file back to the FPGA, I then get "FFFF", "0010", "0011", "0100". So it would appear that when I'm trying to configure the memory to run in synchronous mode (by loading to the Bus Configuration Register since the memory powers on in asynchronous mode, on page 24 of the data sheet) it is somehow overwriting the first address of the memory but I'm not sure why this is happening.
If anyone could help me understand why this is happening and what I could do to fix it it would be much appreciated.
I have attached the ZIP of both my asynchronous and synchronous project files as well as the data sheet for the Cellular RAM.
Thank you in advance.
I'm working on a project for one of my classes in which I get to implement a design of my choosing, and I am attempting to interface with the on-board Cellular RAM of the Nexys-3 Spartan 6 and do asynchronous and synchronous reads and display the data from the memory (which I programmed using the Adept interface) to the 4 SSD's by displaying the data in HEX (16 bits per address = 4 SSD's each with 4 bits)
I have completed the design which does asynchronous reads, and I know its reading the correct data, however synchronous reads are giving me a little more trouble.
Doing the asynchronous reads, the first 4 addresses I'm reading display "0001", "0010", "0011", "0100" (exactly what they should be reading), but when I load the synchronous .bit file to the board I'm getting "FFFF", "FFFF", "FFFF", "0000". If I then load the asynchronous file back to the FPGA, I then get "FFFF", "0010", "0011", "0100". So it would appear that when I'm trying to configure the memory to run in synchronous mode (by loading to the Bus Configuration Register since the memory powers on in asynchronous mode, on page 24 of the data sheet) it is somehow overwriting the first address of the memory but I'm not sure why this is happening.
If anyone could help me understand why this is happening and what I could do to fix it it would be much appreciated.
I have attached the ZIP of both my asynchronous and synchronous project files as well as the data sheet for the Cellular RAM.
Thank you in advance.