Background Allen Tanner built an SRAM/ROM generator program back in - - PDF document

background
SMART_READER_LITE
LIVE PREVIEW

Background Allen Tanner built an SRAM/ROM generator program back in - - PDF document

memCellsF09 Single- and Double-port SRAM building blocks Background Allen Tanner built an SRAM/ROM generator program back in 2004 the ROM seems to work fine there are fabricated examples that work the SRAM isnt as good


slide-1
SLIDE 1
  • 1

memCellsF09

Single- and Double-port SRAM building blocks

Background

 Allen Tanner built an SRAM/ROM generator program back in 2004

 the ROM seems to work fine – there are

fabricated examples that work

 the SRAM isn’t as good – there are fabricated

examples that work and that don’t work

 So, I have new (tested) SRAM cells  For ROM, we’ll still use “makemem”

slide-2
SLIDE 2
  • 2

ROM ROM

slide-3
SLIDE 3
  • 3

ROM ROM

slide-4
SLIDE 4
  • 4

ROM Layout ROM Layout

slide-5
SLIDE 5
  • 5

makemem

102 vladimir:~> java -cp /uusoc/facility/cad_common/local/Cadence/lib/mem/j makemem -h makemem v2.2 Nov 8, 2004 Allen Tanner University of Utah CS6710 Enter the following: java makemem choice options Where: choice selects the creation of either ROM or SRAM. for ROM enter:-r rname : rname.rom is the file name. : for SRAM enter:-s r c : Version 1 SRAM single port. for SRAM enter:-s1 r c : Version 2 SRAM single port. for SRAM enter:-s2 r c : Version 2 SRAM dual port. for SRAM enter:-s3 r c : Version 2 SRAM triple port. : r is the number of rows (decimal). : c is the number of columns (decimal). : :-h -H : help (no processing occurs when help is requested). :-f fname : output file name. Used with .cif, .v & .il files. :-n sname rname : sname for array top cell name. : : rname for ROM (only) dockable ROM array top cell name :-t n : use tristate buffers on the outputs of ROM. :-q : output hello.txt file to find the working file directory.

makemem Limits

 Number of rows is limited to 64 by address decoder design

 Columns are not restricted

 For ROM you can add a tristate bus at the

  • utput which is another level of decoding

 width must be an even number

 SRAM has single, dual, and triple port

  • ptions
slide-6
SLIDE 6
  • 6

ROM vs. Verilog ROM vs. Verilog

slide-7
SLIDE 7
  • 7

ROM vs. Verilog ROM vs. Verilog

slide-8
SLIDE 8
  • 8

ROM vs. Verilog ROM vs. Verilog

slide-9
SLIDE 9
  • 9

ROM vs. Verilog SRAM

 Can be tricky

 Make the SRAM bit cells as small as possible  assembled into “columns”  A column is bunch of bit cells and the associated

support for writing (big drivers) and reading (pullups, sense amps, or inverters) those bits

 Column “height” is number of words in the memory  Columns are tiled in “width” to make the number of

bits in a word

 addressing hardware on the side  convert binary addresses into unary row addresses

slide-10
SLIDE 10
  • 10

SRAM example (4x8)

Address decoder Column R/W circuits SRAM cells

SRAM Cell

slide-11
SLIDE 11
  • 11

SRAM Cell SRAM Cell (4x4)

slide-12
SLIDE 12
  • 12

SRAM Column Support SRAM Column Support

slide-13
SLIDE 13
  • 13

Double-port SRAM

 One RW port, one R-only port  duplicates the read circuits for a second port

Double-port SRAM

 One RW port, one R-only port  duplicates the read circuits for a second port

slide-14
SLIDE 14
  • 14

2-port column support 2-port column support

slide-15
SLIDE 15
  • 15

2-port example (32x16) memCellsF09

 Building blocks for these SRAMs

 /uusoc/facility/cad_common/local/Cadence/lib/OA/memCellsF09

 Make sure to turn “categories” on  Things are separated into categories to keep things

  • rganized

 Both 8t (single-port) and 10t (double-port)

columns are available

 in 4, 8, 16, 32, and 64 rows  Tile them horizontally to get bits in a word  Must be even (columns are two-bits wide)

slide-16
SLIDE 16
  • 16

Address Decoders

 two kinds: static and pseudoNMOS

 static burns less power, but is slower  pseudoNMOS uses more power, but is faster  I have speed numbers, but couldn’t find them

this morning – I’ll report them next week

memCellsF09 Library

slide-17
SLIDE 17
  • 17

Memory Size Comparison

4rows by 8bits 32rows by 16bits 32rows by 16bits Dual port