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
64bf93e4e5
bank: Connect instances by their individual bl/br names
...
each module should be able to state how their bl/br lines are named. Here we
always connect port_data with the bitcell_array, so port_data needs function
that return the names of bl/br.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-12 15:00:50 +01:00
mrg
f7915ec55e
Route to top of NMOS to prevent poly overlap nmos
2020-02-10 17:12:39 +00:00
mrg
4b06ab9eaf
Move port 2 column address bus down.
...
PEP 8 cleanup.
2020-02-06 19:46:10 +00:00
mrg
5e514215d5
Force vertical vias on pnand3
2020-02-06 16:44:19 +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
596302d9a9
Update pgate well and well contacts.
...
Extend well left and right past a cell boundary.
Use asymmetric well contacts.
2020-02-05 18:22:45 +00:00
mrg
304971ff60
Fix ptx so nmos and pmos have same active offset and gates align
2020-02-04 17:38:35 +00:00
mrg
34c9b3a0a5
Fix well offset computation for PMOS
2020-02-03 17:37:53 +00:00
mrg
400cf0333a
Pgates are 8 M1 high by default. Port data is bitcell height.
2020-01-30 03:34:04 +00:00
mrg
79391b84da
Cleanup and rename vias.
2020-01-30 01:45:33 +00:00
Bastian Koppelmann
90a4a72bba
modules: Use add_power_pin API for all modules
...
sense_amp_array, write_driver_array, and single_column_mux were the only offenders.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 11:47:49 +01:00
mrg
71cbe74017
Round middle position fix
2020-01-24 18:00:28 +00:00
mrg
9beb0f4ece
Add separate well design rules.
...
Needed to fix various pgates with wells.
Did some cleanup of these gates as well.
2020-01-23 19:43:41 +00:00
Matthew Guthaus
a6f5e59e18
Remove unused layers and simplify layer check to work without it.
2019-12-23 21:49:47 +00:00
Matthew Guthaus
082f575e2a
Use active_width in ptx again despite colliding with DRC rule
2019-12-23 21:45:09 +00:00
Matthew Guthaus
bec12f5b94
Cleanup.
2019-12-23 21:16:08 +00:00
Matt Guthaus
4ad920eaf7
Small fixes to tech usage.
2019-12-23 08:42:52 -08:00
Matt Guthaus
89396698ef
Non-preferred via in pnand active
2019-12-20 10:36:14 -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
Matt Guthaus
aceaa9fb21
Standardize contact names.
2019-12-17 15:55:20 -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
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
e048ada23c
Abstract basic DRC checks
2019-12-11 17:56:55 -08:00
Matthew Guthaus
f3286fb0c2
Don't add boundary to ptx
2019-12-06 02:37:12 +00:00
Matthew Guthaus
7397f110c5
Add bbox for special DRC rule boundary
2019-12-05 23:14:25 +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
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
102758881a
Use layer instead of special flags for wells
2019-11-26 13:22:52 -08:00
Matthew Guthaus
04af5480d2
Add skeleton files for pwrite_driver
2019-10-30 21:34:03 +00:00
Matt Guthaus
84c7146792
Fix some pep8 errors/warnings in pgate and examples.
2019-10-06 17:30:16 +00:00
Matt Guthaus
585ce63dff
Removing unused tech parms. Simplifying redundant parms.
2019-09-04 16:08:18 -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
2b7025335c
Use pand2 of correct size. Simplify width checking of AND array.
2019-08-21 11:20:35 -07:00
Matt Guthaus
54ab9440db
Use pdriver instead of pinv in pand gates.
2019-08-21 10:18:46 -07:00
Hunter Nichols
d273c0eef5
Merge branch 'dev' into analytical_cleanup
2019-08-08 13:20:27 -07:00
Hunter Nichols
fc1cba099c
Made all cin function relate to farads and all input_load relate to relative units.
2019-08-08 01:57:04 -07:00
Matt Guthaus
275891084b
Add pand3
2019-08-07 16:33:29 -07:00
Matt Guthaus
c2655fcaa9
Update pnor2 to new placement logic
2019-08-07 16:01:05 -07:00
Hunter Nichols
6860d3258e
Added graph functions to compute analytical delay based on graph path.
2019-08-07 01:50:48 -07: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
mrg
8b0b2e2817
Merge branch 'dev' into rbl_revamp
2019-07-03 14:05:28 -07:00
mrg
bc4a3ee2b7
New port_data module works in SCMOS
2019-07-03 13:17:12 -07:00
Hunter Nichols
4e08e2da87
Merged and fixed conflicts with dev
2019-06-25 16:55:50 -07:00
Hunter Nichols
4f3340e973
Cleaned up graph additions to characterizer.
2019-06-25 16:37:35 -07:00
Matt Guthaus
6e044b776f
Merge branch 'pep8_cleanup' into dev
2019-06-14 08:47:10 -07:00