# Assume the area is equally divided
# Area is roughly 2800 wide and 3400 high
# Sizes:

# 3400 / 6 = ~600

# 100 on the bottom and 100 betwen macros

# sky130_sram_1kbyte_1rw1w_8x1024_8
# 452 x 443
SRAM0 200 100 N

# sky130_sram_1kbyte_1rw1w_32x256_8
# 476 x 395
SRAM1 200 700 N

# sky130_sram_2kbyte_1rw1w_32x512_8
# 680 x 414
SRAM2 200 1200 N

# sky130_sram_4kbyte_1rw1w_32x1024_8
# 690 x 667
SRAM3 200 1800 N

# sky130_sram_8kbyte_1rw1w_32x2048_8
# 1094 x 721
SRAM4 200 2600 N

# sky130_sram_16kbyte_1rw1w_32x4096_8 
#SRAM6 

# Control is 800 wide with 100 margin
# so 2000

# sram_1rw0r0w_32_256_sky130
# 473 x 220
SRAM11 2000 700 N

# sram_1rw0r0w_32_512_sky130
# 476 x 320
SRAM10 2000 1200 N

# sram_1rw0r0w_32_1024_sky130
# 801 x 348
SRAM9 2000 1800 N

# sram_1rw0r0w_64_512_sky130
# 823 x 335
SRAM8 2000 2600 N

CONTROL_LOGIC 1475 100 N
