Eren Dogan
96e57507bf
Add copyright check to code format test
2022-11-30 14:50:43 -08:00
Eren Dogan
fccdc3c45b
Use library imports globally
2022-11-27 13:01:20 -08:00
mrg
d92c7a634d
Use packages for imports.
...
Must set PYTHONPATH to include OPENRAM_HOME now.
Reorganizes subdirs as packages.
Rewrites unit tests to use packages.
Update README.md with instructions, dependencies etc.
Update sky130 module imports.
Change tech specific package from modules to custom.
2022-07-13 15:55:57 -07:00
mrg
b1bb9151c4
Reimplement off grid pins.
...
Long pins aren't accessed on end pins anymore.
Fix problem with multiple non-enclosed space causing blockages.
Add partial pin offgrid enclosure algorithm.
2022-05-02 15:43:14 -07:00
mrg
5e546ee974
New power strapping mostly working.
...
Each module uses M3/M4 power straps with pins on the ends.
Works in all technologies for a single no mux, dual port SRAM.
2022-04-05 13:51:55 -07:00
mrg
7e7670581c
Add some vertical/horizontal pins for sky130 only
2022-03-16 07:58:29 -07:00
mrg
d69e55c2e3
Power routing changes.
...
Make the power rails an "experimental_power" option and conditional.
Rename route_vdd_gnd to route_supplies everywhere for consistency.
2022-03-06 09:56:00 -08:00
mrg
f7e3672c89
Route horizontal supplies in write driver.
2022-03-01 14:37:51 -08:00
mrg
2520d9f590
Remove commented code in precharge array
2022-02-25 16:21:12 -08:00
mrg
7b77378927
Add layer to horizontal pin help and use in precharge
2022-02-25 10:45:25 -08:00
mrg
baf369fc96
Convert power to rails rather than pins in sense amp and precharge
2022-02-23 14:06:49 -08:00
mrg
0c3ee643ab
Remove add_mod and add module whenever calling add_inst.
2021-11-22 11:33:27 -08:00
Jesse Cirimelli-Low
4ea0fcd068
support multi cell wide precharge cells
2021-04-23 22:49:29 -07:00
mrg
b6f3fbdd1f
Use OPTS.precharge instead of hard coded precharge.
2021-03-15 09:44:14 -07:00
Matt Guthaus
30fc81a1f0
Update copyright year.
2021-01-22 11:23:28 -08:00
mrg
8021430122
Fix pbitcell erros
2020-11-13 15:55:55 -08:00
mrg
da721a677d
Remove EOL whitespace globally
2020-11-03 06:29:17 -08:00
mrg
e95ab66916
Update to space according to the bitcell array.
2020-09-14 12:05:45 -07:00
mrg
8909ad7165
Update modules to use variable bit offsets.
...
Bitcell arrays can return the bit offsets.
Port data and submodules can use offsets for spacing.
Default spacing for port data if no offsets given.
2020-09-11 15:36:22 -07:00
Hunter Nichols
73b2277daa
Removed dead code related to older characterization scheme
2020-08-27 17:30:58 -07:00
mrg
30976df48f
Change inheritance inits to use super
2020-08-06 11:33:26 -07:00
mrg
459e3789b8
Change control layers in sky130.
2020-06-29 16:23:25 -07:00
mrg
2bd498c39c
Change precharge layer to m3
2020-06-27 08:21:30 -07:00
mrg
9cc36c6d3a
Bus code converted to pins. Fix layers on control signal routes in bank.
2020-06-08 11:01:14 -07:00
mrg
a62b85a6b1
Update mirroring in port_data for bitcell mirrored arrays
2020-06-05 11:29:31 -07:00
mrg
34209dac3d
A port option for correct mirroring in port_data.
2020-06-02 16:50:07 -07:00
mrg
fdf51c5a00
Add port option to precharge array
2020-06-02 11:44:22 -07:00
mrg
7956b63d9f
Add licon option to precharge
2020-04-01 11:26:45 -07:00
mrg
287a31f598
Precharge updates.
...
Enable different layers for bitlines.
Jog bitlines to fit precharge transistors for close proximity bitlines.
PEP8 cleanup.
2020-03-04 17:39:11 -08:00
Bastian Koppelmann
5e1f64c8f9
modules/port_data: Add get_bl/br_name method
...
if we rely on the names of the submodules (sense_amp_array,
write_driver_array, etc.) for port_data's pins, we get into trouble on
multiport SRAMs. To avoid this we use explicit names for br/bl depending
on the port number in port_data. Now each submodule does no longer need to
figure out the right name depending on the port number.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-17 14:18:32 +01:00
Bastian Koppelmann
f9babcf666
port_data: Each submodule now specifies their bl/br names
...
before the names of bl/br from the bitcell were assumed. If we want to
allow renaming of bl/br from bitcells, we have to seperate the other
modules from that. Note, that we don't touch every occurence of bl/br,
but only the once necessary that pin renaming of the bitcell works.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-12 15:00:50 +01:00
Bastian Koppelmann
ed66fca031
write_driver/sense_amp/precharge arrays: Allow y axis mirroring
...
since the bitlines alternate in the bitcell array we also need to mirror
the port_data elements.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 15:51:39 +01: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
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
0c3baa5172
Added some comments to the spice files.
2019-01-25 15:00:00 -08:00
Matt Guthaus
a418431a42
First draft of sram_factory code
2019-01-16 16:15:38 -08:00
Hunter Nichols
722bc907c4
Merged with dev. Fixed conflicts in tests.
2018-12-02 23:09:00 -08:00
Matt Guthaus
d99dcd33e2
Fix SRAM level control routing errors.
2018-11-28 15:30:52 -08:00
Matt Guthaus
c45f990413
Change en to en_bar in precharge. Fix logic for inverted p_en_bar.
2018-11-27 14:17:55 -08:00
Hunter Nichols
8957c556db
Added sense amp enable delay calculation.
2018-11-08 23:54:18 -08:00
Matt Guthaus
ce8c2d983d
Update all drc usages to call function type
2018-10-12 14:37:51 -07:00
Matt Guthaus
e22e658090
Converted all submodules to use _bit notation instead of [bit]
2018-10-11 09:53:08 -07:00