Abstract
Multi-ported memories are challenging to implement on FPGAs since the block RAMs included in the fabric typically have only two ports. Hence we must construct memories requiring more than two ports, either out of logic elements or by combining multiple block RAMs. We present a thorough exploration and evaluation of the design space of FPGA-based soft multi-ported memories for conventional solutions, and also for the recently proposed Live Value Table (LVT) [LaForest and Steffan 2010] and XOR [LaForest et al. 2012] approaches to unidirectional port memories, reporting results for both Altera and Xilinx FPGAs. Additionally, we thoroughly evaluate and compare with a recent LVT-based approach to bidirectional port memories [Choi et al. 2012].
- Altera. 2003. Mercury programmable logic device family data sheet. http://www.altera.com/ds/archives/dsmercury.pdf.Google Scholar
- Altera. 2011. Nios II processor reference handbook. http://www.altera.com/literature/hb/nios2/n2cpu_nii5v1.pdf.Google Scholar
- Altera. 2012. DC and switching characteristics for stratix iv devices. http://www.altera.com/literature/hb/stratix-iv/stx4siv54001.pdf.Google Scholar
- Fakhar Anjam, Muhammad Nadeem, and Stephan Wong. 2010a. A VLIW softcore processor with dynamically adjustable issue-slots. In Proceedings of the International Conference on Field-Programmable Technology (FPT'10). 393--398.Google Scholar
Cross Ref
- Fakhar Anjam, Stephan Wong, and Faisal F. Nadeem. 2010b. A multiported register file with register renaming for configurable softcore VLIW processors. In Proceedings of the International Conference on Field-Programmable Technology (FPT'10). 403--408.Google Scholar
- Roberto Carli. 2008. Flexible mips soft processor architecture. http://hdl.handle.net/1721.1/41874.Google Scholar
- Jongsok Choi, Kevin Nam, Andrew Canis, Jason Anderson, Stephan Brown, and Tomasz Czajkowski. 2012. Impact of cache architecture on speed and area of FPGA-based processor/parallel-accelerator systems. In Proceedings of the IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM'12). 17--24. Google Scholar
Digital Library
- Blair Fort, Davor Capalija, Zvonko G. Vranesic, and Stephan D. Brown. 2006. A multithreaded soft processor for SOPC area reduction. In Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'06). 131--142. Google Scholar
Digital Library
- Mitchell Hayenga and Mikko Lipasti. 2011. The NOX router. In Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'11). 36--46. Google Scholar
Digital Library
- Alex K. Jones, Raymond Hoare, Dara Kusic, Joshua Fazekas, and John Foster. 2005. An FPGA-based VLIW processor with custom hardware execution. In Proceedings of the International Symposium on Field-Programmable Gate Arrays (FPGA'05). 107--117. Google Scholar
Digital Library
- Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, and Jon Crowcroft. 2006. XORs in the air: Practical wireless network coding. In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM'06). 243--254. Google Scholar
Digital Library
- Charles Eric Laforest, Ming Gang Liu, Emma Rapati, and J. Gregory Steffan. 2012. Multi-ported memories for FPGAs via XOR. In Proceedings of the 20th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'12). 209--218. Google Scholar
Digital Library
- Charles Eric Laforest and J. Gregory Steffan. 2010. Efficient multi-ported memories for FPGAs. In Proceedings of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'10). 41--50. Google Scholar
Digital Library
- Naraig Manjikian. 2003. Design issues for prototype implementation of a pipelined superscalar processor in programmable logic. In Proceedings of the IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM'03). 155--158.Google Scholar
Cross Ref
- Roger Moussali, Nabil Ghanem, and Mazen A. R. Saghir. 2007. Supporting multithreading in configurable soft processor cores. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES'07). 155--159. Google Scholar
Digital Library
- Vignyan Reddy Kothinti Naresh, David J. Palframan, and Mikko H. Lipasti. 2011. CRAM: Coded registers for amplified multiporting. In Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'11). 196--205. Google Scholar
Digital Library
- David A. Patterson, Garth Gibson, and Randy H. Katz. 1988. A case for redundant arrays of inexpensive disks (raid). In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD'88). 109--116. Google Scholar
Digital Library
- James R. Phillips. 2012. Py2eq curve-fitting library. http://code.google.com/p/pyeq2/.Google Scholar
- Mazen Saghir and Rawan Naous. 2007. A configurable multi-ported register file architecture for soft processor cores. In Proceedings of the International Workshop on Applied Reconfigurable Computing (ARC'07). Springer, 14--25. Google Scholar
Digital Library
- Mazen A. R. Saghir, Mohamad El-Majzoub, and Patrick Akl. 2006. Datapath and ISA customization for soft vliw processors. In Proceedings of the IEEE International Conference on Reconfigurable Computing and FPGAs (ReConFig'06). 1--10.Google Scholar
Cross Ref
- Henry Wong, Vaughn Betz, and Jonathan Rose. 2011. Comparing FPGA vs. custom CMOS and the impact on processor microarchitecture. In Proceedings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'11). 5--14. Google Scholar
Digital Library
- Xilinx. 2012. Virtex-6 FPGA data sheet: DC and switching characteristics. http://www.xilinx.com/support/documentation/data sheets/ds152.pdf.Google Scholar
- Peter Yiannacouras, J. Gregory Steffan, and Jonathan Rose. 2006. Application-specific customization of soft processor microarchitecture. In Proceedings of the ACM/SIGDA 14th International Symposium on Field Programmable Gate Arrays (FPGA'06). 201--210. Google Scholar
Digital Library
Index Terms
Composing Multi-Ported Memories on FPGAs
Recommendations
Modular multi-ported SRAM-based memories
FPGA '14: Proceedings of the 2014 ACM/SIGDA international symposium on Field-programmable gate arraysMulti-ported RAMs are essential for high-performance parallel computation systems. VLIW and vector processors, CGRAs, DSPs, CMPs and other processing systems often rely upon multi-ported memories for parallel access, hence higher performance. Although ...
Efficient multi-ported memories for FPGAs
FPGA '10: Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arraysMulti-ported memories are challenging to implement with FPGAs since the provided block RAMs typically have only two ports. We present a thorough exploration of the design space of FPGA-based soft multi-ported memories by evaluating conventional ...
Multi-ported memories for FPGAs via XOR
FPGA '12: Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate ArraysMulti-ported memories are challenging to implement with FPGAs since the block RAMs included in the fabric typically have only two ports. Any design that requires a memory with more than two ports must therefore be built out of logic elements or by ...






Comments