AnyCPU http://anycpu.org/forum/ |
|
Making wide(r) memory from byte-wide memory? http://anycpu.org/forum/viewtopic.php?f=13&t=808 |
Page 1 of 1 |
Author: | tingo [ Thu Dec 10, 2020 4:34 pm ] |
Post subject: | Making wide(r) memory from byte-wide memory? |
Hello, Are there any good examples available on how to make wider memory when all you have connected to you FPGA hardware is byte-wide memory? I'm talking about static RAM, not block RAM or other memory bits inside a FPGA chip. I have searched a bit, but perhaps I'm using the wrong search words. I'm quite new to using FPGAs. Background: I am trying to adapt (port? not sure about terminology here) Project Oberon (http://www.projectoberon.com/) so it will run on Multicomp board, like this one https://www.retrobrewcomputers.org/doku ... ii-c:start (Multicomp is Grant Searle's creation: http://searle.wales/). Anyway, the Multicomp board has two AS6C4008 RAM chips connected to it, so that the data bus is 8-bit. And the RISC5 cpu in the computer that runs Project Oberon wants a 32-bit wide memory.. So I need a way to do that. Not sure it will work out at all, the result might be too slow (reading 4 bytes in sequence rather than one 32-bit word) but it is fun to try. Any help or pointers to places I can learn more is appreciated. |
Author: | BigEd [ Thu Dec 10, 2020 4:52 pm ] |
Post subject: | Re: Making wide(r) memory from byte-wide memory? |
It certainly can be done. @hoglet here did it to run a more-than-byte-wide OPC cpu from the 8 bit wide RAM on an OHO GOP board. It turned out to be advantageous also to have a very small simple cache. See https://github.com/revaldinho/opc/blob/ ... ntroller.v and the surrounding machinery. |
Author: | robfinch [ Thu Dec 10, 2020 11:17 pm ] |
Post subject: | Re: Making wide(r) memory from byte-wide memory? |
I have put something similar together for the CS01 project. It interfaces an FPGA to a high speed static ram that is only eight bits wide. It runs only the memory cycles that needs to. The interface is to a 32-bit WISHBONE bus. https://github.com/robfinch/CoresCS01/rtl/cs01memInterface.sv An example of usage is in this file: https://github.com/robfinch/CoresCS01/rtl/SoCCS01.sv Note the interface was to 8 ns static ram so if interfacing to slow ram wait states will need to be inserted. |
Author: | tingo [ Mon Dec 14, 2020 8:41 am ] |
Post subject: | Re: Making wide(r) memory from byte-wide memory? |
BigEd wrote: It certainly can be done. @hoglet here did it to run a more-than-byte-wide OPC cpu from the 8 bit wide RAM on an OHO GOP board. It turned out to be advantageous also to have a very small simple cache. See https://github.com/revaldinho/opc/blob/ ... ntroller.v and the surrounding machinery. Thanks, I'll have a look and see if I can understand how it works. |
Author: | tingo [ Mon Dec 14, 2020 8:50 am ] |
Post subject: | Re: Making wide(r) memory from byte-wide memory? |
robfinch wrote: I have put something similar together for the CS01 project. It interfaces an FPGA to a high speed static ram that is only eight bits wide. It runs only the memory cycles that needs to. The interface is to a 32-bit WISHBONE bus. https://github.com/robfinch/CoresCS01/rtl/cs01memInterface.sv An example of usage is in this file: https://github.com/robfinch/CoresCS01/rtl/SoCCS01.sv Note the interface was to 8 ns static ram so if interfacing to slow ram wait states will need to be inserted. This looks very useful - thanks! Yes, the RAM chips on the Multicomp board are 55ns I think, so I'll keep that in mind. |
Page 1 of 1 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |