Professional Documents
Culture Documents
Invited Paper
Authorized licensed use limited to: Indraprastha Institute of Information Technology. Downloaded on January 15,2021 at 18:11:24 UTC from IEEE Xplore. Restrictions apply.
designs between technologies has led to more research on Bank Precharge Array
memory array compilers [3, 8, 14, 22].
As technology entered the Deep Sub-Micron (DSM) era,
6T
memory designs became one of the most challenging parts of
circuit design due to decreasing static noise margins (SNM),
Wordline Driver
Decoder
increasing fabrication variability, and increasing leakage power CLK Control
Bit Cell Array
and route methods which required large optimized libraries. Address Bus
Sense Amp Array
During this time, industry began using third-party suppliers m Address
Write Driver Array
MS-Flop
of standard cell libraries and memory compilers that allowed
Input Data MS-Flop Array
their reuse to amortize development costs. These next- AND
generation memory compilers provided silicon-verification Bank Select Array Tri Gate Array
Authorized licensed use limited to: Indraprastha Institute of Information Technology. Downloaded on January 15,2021 at 18:11:24 UTC from IEEE Xplore. Restrictions apply.
CLK
CLK ADDR Setup
A0 A1
ADDR Setup
A0 A1 Setup Hold
CSb
CSb Setup Hold Setup Hold
WEb
Setup Hold
OEb OEb
WEb WD_EN
SCLK DATA IN
Setup Hold
D0
D1
DATA OUT Read
Delay D0 D1 X Mem Cell
Write
Delay
D0 D1
(a) Read operation timing (b) Write operation timing
Figure 2: OpenRAM uses a synchronous SRAM interface using a system clock (clk) along with control
signals: output enable (OEb), chip select (CSb) and write enable (WEb).
Authorized licensed use limited to: Indraprastha Institute of Information Technology. Downloaded on January 15,2021 at 18:11:24 UTC from IEEE Xplore. Restrictions apply.
User Specification
(word size, memory size, aspect ratio, etc.)
Table 1: Dependencies required for sub-modules
Tech Library
Front-End Memory Compiler Variable Equation
Methodology (Python)
Simulator Total Bits word size ∗ num words
Logical Front-End Memory Characterizer (e.g. ngspice, p
Physical (Python) spectre) Words Per Row (num words)/word size
Num of Rows num words/words per row
Spice/LVS Verilog LEF/FRAM GDSII Liberty (.lib) Estimated
Timing/Power
Num of Cols words per row ∗ word size
Col Addr Size log2 (words per row)
Simulator Memory Characterizer Extractor Row Addr Size log2 (num of rows)
(e.g. ngspice, spectre) (Python) (e.g. Calibre)
Total Addr Size row addr size + col addr size
Back-End Data Size word size
Methodology Annotated
Liberty (.lib) Spice Timing/Power
Num of Bank num banks
Authorized licensed use limited to: Indraprastha Institute of Information Technology. Downloaded on January 15,2021 at 18:11:24 UTC from IEEE Xplore. Restrictions apply.
16-bit word size
32-bit word size
64-bit word size
128-bit word size
0.3
Freepdk45
Area (mm2 )
0.2
0.1
0
2 Kb (1 bank x 32 words x 64 bits) 4 Kb (4 banks x 32 words x 32 bits) 0 20 40 60 80 100 120 140
Total Size (Kbits)
50
SCMOS
40
Area (mm2 )
30
20
10
0
0 20 40 60 80 100 120 140
16 Kb (2 banks x 128 words x 64 bits)
Total Size (Kbits)
10
Figure 4: Single bank and multi-bank SRAMs (not Freepdk45
8
to scale) use symmetrical bank placement to share
0
OpenRAM includes a memory characterizer that mea- 0 20 40 60 80 100 120 140
Total Size (Kbits)
sures the timing and power characteristics through SPICE
simulation. The characterizer has four main stages: gener-
50
ating the SPICE stimulus, running the circuit simulations, SCMOS
Access time (ns)
40
parsing the simulator’s output, and producing the charac-
30
teristics in a Liberty (.lib) file.
The stimulus is written in standard SPICE format and 20
Authorized licensed use limited to: Indraprastha Institute of Information Technology. Downloaded on January 15,2021 at 18:11:24 UTC from IEEE Xplore. Restrictions apply.
[4] Dolphin Technology. Memory products.
Table 2: OpenRAM has high density compared to http://www.dolphin-ic.com/memory-products.html,
other published memories in similar technologies. 2015.
Ref. Feature Tech. Density
[5] Faraday Technologies. Memory compiler architecture.
Size [Mb/mm2 ]
http://www.faraday-tech.com/html/Product/
[10] 65 nm CMOS 0.7700 IPProduct/LibraryMemoryCompiler/index.htm, 2015.
[19] 45 nm CMOS 0.3300 [6] Global Foundries. ASICs. http://www.globalfoundries.
[12] 40 nm CMOS 0.9400 com/technology-solutions/asics, 2015.
OpenRAM 45 nm FreePDK45 0.8260 [7] R. Goldman, K. Bartleson, T. Wood, V. Melikyan,
[23] 0.5 um CMOS 0.0036 and E. Babayan. Synopsys’ educational generic
[18] 0.5 um BiCMOS 0.0020 memory compiler. In EWME, pages 89–92, May 2014.
[16] 0.5 um CMOS 0.0050 [8] T.-H. Huang, C.-M. Liu, and C.-W. Jen. A high-level
OpenRAM 0.5 um SCMOS 0.0050 synthesizer for VLSI array architectures dedicated to
digital signal processing. In International Conference
on Acoustics, Speech and Signal Processing, pages
of OpenRAM against published designs using similar tech- 1221–1224, 1991.
nology nodes. The results show the benefit of technology [9] D. Jahannsen. Bristle blocks: A silicon compiler. In
scaling and that OpenRAM has very good density in both DAC, pages 195–198, 1979.
technologies. As a comparison, a 76ns SRAM consumes [10] K. Kushida et al. A 0.7v single-supply SRAM with
3.9mW [16] while OpenRAM is much faster at 44.9ns but 0.495 um2 cell in 65nm technology utilizing
consumes 115mW for the same size. self-write-back sense amplifier and cascaded bit line
scheme. In ISVLSI, pages 46–47, June 2008.
[11] C. Ming and B. Na. An efficient and flexible
6. CONCLUSIONS embedded memory IP compiler. In CyberC, pages
This paper introduced OpenRAM, an open-source and 268–273, Oct 2012.
portable memory compiler. OpenRAM generates the cir- [12] S. Miyano et al. Highly energy-efficient SRAM with
cuit, functional model, and layout of variable-sized SRAMs. hierarchical bit line charge-sharing method using
In addition, a memory characterizer provides synthesis tim- non-selected bit line charges. JSSC, 48(4):924–931,
ing/power models. Apr 2013.
The main motivation behind OpenRAM is to promote and
[13] MOSIS. MOSIS scalable CMOS (SCMOS).
simplify memory-related research in academia. Since Open-
https://www.mosis.com/files/scmos/scmos.pdf, 2015.
RAM is open-sourced, flexible, and portable, this memory
compiler can be adapted to various technologies and is easily [14] P. Poechmueller, G. K. Sharma, and M. Glesner. A
modified to address specific design requirements. Therefore, CAD tool for designing large, fault-tolerant VLSI
OpenRAM provides a platform to implement and test new arrays. In GLSVLSI, 1991.
memory designs. [15] T. Shah. FabMem: A multiported RAM and CAM
Designs are currently being fabricated to test designs us- compiler for superscalar design space exploration.
ing the OpenRAM framework in SCMOS. We are also con- Master’s thesis, North Carolina State University, 2010.
tinuously introducing new features, such as non-6T memo- [16] N. Shibata, H. Morimura, and M. Watanabe. A 1-V,
ries, variability characterization, word-line segmenting, char- 10-MHz, 3.5-mw, 1-Mb MTCMOS SRAM with
acterization speed-up, and a graphical user interface (GUI). charge-recycling input/output buffers. JSSC,
We hope to engage an active community in the future de- 34(6):866–877, Jun 1999.
velopment of OpenRAM. [17] J. E. Stine et al. FreePDK: An open-source
variation-aware design kit. In MSE, pages 173–174,
June 2007.
7. ACKNOWLEDGMENTS [18] N. Tamba et al. A 1.5-ns 256-kb BiCMOS SRAM with
This material is based upon work supported by the Na- 60-ps 11-k logic gates. JSSC, 48(11):1344–1352, Nov
tional Science Foundation under Grant No. CNS-1205685 1994.
and CNS-1205493. Many students have contributed to the [19] S. O. Toh, Z. Guo, T. K. Liu, and B. Nikolic.
project throughout their studies including Jeff Butera, Tom Characterization of dynamic SRAM stability in 45 nm
Golubev, Seokjoong Kim, Matthew Gaalswyk, and Son Bui. CMOS. JSSC, 46(11):2702–2712, Nov 2011.
[20] M. Wieckowski. GDS Mill User Manual, 2010.
[21] S. Wu, X. Zheng, Z. Gao, and X. He. A 65nm
8. REFERENCES embedded low power SRAM compiler. In DDECS,
pages 123–124, April 2010.
[1] B. S. Amrutur and M. A. Horowitz. A replica [22] Y. Xu, Z. Gao, and X. He. A flexible embedded SRAM
technique for wordline and sense control in low-power IP compiler. In ISCAS, pages 3756–3759, May 2007.
SRAMs. JSSC, 33(8):1208–1219, Aug 1998.
[23] K. Yamaguchi et al. A 1.5-ns access time, 78 um2
[2] R. Broderson. Anatomy of a Silicon Compiler. memory-cell size, 64-kb ECL-CMOS SRAM. JSSC,
Springer, 1992. 27(2):167–174, Feb 1992.
[3] A. Cabe, Z. Qi, W. Huang, Y. Zhang, M. Stan, and
G. Rose. A flexible, technology adaptive memory
generation tool. Cadence CDNLive, 2006.
Authorized licensed use limited to: Indraprastha Institute of Information Technology. Downloaded on January 15,2021 at 18:11:24 UTC from IEEE Xplore. Restrictions apply.