Commit Graph

1887 Commits

Author SHA1 Message Date
mrg aa8f389f28 Add fudge factor to pbitcell wells 2020-01-24 17:45:24 +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 306740f0f3 Add empty minarea function 2020-01-16 19:27:59 +00:00
mrg 262782cba0 Remove print, fix compare 2020-01-16 19:27:39 +00:00
mrg a2387da29d PEP format design 2020-01-16 19:26:57 +00:00
mrg ea00258be9 Cleanup contact 2020-01-16 19:26:43 +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 9ad06a7770 Move write mask vias to center to avoid data pins. 2019-12-20 11:48:27 -08:00
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