Modular Switched Multiported SRAM-Based Memories

被引:4
|
作者
Abdelhadi, Ameer M. S. [1 ]
Lemieux, Guy G. F. [1 ]
机构
[1] Univ British Columbia, Dept Elect & Comp Engn, 2332 Main Mall, Vancouver, BC V6T 1Z4, Canada
基金
美国国家科学基金会; 加拿大自然科学与工程研究理事会;
关键词
Design; Algorithms; Performance Embedded memory; programmable memory; block RAM; multiported memory; shared memory; cache memory; register file; parallel memory access; ARCHITECTURE;
D O I
10.1145/2851506
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Multiported RAMs are essential for high-performance parallel computation systems. VLIW and vector processors, CGRAs, DSPs, CMPs, and other processing systems often rely upon multiported memories for parallel access. Although memories with a large number of read and write ports are important, their high implementation cost means that they are used sparingly. As a result, FPGA vendors only provide dual-ported block RAMs (BRAMs) to handle the majority of usage patterns. Furthermore, recent attempts to create FPGA-based multiported memories suffer from low storage utilization. Whereas most approaches provide simple unidirectional ports with a fixed read or write, others propose true bidirectional ports where each port dynamically switches read and write. True RAM ports are useful for systems with transceivers and provide high RAM flexibility; however, this flexibility incurs high BRAM consumption. In this article, a novel, modular, and BRAM-based switched multiported RAM architecture is proposed. In addition to unidirectional ports with fixed read/write, this switched architecture allows a group of write ports to switch with another group of read ports dynamically, hence altering the number of active ports. The proposed switched-ports architecture is less flexible than a true-multiported RAM where each port is switched individually. Nevertheless, switched memories can dramatically reduce BRAM consumption compared to true ports for systems with alternating port requirements. Previous live-value-table (LVT) and XOR approaches are merged and optimized into a generalized and modular structure that 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, whereas the XOR approach suffers from excessive storage overhead since wider memories are required to accommodate the XOR-ed data. Two specific I-LVT implementations are proposed and evaluated: binary and thermometer coding. The I-LVT approach is especially suitable for deep memories because the table is implemented only in SRAM cells. The I-LVT method gives higher performance while occupying fewer BRAMs than earlier approaches: for several configurations, BRAM usage is reduced by greater than 44% and clock speed is improved by greater than 76%. The I-LVT can be used with fixed ports, true ports, or the proposed switched ports architectures. Formal proofs for the suggested methods, resources consumption analysis, usage guidelines, and analytic comparison to other methods are provided. A fully parameterized Verilog implementation is released as an open source library. The library has been extensively tested using Altera's EDA tools.
引用
收藏
页数:26
相关论文
共 50 条
  • [11] SRAM-based FPGAs cut to the core
    Dipert, B
    EDN, 2000, 45 (13) : 26 - 26
  • [12] Neutron Cross-Section of N-Modular Redundancy Technique in SRAM-Based FPGAs
    Tarrillo, Jimmy
    Kastensmidt, Fernanda Lima
    Rech, Paolo
    Frost, Christopher
    Valderrama, Carlos
    IEEE TRANSACTIONS ON NUCLEAR SCIENCE, 2014, 61 (04) : 1558 - 1566
  • [13] Neutron Cross-section of N-Modular Redundancy Technique in SRAM-based FPGAs
    Tarrillo, Jimmy
    Kastensmidt, Fernanda Lima
    Rech, Paolo
    Frost, Christopher
    Valderrama, Carlos
    2013 14TH EUROPEAN CONFERENCE ON RADIATION AND ITS EFFECTS ON COMPONENTS AND SYSTEMS (RADECS), 2013,
  • [14] Efficient TCAM Design Based on Multipumping-Enabled Multiported SRAM on FPGA
    Ullah, Inayat
    Ullah, Zahid
    Lee, Jeong-A
    IEEE ACCESS, 2018, 6 : 19940 - 19947
  • [15] An SRAM-based implementation of a convolutional neural network
    Wang, Runchun
    Cohen, Gregory
    Thakur, Chetan Singh
    Tapson, Jonathan
    van Schaik, Andre
    PROCEEDINGS OF 2016 IEEE BIOMEDICAL CIRCUITS AND SYSTEMS CONFERENCE (BIOCAS), 2016, : 560 - 563
  • [16] Impact of Orientation on the Bias of SRAM-Based PUFs
    Abideen, Zain Ul
    Wang, Rui
    Perez, Tiago Diadami
    Schrijen, Geert-Jan
    Pagliarini, Samuel
    IEEE DESIGN & TEST, 2024, 41 (03) : 14 - 20
  • [17] Toward Reliable SRAM-based Device Identification
    Kim, Joonsoo
    Lee, Joonsoo
    Abraham, Jacob A.
    2010 IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, 2010, : 313 - 320
  • [18] A delay model for SRAM-Based FPGA interconnections
    Yi, Wang
    Wang, Lingli
    Han, Ruonan
    Tong, Jiarong
    IEEE MWSCAS'06: PROCEEDINGS OF THE 2006 49TH MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS, VOL II, 2006, : 79 - +
  • [19] Soft error mitigation for SRAM-based FPGAs
    Asadi, GH
    Tahoori, MB
    23RD IEEE VLSI TEST SYMPOSIUM, PROCEEDINGS, 2005, : 207 - 212
  • [20] SRAM-Based Unique Chip Identifier Techniques
    Chellappa, Srivatsan
    Clark, Lawrence T.
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2016, 24 (04) : 1213 - 1222