mrg
3b1fe26d25
Spacing between decoder and driver for s8
2020-06-03 14:33:30 -07:00
mrg
b3b03d4d39
Hard cells can accept height parameter too.
2020-06-01 16:46:00 -07:00
mrg
4a67f7dc71
Thin-cell decoder changes.
...
Add hard decoder gates (nand, inv, pnan)
Add conditions for routing using LI layer in s8.
Generalize bus layers for decoders.
Move custom cells to own directory.
Fixed via directions, etc.
Add 4x16 hierarchical decoder and test case
2020-05-29 10:36:07 -07:00
mrg
b7c66d7e07
Changes to simplify metal preferred directions and pitches.
...
Changes to allow decoder height to be a 2x multiple of bitcell height.
Split of control logic tests.
Fixed track spacing in SRAM and channel router
PEP8 cleanup.
2020-05-10 11:32:45 -07:00
mrg
dd73afc983
Changes to allow decoder height to be a 2x multiple of bitcell height.
...
Convert to use li layer in pgates.
Fix multifinger devices with li layers.
Simplify wordline driver input routing.
Fix power pin direction option update.
PEP8 cleanup
Changes to simplify metal preferred directions and pitches.
Split of control logic tests.
2020-05-10 06:56:22 -07:00
mrg
32576fb62c
Convert wordline driver to pand2 rather than pnand2+pdriver
2020-04-22 13:27:50 -07:00
mrg
331a4f4606
Fix wire width bug in short jogs. PEP8 cleanup.
2020-04-15 09:48:42 -07:00
mrg
43dcf675a1
Move pnand outputs to M1. Debug hierarchical decoder multirow.
2020-04-14 10:52:25 -07:00
mrg
2e67d44cd7
First pass of multiple bitcells per decoder row
2020-04-10 13:29:41 -07:00
mrg
7888e54fc4
Remove dynamic bitcell multiple detection.
...
Check for decoder bitcell multiple in tech file or assume 1.
PEP8 fixes.
2020-04-09 11:38:18 -07:00
mrg
8a55c223df
Use single height for netlist_only mode
2020-04-09 09:48:54 -07:00
mrg
58fbc5351a
Change rows to outputs in hierarchical decoder
2020-04-08 17:05:16 -07:00
mrg
0c27942bb2
Dynamically try and DRC decoder for height
2020-04-08 16:45:28 -07:00
mrg
2850b9efb5
Don't force check in lib characterization. PEP8 formatting.
2020-04-02 12:52:42 -07:00
mrg
5349323acd
PEP8 cleanup. DRC/LVS returns errors.
2020-04-02 09:47:39 -07:00
mrg
a9d3548be1
Refactor drc/lvs error output
2020-04-01 15:54:06 -07:00
mrg
23501c7b35
Convert pnand+pinv to pand in decoders.
2020-03-06 13:26:40 -08:00
mrg
7ba9e09e12
Incomplete precharge layer decoupling
2020-03-04 22:23:05 +00:00
mrg
bb2305d56a
PEP8 format fixes
2020-02-28 18:24:39 +00:00
mrg
f0ecf385e8
Nwell fixes in pgates.
...
Fix minor PEP8 format fixes.
Fix nwell to be 55% of cell height.
Move contact in hierarchical decoder for DRC error.
2020-02-06 16:20:09 +00:00
mrg
400cf0333a
Pgates are 8 M1 high by default. Port data is bitcell height.
2020-01-30 03:34:04 +00:00
Matt Guthaus
ed28b4983b
Clean up and generalize layer rules.
...
Convert metalN to mN.
Generalize helper constants in modules for
space, width, enclose, etc.
Use layer stacks whever possible.
Try to remove drc() calls in liu of helper constants.
2019-12-17 11:03:36 -08:00
Matt Guthaus
e143a6033f
Use layer stacks from tech file in design class and throughout
2019-12-13 14:13:41 -08:00
Aditi Sinha
2c7aa5d0da
Non-power of 2 address decode tentative
2019-11-15 03:59:57 +00:00
Hunter Nichols
2ce7323838
Removed all unused analytical delay functions.
2019-08-06 17:09:25 -07:00
Matt Guthaus
ad35f8745e
Add direction to pins of all modules
2019-08-06 14:14:09 -07:00
Hunter Nichols
4e08e2da87
Merged and fixed conflicts with dev
2019-06-25 16:55:50 -07:00
Matt Guthaus
6e044b776f
Merge branch 'pep8_cleanup' into dev
2019-06-14 08:47:10 -07:00
Matt Guthaus
a234b0af88
Fix space before comment
2019-06-14 08:43:41 -07:00
mrg
fc12ea24e9
Add boundary to every module and pgate for visual debug.
2019-06-03 15:27:37 -07:00
Hunter Nichols
d8617acff2
Merged with dev
2019-05-15 18:48:00 -07:00
Matt Guthaus
0f03553689
Update copyright to correct years.
2019-05-06 06:50:15 -07:00
Matt Guthaus
3f9a987e51
Update copyright. Add header to all OpenRAM files.
2019-04-26 12:33:53 -07:00
Hunter Nichols
e292767166
Added graph creation and functions in base class and lower level modules.
2019-04-24 14:23:22 -07:00
Matt Guthaus
be20408fb2
Rewrite add_contact to use layer directions.
2019-04-15 18:00:36 -07:00
Hunter Nichols
0e96648211
Added linear corner factors in analytical delay model.
2019-03-04 00:42:18 -08:00
Matt Guthaus
a418431a42
First draft of sram_factory code
2019-01-16 16:15:38 -08:00
Matt Guthaus
a2a9cea37e
Make column decoder same height as control to control and supply overlaps
2018-11-28 16:59:58 -08:00
Matt Guthaus
143e4ed7f9
Change hierchical decoder output order to match changes to netlist.
2018-11-28 14:09:45 -08:00
Matt Guthaus
c43a140b5e
All control routed and DRC clean. LVS errors.
2018-11-27 17:18:03 -08:00
Matt Guthaus
bf31126679
Correct decoder output numbers to follow address order
2018-11-27 12:03:13 -08:00
Matt Guthaus
f5e68c5c32
Move power pins in hierarchical decoder to be further. Strap rails instead for redundant vias.
2018-10-20 12:54:12 -07:00
Matt Guthaus
e22e658090
Converted all submodules to use _bit notation instead of [bit]
2018-10-11 09:53:08 -07:00
Matt Guthaus
6963a1092f
Make bitcell width/height not static. Update modules to use it for pbitcell.
2018-09-04 11:55:22 -07:00
Matt Guthaus
a346bddd88
Cleanup some items with new sram_config. Update unit tests accordingly.
2018-09-04 10:47:24 -07:00
Matt Guthaus
6401cbf2a6
Move place function to instance class rather than hierarchy.
2018-08-27 17:25:39 -07:00
Matt Guthaus
8664f7a0b8
Converted all modules to not run create_layout when netlist_only
...
mode is enabled.
2018-08-27 16:42:48 -07:00
Matt Guthaus
19d46f5954
Finalized separation of netlist/layout creation.
2018-08-27 14:18:32 -07:00
Matt Guthaus
138a70fc23
Add place_inst routine.
...
Separate create netlist and layout in some modules.
2018-08-27 10:42:40 -07:00
Matt Guthaus
3f57853969
Use lower case names except for leaf cells and top level
2018-07-18 15:10:57 -07:00