mrg
e95ab66916
Update to space according to the bitcell array.
2020-09-14 12:05:45 -07:00
mrg
4482c63d6f
Fix sense amp offset index error
2020-09-11 17:12:29 -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
c07e20cbe4
Move mux select from li to m2 in sky130
2020-06-26 14:27:16 -07:00
mrg
a62b85a6b1
Update mirroring in port_data for bitcell mirrored arrays
2020-06-05 11:29:31 -07:00
mrg
fce8e878b9
Add port to col mux and simplify route with computation to fix mirror bug.
2020-06-02 13:57:41 -07:00
mrg
45b0601e4b
Fix via directions in s8 col mux
2020-06-02 11:43:31 -07:00
Joey Kunzler
0bae652be9
fix merge conflicts
2020-04-23 11:51:46 -07:00
Joey Kunzler
fed1c0bbe1
s8 col mux array
2020-04-22 16:22:34 -07:00
mrg
7995451cbb
PEP8 formatting
2020-04-20 14:45:18 -07: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
b5701af864
column_mux: 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
e143a6033f
Use layer stacks from tech file in design class and throughout
2019-12-13 14:13:41 -08:00
Hunter Nichols
3c44ce2df6
Replaced analytical characterization with graph implementation. Removed most analytical delay functions used by old chacterizer.
2019-08-08 02:33:51 -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
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
Matt Guthaus
be20408fb2
Rewrite add_contact to use layer directions.
2019-04-15 18:00:36 -07:00
Hunter Nichols
25c034f85d
Added more accurate bitline delay capacitance estimations
2019-04-09 01:56:32 -07:00
Hunter Nichols
cc5b347f42
Added analyical model test which compares measured delay to model delay.
2019-04-03 16:26:20 -07:00
Hunter Nichols
f6eefc1728
Added updated analytical characterization with combined models
2019-04-02 01:09:31 -07:00
Hunter Nichols
80a325fe32
Added corner information for analytical power estimation.
2019-03-04 19:27:53 -08:00
Hunter Nichols
0e96648211
Added linear corner factors in analytical delay model.
2019-03-04 00:42:18 -08: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
Matt Guthaus
3d2abc0873
Change default col mux size to 2. Add some comments.
2018-11-07 15:43:08 -08:00
Hunter Nichols
3bb8aa7e55
Fixed import errors with mux analytical delay model.
2018-10-26 17:37:25 -07:00
Hunter Nichols
016604f846
Fixed spacing in golden lib files. Added column mux into analytical model.
2018-10-24 00:16:26 -07: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
Michael Timothy Grimes
27427d4192
Bank level layout now works with pbitcell and 1RW. Column mux and array have been altered to accomodate multiport. Multiport changes to wordline driver were removed because they were unnecessary.
2018-09-09 22:06:29 -07:00
Matt Guthaus
e17c69be3e
Clean up new code for add_modules, add_pins and netlist/layouts.
2018-08-28 10:24:09 -07:00
Matt Guthaus
6401cbf2a6
Move place function to instance class rather than hierarchy.
2018-08-27 17:25:39 -07:00
Matt Guthaus
0daad338e4
All modules have split netlist/layout.
2018-08-27 11:13:34 -07:00
Matt Guthaus
94db2052dd
Consolidate metal pitch rules to new design class
2018-07-09 15:42:46 -07:00
Matt Guthaus
f34c4eb7dc
Convert entire OpenRAM to use python3. Works with Python 3.6.
...
Major changes:
Remove mpmath library and use numpy instead.
Convert bytes to new bytearrays.
Fix class name check for duplicate gds instances.
Add explicit integer conversion from floats.
Fix importlib reload from importlib library
Fix new key/index syntax issues.
Fix filter and map conversion to lists.
Fix deprecation warnings.
Fix Circuits vs Netlist in Magic LVS results.
Fix file closing warnings.
2018-05-14 16:15:45 -07:00
Matt Guthaus
a6c2e77bcf
Move precharge and column mux cells to pgate directory.
...
Move gnd to M3 in column mux.
Create column mux cell unit test.
2018-04-06 17:15:14 -07:00
Matt Guthaus
bab92fcf38
Rework hierarchical decoder to not be folded. Remove address from central bank bus and access via side pins now. Eight way column mux now works.
2018-03-23 08:13:20 -07:00
Matt Guthaus
7100d6f904
Organize top-level files into subdirs.
2018-02-09 10:25:24 -08:00