Matt Guthaus
89396698ef
Non-preferred via in pnand active
2019-12-20 10:36:14 -08:00
Matt Guthaus
82496a66fe
Simplify supply code.
2019-12-20 10:35:57 -08:00
Matt Guthaus
9e8b03d6c2
Merge branch 'dev' into tech_migration
2019-12-19 16:23:22 -08:00
Matt Guthaus
d2461e5011
Supply indexing bug resolved. Recompute width/height basted on insts.
2019-12-19 16:19:21 -08:00
Matt Guthaus
0da8164ea6
Remove some unnecessary via directions.
2019-12-19 13:54:50 -08:00
Matt Guthaus
b7d78ec2ec
Fix ptx active contact orientation to non-default M1 direction.
2019-12-19 12:54:10 -08:00
Bastian Koppelmann
11760a9993
sram_factory: Add check for duplicate module name
...
sram_factory cannot handle duplicate module name, thus we bail out and
raise an error if a user attempts that.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-19 16:31:52 +01:00
Bastian Koppelmann
1df16eceb6
sram_factory: Give proper priority to overrides
...
modules overridden by the user are the highest priority, then modules
overridden by the technology. If nothing is overriden, use the defaults
from OPTS (if they exist) or use the requested module_type.
This fixes that custom tech_modules could not be used, if they had a default in
OPTS even if the latter was not overridden by the user.
We don't need extra defaults in the tech_modules, as we now only use them,
if they have been overridden by the tech_module.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-19 15:58:00 +01:00
Matt Guthaus
36cb675150
Fix minwidth for multiple via bug.
2019-12-18 09:30:00 -08:00
Bastian Koppelmann
fab963701b
sram_base: Instantiate "dff_array" and "bank" through sram_factory
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-18 17:33:50 +01:00
Bastian Koppelmann
451ef4d896
sram_factory: Allow a prefered module name
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-18 17:33:47 +01:00
Bastian Koppelmann
de6b207798
hierachy_layout: Move number of via arg to add_power_pins()
...
this allows custom modules to state how many vias they need
for power rails.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-18 17:33:43 +01:00
Matt Guthaus
aceaa9fb21
Standardize contact names.
2019-12-17 15:55:20 -08:00
Matthew Guthaus
8e151553e4
Update contact types.
...
Use preferred directions in tech files.
Programmatically generate based on interconnect stacks.
2019-12-17 23:45:07 +00:00
Matthew Guthaus
fc4685c7f7
Cleanup.
2019-12-17 23:07:01 +00:00
Matthew Guthaus
449b0a7c28
Make wire test programmatic
2019-12-17 22:36:38 +00:00
Matt Guthaus
c025ce6356
Add li to preferred direction
2019-12-17 14:06:23 -08:00
Matt Guthaus
24546461ad
Fix over-writing of active spacing rule.
2019-12-17 11:23:59 -08: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
a79d03fef4
Remove poly contact
2019-12-16 17:18:49 -08:00
Matt Guthaus
d3a2c46cb9
Remove some contact tests
2019-12-16 17:15:29 -08:00
Matt Guthaus
6058af994c
Fix ignore gds files
2019-12-16 15:39:32 -08:00
Matt Guthaus
3eb0dad06a
Remove cells from DRC/LVS in the blackbox tech list.
2019-12-16 15:33:30 -08:00
Matt Guthaus
acbbbe9403
Make exception more readable.
2019-12-16 12:07:40 -08:00
Matt Guthaus
f30d0b9197
Fix KeyError for bitell types.
2019-12-16 12:04:33 -08:00
Matt Guthaus
5176a70f84
Add comments to module importing routines
2019-12-16 10:21:24 -08:00
Matt Guthaus
2a9129ef45
Small fix to tech and config over-rides
2019-12-16 10:11:26 -08:00
Matt Guthaus
be4893839b
Remove old drc/lvs override name
2019-12-16 10:05:52 -08:00
Bastian Koppelmann
306c0b92c3
globals: Add tech module path to Pythonpath if it exists
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-16 16:56:16 +01:00
Bastian Koppelmann
74cd4f989d
Remove hardcoded module class names
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-16 16:56:06 +01:00
Bastian Koppelmann
233ec010ff
modules: Create a class that wraps all the module class names
...
this removes hard coded values from the module instatiations. It also allows
users to override certain modules with their custom cells.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-16 16:51:38 +01:00
Matt Guthaus
f71cfe0d9d
Generalize active and poly stacks
2019-12-13 14:56:14 -08:00
Matt Guthaus
e143a6033f
Use layer stacks from tech file in design class and throughout
2019-12-13 14:13:41 -08:00
Matt Guthaus
8d3f1d19cb
Fix missing rule
2019-12-11 18:02:32 -08:00
Matt Guthaus
76f7019432
Merge branch 'dev' into tech_migration
2019-12-11 17:59:51 -08:00
Matt Guthaus
e048ada23c
Abstract basic DRC checks
2019-12-11 17:56:55 -08:00
Matt Guthaus
f9a66e86b4
Add npc option to contact
2019-12-11 09:09:59 -08:00
Matt Guthaus
31de5ab87e
Merge remote-tracking branch 'bkoppelmann/master' into dev
2019-12-11 08:46:52 -08:00
Bastian Koppelmann
928b02aa1f
gdsMill: Fix reader/writer ignoring the 'DATATYPE' of 'PATH' records
...
most readers (like KLayout/Calibre) will not open gds files omiting the
DATATYPE.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-11 10:47:38 +01:00
Matt Guthaus
4a1b10ff0d
Remove extra cast
2019-12-05 21:33:13 -08:00
Matthew Guthaus
f3286fb0c2
Don't add boundary to ptx
2019-12-06 02:37:12 +00:00
Matthew Guthaus
5af22b79e2
Only add boundary for if there's a DRC stdc layer
2019-12-06 02:17:58 +00:00
Matt Guthaus
53c72c6054
Merge branch 'tech_migration' of github.com:VLSIDA/PrivateRAM into tech_migration
2019-12-05 15:41:56 -08:00
Matt Guthaus
d150b165de
Merge branch 'tech_migration' of github.com:VLSIDA/PrivateRAM into tech_migration
2019-12-05 15:38:29 -08:00
Matt Guthaus
b1d8a35aa7
Add contact variation
2019-12-05 15:38:25 -08:00
Matthew Guthaus
3deeaf7164
Decrease verbosity of boundary layer
2019-12-05 23:33:23 +00:00
Matthew Guthaus
7397f110c5
Add bbox for special DRC rule boundary
2019-12-05 23:14:25 +00:00
Matthew Guthaus
8f473b26a9
Add replica bitcell test for 1 port
2019-12-05 01:14:06 +00:00
Matthew Guthaus
d519c00aa1
Fix contact order in test
2019-12-05 01:06:31 +00:00
Matt Guthaus
69bb245f28
Updates to gdsMill/tech layers
...
Create active and poly contact types.
Define standard cell boundary option.
DataType and PurposeLayer are the same. Text must have type 0.
Remove vector from vlsiLayout. More debug in reader.
2019-12-04 16:12:53 -08:00
Matt Guthaus
0d35941241
Fix missing dbUnit conversion in gdsMill
2019-12-03 12:06:58 -08:00
Matt Guthaus
7b9e7ff35b
Nominal corner only for sim tests. Netlist only for speed.
2019-11-30 12:48:25 -08:00
Matt Guthaus
615c24f7bc
Merge branch 'dev' into tech_migration
2019-11-30 12:38:35 -08:00
Matt Guthaus
6ef1b6a4ec
Blackbox option for DRC waivers
2019-11-29 15:50:32 -08:00
Matt Guthaus
46c2cbd2d9
Check nominal_corner_only in new corner creation routine
2019-11-29 14:47:02 -08:00
Matt Guthaus
bedae87315
Only use max/min and typical corner
2019-11-29 13:31:44 -08:00
Matt Guthaus
2a912dab7a
Remove unused config files
2019-11-29 12:35:35 -08:00
Matt Guthaus
0cdd3af1aa
Change default nominal corners to false and enable in test config.
2019-11-29 12:08:53 -08:00
Matt Guthaus
d511f648c6
Move DRC/LVS/PEX tools to tech file.
2019-11-29 12:01:33 -08:00
Matt Guthaus
abd8b0a23a
Only setup bitcell when running top-level OpenRAM
2019-11-26 13:54:37 -08:00
Matt Guthaus
b71d630643
None for layer means unused.
2019-11-26 13:34:39 -08:00
Matt Guthaus
04045cf672
Fix syntax error
2019-11-26 13:24:19 -08:00
Matt Guthaus
f4599b7121
Default tools are calibre except for SCMOS
2019-11-26 13:23:18 -08:00
Matt Guthaus
102758881a
Use layer instead of special flags for wells
2019-11-26 13:22:52 -08:00
Matt Guthaus
909321326d
Ignore unused layers
2019-11-26 13:21:29 -08:00
Matt Guthaus
67a0928303
Merge branch 'dev' into tech_migration
2019-11-21 11:02:33 -08:00
Matt Guthaus
982e12be5e
Increment minor version
2019-11-21 11:00:22 -08:00
Matt Guthaus
807923cbf1
Ignore pycache dirs. Fix output error message.
2019-11-21 10:11:19 -08:00
Matt Guthaus
190c5a078e
Fix permissions on pwrite_driver test
2019-11-20 11:49:39 -08:00
Matt Guthaus
3364f47e56
Fix wrong supply voltage in config files.
2019-11-20 09:50:27 -08:00
Matt Guthaus
240c416100
Remove extra print
2019-11-17 10:40:01 -08:00
Matthew Guthaus
cdf01c6c23
Fix test 30 for generic configs
2019-11-17 00:49:38 +00:00
Matthew Guthaus
b3fb4e3183
Make unit test configs generic to tech_name
2019-11-17 00:44:31 +00:00
Matthew Guthaus
b3b3cf0210
Merge remote-tracking branch 'origin/dev' into tech_migration
2019-11-17 00:15:18 +00:00
Matthew Guthaus
aca99b87bc
Fix config for tests 30
2019-11-16 22:22:30 +00:00
Matthew Guthaus
0b3d2fe9de
Undo pdriver size change for now.
2019-11-16 19:54:39 +00:00
Matthew Guthaus
c4cf8134fe
Undo changes for config expansion. Change unit tests to use OPENRAM_HOME.
2019-11-15 18:47:59 +00:00
Aditi Sinha
2c7aa5d0da
Non-power of 2 address decode tentative
2019-11-15 03:59:57 +00:00
Matthew Guthaus
7e9d08206c
Fix config import to be location independent
2019-11-14 20:18:18 +00:00
Matthew Guthaus
131f4bda4a
Add layer-purpose GDS support. Various PEP8 fixes.
2019-11-14 18:17:20 +00:00
Matthew Guthaus
bba6995653
Call debugger if debug_level more than 0 and an error.
2019-11-08 19:42:09 +00:00
Matthew Guthaus
8d158e9eb5
Fix lpp change
2019-11-08 15:45:25 +00:00
Matthew Guthaus
32f1cde897
PEP8 formatting
2019-11-07 16:48:37 +00:00
Matthew Guthaus
0dea153919
PEP8 formatting
2019-11-07 16:33:13 +00:00
Matthew Guthaus
a2422cc8d4
Sometimes round down pdriver to fix polarity
2019-11-06 21:51:21 +00:00
Matthew Guthaus
35e65fc6f2
PEP8 wordline driver
2019-11-06 21:19:36 +00:00
Matthew Guthaus
04af5480d2
Add skeleton files for pwrite_driver
2019-10-30 21:34:03 +00:00
Matt Guthaus
38213d998f
Add separate layer and purpose pairs to tech layers.
2019-10-25 10:03:25 -07:00
Matt Guthaus
764d4da1bd
Clean up config file organization. Improve gdsMill debug output.
2019-10-23 10:48:18 -07:00
Matt Guthaus
ccc6a67021
Update version to 1.1.2
2019-10-07 12:28:02 -07:00
Matt Guthaus
84c7146792
Fix some pep8 errors/warnings in pgate and examples.
2019-10-06 17:30:16 +00:00
vagrant
67c768d22c
Refactor bitcell to bitcell_base. Pep8 format bitcells.
2019-10-06 01:08:23 +00:00
Hunter Nichols
d722311822
Merge branch 'dev' into update_scmos_models
2019-10-03 13:16:32 -07:00
mrg
d583695959
Remove some flake8 errors/warnings.
2019-10-02 23:26:02 +00:00
Hunter Nichols
b420f77ff1
Updated leakage power golden data in hspice delay test.
2019-10-01 15:26:34 -07:00
Hunter Nichols
19a09470d4
Merged with dev, conflict in golden data of hspice delay test.
2019-10-01 14:26:34 -07:00
Hunter Nichols
7b029a4582
Updated golden values in delay tests due to model changes.
2019-09-30 14:02:00 -07:00
Matt Guthaus
b0dcfb5b2d
Fix leakage mismatch in results.
2019-09-27 15:14:01 -07:00
Matt Guthaus
289d3b3988
Feedthru port edits.
...
Comment about write driver size for write through to work, but
disable write through in functional simulation.
Provide warning in Verilog about write throughs.
2019-09-27 14:18:49 -07:00
Matt Guthaus
cbbcb97a10
Merge branch 'dev' into feedthru
2019-09-27 09:42:51 -07:00
Matt Guthaus
99507ba5c5
Remove rbl_bl_delay_bar from w_en logic inputs.
2019-09-07 23:22:01 -07:00
Matt Guthaus
9ec663e0b1
Write all write ports first cycle. Don't check feedthru.
2019-09-07 20:20:44 -07:00
Matt Guthaus
35a8dd2eec
Factor out masking function
2019-09-07 20:05:05 -07:00
Matt Guthaus
322af0ec09
Remove sense enable during writes
2019-09-07 20:04:48 -07:00
Matt Guthaus
e5db02f7d8
Fix wrong function. Except unknown ports.
2019-09-06 14:59:23 -07:00
Matt Guthaus
93c89895c9
Remove unused test structures
2019-09-06 14:58:47 -07:00
Matt Guthaus
b5b0e35c8a
Fix syntax error.
2019-09-06 12:29:28 -07:00
Matt Guthaus
86c22c8904
Clean and simplify simulation code. Feedthru check added.
2019-09-06 12:09:12 -07:00
Matt Guthaus
6bee66f9dc
Forgot to add cs_bar to rw port rails.
2019-09-06 09:29:23 -07:00
Matt Guthaus
969cca28e4
Enable sensing during writes. Need to add dedicated test.
2019-09-06 07:16:50 -07:00
jsowash
1c65b90c70
Merge branch 'dev' into add_wmask
2019-09-05 09:15:05 -07:00
Matt Guthaus
678b2cc3fa
Fix functional test clk name
2019-09-04 18:59:08 -07:00
Matt Guthaus
4c3b171b72
Share nominal temperature and voltage. Nominal instead of typical.
2019-09-04 16:53:58 -07:00
jsowash
8c33749223
Uncommented offset_all_coordinates.
2019-09-04 16:41:27 -07:00
jsowash
febc053587
Moved SRAM macro in LEF file to origin and removed poly.
2019-09-04 16:11:12 -07:00
Matt Guthaus
585ce63dff
Removing unused tech parms. Simplifying redundant parms.
2019-09-04 16:08:18 -07:00
Matt Guthaus
8c601ce939
Model tests don't need layout
2019-09-04 16:06:12 -07:00
Matt Guthaus
c5568e86fe
Enable spice and don't purge option to test 30
2019-09-04 14:33:25 -07:00
jsowash
fbecb9bc02
Added poly to LEF files.
2019-09-04 14:06:17 -07:00
jsowash
d6e7047e2f
Added metal4 to lef files since it's now used with a wmask.
2019-09-04 13:04:51 -07:00
Matt Guthaus
eadb5d5e48
Allow gds file for front end with new options
2019-09-04 10:26:54 -07:00
jsowash
496a9919b8
Added wmask as a type group to .lib.
2019-09-04 09:45:11 -07:00
jsowash
452cc5e443
Added wmask to lib.py.
2019-09-04 09:29:45 -07:00
jsowash
1a72070f04
Removed LVS error where w_en went over whole AND array in 2 port.
2019-09-03 17:14:31 -07:00
jsowash
4c40804b8f
Moved via in write driver up for 2 port.
2019-09-03 15:14:41 -07:00
jsowash
abb86c338b
Added port specification.
2019-09-03 14:52:43 -07:00
jsowash
dd67490823
Changed routing to allow for 2 write port with write mask.
2019-09-03 14:43:03 -07:00
jsowash
01bdea23ae
Merge branch 'add_wmask' of https://github.com/VLSIDA/PrivateRAM into add_wmask
2019-09-03 11:50:57 -07:00
jsowash
b5ca417b26
Added fix for column mux lib generation.:
2019-09-03 11:50:39 -07:00
jsowash
4a8ec7a687
Added 2 port test for wmask.
2019-09-03 11:49:37 -07:00
Matt Guthaus
69c5608b53
Allow gds to be written with supplies off. Fix extraction bug with new options.
2019-09-03 11:23:35 -07:00
jsowash
e8435d0d83
Added test for picorv32 memory without characterization.
2019-08-30 11:24:20 -07:00
jsowash
e3b42430bd
Changed max_gap_size_wmask to take into account column ffs.
2019-08-29 17:09:17 -07:00
jsowash
bbe235074c
Added max gap size for wmask and edited max gap size for data ff's to take into account m3 spacing.
2019-08-29 16:41:58 -07:00
Matt Guthaus
a78245786c
Merge branch 'add_wmask' of github.com:VLSIDA/PrivateRAM into add_wmask
2019-08-29 16:06:39 -07:00
Matt Guthaus
7fe9e5704d
Convert vcg and nets to ordered dict
2019-08-29 16:06:34 -07:00
jsowash
37116ce9d8
Increased spacing between wmask and data dffs.
2019-08-29 16:00:50 -07:00
jsowash
c1906ade3f
Removed A pin's via connection since it's created in the SRAM level and rearranged the SRAM flip flop creation.
2019-08-29 14:48:13 -07:00
jsowash
af3d2af0ec
Merge branch 'dev' into add_wmask
2019-08-29 12:56:11 -07:00
jsowash
f13c8eae8d
Moved column mux ff's to be horizontal with wmask flip flops and adjusted wmask AND array en pin location starting point.
2019-08-29 11:07:42 -07:00
jsowash
5099ff6f6c
Changed A/Z pins to copy_layout_pin and made en (B) pin a single pin.
2019-08-29 09:01:35 -07:00
Matt Guthaus
64fc771fc4
Simplify is not None
2019-08-22 15:02:52 -07:00
Matt Guthaus
ee2456f433
Merge branch 'add_wmask' into dev
2019-08-22 15:01:41 -07:00
Matt Guthaus
bdf29c3a26
Fix non-preferred route width again. This time it is likely right.
2019-08-22 13:57:14 -07:00
Matt Guthaus
560d768010
Fix syntax error in router
2019-08-22 13:46:32 -07:00
Matt Guthaus
afaa946f9c
Fix width of non-preferred trunk wire
2019-08-22 12:03:38 -07:00
jsowash
27ec617315
Fixed M1.5 error in 8mux tests which came from pdriver.
2019-08-22 09:34:53 -07:00
Matt Guthaus
2ffdfb18a4
Fix trunks less than a pitch in channel route
2019-08-21 17:11:02 -07:00
jsowash
a8df5528f9
Added 2 mux test for wmask.
2019-08-21 16:06:36 -07:00
Matt Guthaus
98f526427e
Merge branch 'add_wmask' of github.com:VLSIDA/PrivateRAM into add_wmask
2019-08-21 15:33:03 -07:00