mrg
4991693f1a
Clean up min area
2021-01-13 12:32:17 -08:00
mrg
01d312d65c
Refactor add power pins
2021-01-13 10:57:12 -08:00
mrg
7eb1e2f2d1
Keep previous pin shapes which were used in router pin connections.
2021-01-06 11:31:16 -08:00
mrg
94b1e729ab
Don't add vias when placing dff array
2020-12-22 17:08:53 -08:00
mrg
286ac635d6
Escape router changes.
...
Rename exit router to escape router.
Perform supply and signal escape routing after channel and other routing.
2020-12-22 16:35:05 -08:00
mrg
52119fe3b3
Cleanup exit route. Pins are on perimeter mostly.
2020-12-22 15:56:51 -08:00
mrg
ae1c889235
Updates to IO signal router.
...
Route signals to perimeter using maze router.
Move IO pins without perimeter pins to M3 using add_io_pin (like add_power_pin).
2020-12-22 09:39:58 -08:00
mrg
6101195b51
Function to remove layout pins.
2020-12-21 12:44:04 -08:00
mrg
878a9cee8a
Add channel routes as flat instances to appease Magic extraction.
2020-12-15 16:01:39 -08:00
mrg
fd118c62e5
Default zom is None not negative.
2020-12-15 13:27:36 -08:00
mrg
a2ebaf9f81
Fix typo
2020-12-08 10:31:39 -08:00
mrg
35c162acbd
Use internal pin names in path names for signal traces.
2020-11-19 08:45:09 -08:00
mrg
fbed738b4a
Merge multiple cell_name fix.
2020-11-18 16:27:28 -08:00
mrg
baae28194b
Add custom cell custom port order code. Update setup/hold to use it.
2020-11-17 11:12:59 -08:00
mrg
86799ae3ff
Small bug fixes related to new name mapping.
2020-11-16 13:42:42 -08:00
mrg
1d729e8f02
Move pin name mapping to layout class.
2020-11-16 11:04:03 -08:00
mrg
93e94e26ec
Get vdd/gnd from properties if it is defined.
2020-11-16 10:14:37 -08:00
mrg
1890385be1
Use custom cells when needed.
2020-11-03 11:58:25 -08:00
mrg
da721a677d
Remove EOL whitespace globally
2020-11-03 06:29:17 -08:00
mrg
fa89b73ef8
PR from mithro + other changable GDS file names
2020-11-02 16:00:16 -08:00
mrg
07ef43eaf8
Convert design class data to static
2020-10-27 09:23:11 -07:00
mrg
27d921d2db
Fix run-time bug for duplicate instance check
2020-10-06 16:26:35 -07:00
mrg
b81cdab0d6
Use unique instance names for channel routes.
2020-10-01 07:43:06 -07:00
mrg
bd125e2ed3
Check for duplicate instance names.
2020-10-01 07:17:16 -07:00
mrg
c7d32089f3
Create RBL wordline buffer with correct polarity.
2020-09-17 14:45:49 -07:00
jcirimel
714b57d48e
Merge branch 'dev' into pex
2020-08-17 17:48:21 -07:00
jcirimel
df4a231c04
fix merge conflicts
2020-07-21 11:38:34 -07:00
mrg
f87b427f76
Add parent to channel route for dumpign debug gds.
2020-07-20 12:03:25 -07:00
mrg
c340870ba0
Channel route dout wires as well in read write ports
2020-07-01 14:44:01 -07:00
mrg
3d0f29ff3a
Fix missing via LVS issues. LVS passing for some 20 tests.
2020-07-01 09:22:59 -07:00
mrg
c1fedda575
Modifications for min area metal.
...
Made add_via_stack_center iterative instead of recursive.
Removed add_via_stack (non-center) since it isn't used.
Add min area metal during iterative via insertion.
2020-06-30 15:07:34 -07:00
mrg
8cedeeb3d9
Widen pitch of control bus in bank.
2020-06-30 10:57:41 -07:00
mrg
07d0f3af8e
Only copy end-cap pins to the bank level
2020-06-29 11:46:59 -07:00
mrg
709535f90f
Fix right perimeter pin coordinate bug
2020-06-28 14:47:17 -07:00
mrg
94d7000717
Reduce output clutter from gds write
2020-06-26 12:16:54 -07:00
mrg
f11afaa63d
Refactor channel route to be a design.
2020-06-25 17:30:03 -07:00
mrg
4bc3df8931
Add get_tx_insts and expand add_enclosure
2020-06-24 11:54:36 -07:00
mrg
031862c749
Add metal enclosure to base case of center via stack.
2020-06-23 11:56:50 -07:00
mrg
78be9f367a
Add brain-dead router pins to perimeter
2020-06-14 15:52:09 -07:00
mrg
8f1dc7eeea
Include mirror/rotate on translate_all boundary update
2020-06-13 06:50:53 -07:00
mrg
443b8fbe23
Change s8 to sky130
2020-06-12 14:23:26 -07:00
mrg
e9780ea599
Add non-preferred directions for channel routes
2020-06-11 15:03:36 -07:00
mrg
089331ced3
Add stdc bounding box too
2020-06-11 11:54:16 -07:00
mrg
5e3332453b
Allow power pins to start on any layer besides m1
2020-06-10 10:15:23 -07:00
mrg
148521c458
Remove stdc layer
2020-06-09 13:48:47 -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
2fcecb7227
Variable zjog. 512 port address test. s8 port address working.
2020-06-04 16:01:32 -07:00
Joey Kunzler
7a602b75a4
keep dev routing changes to hierarchy_layout
2020-06-03 12:54:15 -07:00
Joey Kunzler
84021c9ccb
merge conflict 2 - port data
2020-06-02 16:32:08 -07:00
Joey Kunzler
001bf1b827
merge conflict - port data
2020-06-02 14:15:39 -07:00
mrg
620604603c
Fixed offset jogs
2020-06-02 10:08:37 -07:00
Joey Kunzler
b39579c109
temp drc fix for regression tests
2020-06-01 20:55:15 -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
Joey Kunzler
9a6b38b67e
merge conflict
2020-05-26 16:03:36 -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
Joey Kunzler
e642b8521b
increase col_mux bitline spacing to fix cyclic vcg
2020-05-06 13:02:33 -07:00
Joey Kunzler
91dbbed9ba
added horizontal trunk route edit to vertical trunk route
2020-05-05 12:18:26 -07:00
Joey Kunzler
1b6634bb97
port data routing fix
2020-04-29 15:48:15 -07:00
Joey Kunzler
0bae652be9
fix merge conflicts
2020-04-23 11:51:46 -07:00
mrg
dfbf6fe45c
Default is to use preferred layer directions
2020-04-20 15:33:53 -07:00
mrg
7f65176908
Configured bitline directions into prot_data
2020-04-20 14:23:40 -07:00
Joey Kunzler
7920b0cef9
m3 min area rounding fix
2020-04-17 12:36:48 -07:00
mrg
94eb2afa36
Change to callable DRC rule. Use bottom coordinate for bus offsets.
2020-04-15 15:29:55 -07:00
mrg
9907daaffa
Min area only for multiple layers
2020-03-26 13:05:02 -07:00
mrg
d2c97d75a7
Add well contact and min area to power pin of precharge
2020-03-26 11:49:32 -07:00
mrg
ad98137cd4
Merge branch 'dev' into tech_migration
2020-03-05 14:18:06 -08: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
Joey Kunzler
d7529ce526
Vdd/gnd via stacks now use perferred directions, added cell property to override
2020-03-04 17:05:19 -08:00
mrg
7ba9e09e12
Incomplete precharge layer decoupling
2020-03-04 22:23:05 +00:00
mrg
35110a4453
Improve debug of non-manhattan error
2020-02-25 00:34:28 +00:00
Bastian Koppelmann
9749c522d1
tech: Make power_grid configurable
...
this is the first step to allow engineers, porting technologies, more room
for routing their handmade cells.
For now, we don't allow the specification of power_grids where the lower layer
prefers to be routed vertically. This is due to the router not
connecting some pins properly in that case.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 12:06:34 +01:00
Bastian Koppelmann
988df8ebb9
hierarchy_layout: Add methods to create via stacks
...
this allows us to simplify add_power_pin() and gives a clean
API to create vias through multiple layers.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 11:47:32 +01:00
mrg
877ea53b7f
Fix conflicting boundary name
2020-01-24 21:24:44 +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
mrg
262782cba0
Remove print, fix compare
2020-01-16 19:27:39 +00:00
Matthew Guthaus
bec12f5b94
Cleanup.
2019-12-23 21:16:08 +00:00
Matt Guthaus
9e8b03d6c2
Merge branch 'dev' into tech_migration
2019-12-19 16:23:22 -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
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
jcirimel
f0958b0b11
squashed update of pex progress due to timezone error
2019-12-18 03:03:13 -08:00
Matt Guthaus
c025ce6356
Add li to preferred direction
2019-12-17 14:06:23 -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
e143a6033f
Use layer stacks from tech file in design class and throughout
2019-12-13 14:13:41 -08:00
Matthew Guthaus
5af22b79e2
Only add boundary for if there's a DRC stdc layer
2019-12-06 02:17:58 +00: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
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
Matthew Guthaus
c4cf8134fe
Undo changes for config expansion. Change unit tests to use OPENRAM_HOME.
2019-11-15 18:47:59 +00:00
Matt Guthaus
38213d998f
Add separate layer and purpose pairs to tech layers.
2019-10-25 10:03:25 -07:00
Matt Guthaus
7fe9e5704d
Convert vcg and nets to ordered dict
2019-08-29 16:06:34 -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
afaa946f9c
Fix width of non-preferred trunk wire
2019-08-22 12:03:38 -07:00
Matt Guthaus
2ffdfb18a4
Fix trunks less than a pitch in channel route
2019-08-21 17:11:02 -07:00
Matt Guthaus
9ada9a7dfa
Fix pitch in channel router to support M3/M4.
2019-08-21 15:32:49 -07:00
mrg
c0f9cdbc12
Create port address module
2019-07-05 09:03:52 -07:00
mrg
4523a7b9f6
Replica bitcell array working
2019-06-19 16:03:21 -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