Jesse Cirimelli-Low
1a97dfc63e
syncronize bitline naming convention betwen bitcell and pbitcell
2020-01-27 11:50:43 +00:00
Jesse Cirimelli-Low
d42cd9a281
pbitcell working with bitline adjustments
2020-01-27 10:03:31 +00:00
Matt Guthaus
e62beae805
Merge branch 'tech_migration' into dev
2020-01-25 12:03:56 -08:00
mrg
877ea53b7f
Fix conflicting boundary name
2020-01-24 21:24:44 +00:00
mrg
71cbe74017
Round middle position fix
2020-01-24 18:00:28 +00:00
mrg
aa8f389f28
Add fudge factor to pbitcell wells
2020-01-24 17:45:24 +00:00
Jesse Cirimelli-Low
1062cbfd7f
begin fixes to pbitcell, prepare multibank pex
2020-01-24 10:24:29 +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
jcirimel
40c01dab85
fix bl in stim file
2020-01-21 01:44:15 -08:00
jcirimel
73691f6054
fix bug in top level bitline label placement
2020-01-21 00:20:52 -08:00
Jesse Cirimelli-Low
5778901cfe
pull bitline labels to top level spice
2020-01-20 12:16:30 +00:00
jcirimel
364842569a
fix s_en in stim
2020-01-16 12:16:49 -08: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
jcirimel
075bf0d841
label bitcell in stim, add s_en top level to stim
2020-01-16 03:51:29 -08:00
Jesse Cirimelli-Low
2733c3bf3f
fix custom bitcell labeling; fix gds scaling in labeling
2020-01-15 09:00:02 +00:00
Jesse Cirimelli-Low
05ab018ffc
strip padding character from gds reading
2020-01-07 00:01:32 +00:00
Bastian Koppelmann
2c610036b2
router/supply_grid_router: Print init time to the user
...
this can take considerable amount of time, so the user knows that
useful work is done.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-03 12:24:14 +01:00
Bastian Koppelmann
c0c89e465a
vector: Implement hash cache for vector3d and vector
...
this gives us a small runtime improvement in the router.
For FreePDK45 word_size=8, num_words=256
Improved
*** Maze routing supplies: 89.8 seconds
** Routing: 279.3 seconds
Non-improved
*** Maze routing supplies: 105.1 seconds
** Routing: 293.5 seconds
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-03 12:16:10 +01:00
Bastian Koppelmann
7ff5121d8c
base/pin_layout: Implement hash cache
...
the hash value only depends of the properties 'rect' and 'layer' so we
only compute the hash if those values are changed. Otherwise we just
return the precomputed value. This gives us a major speedup (~10x) if
the hash is used as a key in a dict.
During the grouping of pins in analyze_pins() this gives the best
improvements. For example for FreePDK45 with num_bits=8, num_words=256
Improved
**** Analyzing pins: 20.9 seconds
** Routing: 293.8 seconds
** SRAM creation: 349.8 seconds
Non-improved
**** Analyzing pins: 267.9 seconds
** Routing: 537.5 seconds
** SRAM creation: 592.9 seconds
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-03 11:39:59 +01:00
Bastian Koppelmann
14e8a26246
base/pin_layout: Make rect and layer properties
...
only rect and layer are used to compute the hash for a pin. Having
those as properties allows us to cache the hash value and only update it
if either rect or layer are written.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-03 11:33:34 +01:00
Jesse Cirimelli-Low
3ab99d7f9c
update gds library, generalize geometry reverse transform function
2019-12-24 05:01:55 +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
Jesse Cirimelli-Low
5b44dce50d
added labels to scn4m magic libaries
2019-12-23 02:22:11 +00:00
Matt Guthaus
a8d370ee8c
Improved comments in tech files
2019-12-20 16:35:31 -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
Jesse Cirimelli-Low
88d3da0b4a
fix control logic pex labels with multiport
2019-12-18 12:45:12 +00:00
jcirimel
f0958b0b11
squashed update of pex progress due to timezone error
2019-12-18 03:03:13 -08: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