Title
Modular multi-ported SRAM-based memories
Abstract
Multi-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 memories with a large number of read and write ports are important, their high implementation cost means they are used sparingly in designs. As a result, FPGA vendors only provide dual-ported block RAMs to handle the majority of usage patterns. In this paper, a novel and modular approach is proposed to construct multi-ported memories out of basic dual-ported RAM blocks. Like other multi-ported RAM designs, each write port uses a different RAM bank and each read port uses bank replication. The main contribution of this work is an optimization that merges the previous live-value-table (LVT) and XOR approaches into a common design that uses a generalized, simpler structure we call an invalidation-based live-value-table (I-LVT). Like a regular LVT, the I-LVT determines the correct bank to read from, but it differs in how updates to the table are made; the LVT approach requires multiple write ports, often leading to an area-intensive register-based implementation, while the XOR approach uses wider memories to accommodate the XOR-ed data and suffers from lower clock speeds. Two specific I-LVT implementations are proposed and evaluated, binary and one-hot coding. The I-LVT approach is especially suitable for larger multi-ported RAMs because the table is implemented only in SRAM cells. The I-LVT method gives higher performance while occupying less block RAMs than earlier approaches: for several configurations, the suggested method reduces the block RAM usage by over 44% and improves clock speed by over 76%. To assist others, we are releasing our fully parameterized Verilog implementation as an open source hardware library. The library has been extensively tested using ModelSim and Altera's Quartus tools.
Year
DOI
Venue
2014
10.1145/2554688.2554773
FPGA
Keywords
Field
DocType
multi-ported memory,specific i-lvt implementation,block ram usage,modular multi-ported sram-based memory,xor approach,i-lvt method,i-lvt approach,basic dual-ported ram block,multi-ported rams,lvt approach,higher performance,shared memory,cache memory,register file
ModelSim,Computer science,CPU cache,Very long instruction word,Parallel computing,Register file,Field-programmable gate array,Verilog,Modular design,Clock rate,Embedded system
Conference
Citations 
PageRank 
References 
9
0.69
7
Authors
2
Name
Order
Citations
PageRank
Ameer Abdelhadi1436.33
Guy G.F. Lemieux2535.06