mrg
282f944b2f
Also write .lvs file since it can be different the .sp
2020-07-03 06:55:35 -07:00
Hunter Nichols
206b02a7ee
Merge branch 'dev' into characterizer_bug_fixes
2020-07-02 18:00:41 -07:00
Hunter Nichols
fb34338fdf
Removed debug statements
2020-07-02 18:00:02 -07:00
Hunter Nichols
119bd94689
Fixed warnings with single port characterization. Cleaned up some signal names.
2020-07-02 15:43:23 -07:00
mrg
d48f483248
Fix swapped instance bug in perimeter pins.
2020-07-01 15:10:20 -07:00
mrg
bed2e36550
Simplify write mask supply via logic
2020-07-01 14:44:48 -07:00
mrg
8cd1cba818
Fix missing via in wmask driver
2020-07-01 14:44:18 -07:00
mrg
c340870ba0
Channel route dout wires as well in read write ports
2020-07-01 14:44:01 -07:00
mrg
bb18d05f75
Move control output via inside module instead of perimeter
2020-07-01 11:33:25 -07:00
mrg
3d0f29ff3a
Fix missing via LVS issues. LVS passing for some 20 tests.
2020-07-01 09:22:59 -07:00
mrg
b07f30cb9e
Missing output via in control logic
2020-06-30 16:23:07 -07:00
mrg
3379f46da1
Fail unit test, but mention if LVS passes and DRC fails.
2020-06-30 16:22:44 -07:00
mrg
0a87691176
Run Calibre LVS even if DRC fails.
2020-06-30 15:27:10 -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
011ac2fc05
Don't route to clk to perimeter on m2
2020-06-30 13:57:45 -07:00
mrg
a48ea52253
Add missing contact to vdd pins.
2020-06-30 13:26:38 -07:00
mrg
5626fd182e
Extra track in data bus. Remove old code.
2020-06-30 10:58:24 -07:00
mrg
eb11ac22f3
Widen pitch of control bus in bank.
2020-06-30 10:58:09 -07:00
mrg
8cedeeb3d9
Widen pitch of control bus in bank.
2020-06-30 10:57:41 -07:00
Matt Guthaus
9b939c9a1a
DRC/LVS and errors fixes.
...
Only enact pdb if assert fails in debug.error.
Only run drc/lvs one time in parse_info by saving result.
Cleanup drc/lvs output.
2020-06-30 07:16:05 -07:00
Hunter Nichols
0464e2df5d
Allowed bitline checks for multiple ports.
2020-06-30 01:37:52 -07:00
Hunter Nichols
c289637dab
Allowed sen's from multiple ports to be characterized
2020-06-29 23:18:31 -07:00
mrg
372a8a728e
Off by one error in channel spacing
2020-06-29 16:47:34 -07:00
mrg
459e3789b8
Change control layers in sky130.
2020-06-29 16:23:25 -07:00
mrg
bec948dcc3
Fix error in when to add vias for array power
2020-06-29 15:28:55 -07:00
mrg
4e7e0c5954
Skip test in sky130
2020-06-29 15:28:16 -07:00
Matt Guthaus
e97644c424
Only do reverse lookup on valid interconnect layers since layer numbers can be shared.
2020-06-29 14:42:24 -07:00
mrg
07d0f3af8e
Only copy end-cap pins to the bank level
2020-06-29 11:46:59 -07:00
mrg
1bc0775810
Only add pins to periphery
2020-06-29 10:03:24 -07:00
mrg
5f3a45b91b
Compute bus size separately for ports
2020-06-29 05:54:30 -07:00
mrg
47f541df0e
Fix bugs in channel route.
2020-06-28 16:58:28 -07:00
mrg
5285468380
All bitcells need a vdd/gnd pin
2020-06-28 15:09:47 -07:00
mrg
751eab202b
Move row addr flops away from predecode. Route spare wen separately on lower layer.
2020-06-28 15:06:29 -07:00
mrg
051c8d8697
Only add bitcells to dummy and replica rows and columns (the perimeter)
2020-06-28 14:47:54 -07:00
mrg
709535f90f
Fix right perimeter pin coordinate bug
2020-06-28 14:47:17 -07:00
mrg
225fc69420
Use preferred routing direction
2020-06-28 14:29:12 -07:00
mrg
4df02dad67
Move spare wen_dff to the right by spare columns
2020-06-28 14:28:43 -07:00
mrg
bc3de9db05
Pick correct side of pin in channel route.
2020-06-28 14:28:18 -07:00
mrg
0c9f52e22f
Realign col decoder and control by 1/4 so metal can pass over
2020-06-28 07:15:06 -07:00
mrg
66ea559209
Use channel for dffs all at once
2020-06-27 08:23:12 -07:00
mrg
c10a6a29c0
Simplify precharge pin layer
2020-06-27 08:22:16 -07:00
mrg
609aa98c8b
Move write mask pin to left of cell to avoid sense amp
2020-06-27 08:21:53 -07:00
mrg
2bd498c39c
Change precharge layer to m3
2020-06-27 08:21:30 -07:00
mrg
c07e20cbe4
Move mux select from li to m2 in sky130
2020-06-26 14:27:16 -07:00
mrg
94d7000717
Reduce output clutter from gds write
2020-06-26 12:16:54 -07:00
mrg
f57eeb88eb
PEP8 cleanup, multiple vdd/gnd support
2020-06-26 11:47:55 -07:00
mrg
e23d41c1d4
PEP8 cleanup
2020-06-26 11:47:35 -07:00
mrg
567675ab31
PEP8 cleanup
2020-06-26 11:47:12 -07:00
mrg
af4ed3dd6e
Skip riscv func test for time sake
2020-06-26 06:50:45 -07:00
mrg
d53abba479
Always route the channel route since it is it's own design.
2020-06-25 17:43:44 -07:00
mrg
76e5389c33
Change riscv func test name
2020-06-25 17:43:17 -07:00
mrg
9eb1b500ea
Skip phys riscv test
2020-06-25 17:31:23 -07:00
mrg
f11afaa63d
Refactor channel route to be a design.
2020-06-25 17:30:03 -07:00
mrg
7220b23402
Add riscv unit tests
2020-06-25 15:34:18 -07:00
mrg
66df659ad4
Col decoders are anything not bitcell pitch.
2020-06-25 14:25:48 -07:00
mrg
f84ee04fa9
Single bank passing.
...
Parameterized gate column mux of dff height.
End-cap only supply option instead of no vdd in bitcell.
2020-06-25 14:03:59 -07:00
mrg
ee0a003298
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2020-06-25 08:57:37 -07:00
jcirimel
5941e01b51
add missing parens
2020-06-25 08:02:08 -07:00
jcirimel
59562f2b92
move accuracy_requirement from techfile to config
2020-06-25 06:44:07 -07:00
jcirimel
812cf11e95
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into dev
2020-06-25 06:32:29 -07:00
jcirimel
57b6d49edb
fix pinv size bining
2020-06-25 06:32:07 -07:00
mrg
da900b89ba
Only expand implants in sky130
2020-06-24 13:48:30 -07:00
mrg
ba92467fec
Add no well enclosure for techs without wells
2020-06-24 12:07:47 -07:00
mrg
6c523a7556
use add_enclosure for npc contacts
2020-06-24 11:55:44 -07:00
mrg
e694622f28
use add_enclosure to extend implants
2020-06-24 11:54:59 -07:00
mrg
4bc3df8931
Add get_tx_insts and expand add_enclosure
2020-06-24 11:54:36 -07:00
mrg
93d65e84e1
Fix power pin layer problems in delay line
2020-06-24 10:26:49 -07:00
mrg
98ec9442c6
Add npc enclosure for pnand2, pnand3, pnor2
2020-06-24 10:00:00 -07:00
mrg
1340908330
Remove fudge factor for pin spacing
2020-06-24 09:24:26 -07:00
mrg
cddb16dabc
Separate active and poly contact to gate rule
2020-06-24 09:17:39 -07:00
mrg
a32b5b13e8
Rename nwell yoffset for consistency
2020-06-24 08:26:15 -07:00
mrg
b3d1161957
Add u+x permissions to new tests
2020-06-24 08:19:25 -07:00
Joey Kunzler
22ed725a35
made 1rw_1r tests for write driver and wmask, fixed typo in portdata_wmask_1rw_1r_test
2020-06-23 18:16:14 -07:00
Joey Kunzler
4e83e8c648
added contact to locali for wmask
2020-06-23 18:13:17 -07:00
mrg
22c821f5d8
Change port_address test to 256 for riscv
2020-06-23 15:40:00 -07:00
mrg
cfa234a4d0
Extra space between decoders for well spacing
2020-06-23 15:39:42 -07:00
mrg
83001e1ab5
PEP8 formatting
2020-06-23 15:39:26 -07:00
mrg
e849a9b973
Use different LVS libs based on tech and sky130
2020-06-23 14:53:24 -07:00
mrg
031862c749
Add metal enclosure to base case of center via stack.
2020-06-23 11:56:50 -07:00
mrg
1a528f9739
Skip and4_dec test
2020-06-23 10:08:28 -07:00
mrg
7ea3366ef1
Disable magic filter in sky130
2020-06-22 16:58:01 -07:00
mrg
92fc30005c
Use factory in and_dec tests
2020-06-22 16:55:49 -07:00
mrg
40edbfa51f
Error out on single port in sky130
2020-06-22 15:41:59 -07:00
mrg
cd23b31ab4
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2020-06-22 12:55:45 -07:00
mrg
0926eab9f5
PEP8 formatting
2020-06-22 12:55:18 -07:00
mrg
54120f8405
Add option for removing subckt/instances of cells for row/col caps
2020-06-22 12:35:37 -07:00
mrg
a13d535945
PEP8 cleanup
2020-06-22 11:33:02 -07:00
Joey Kunzler
8166adc512
Merge branch 'dev' into s8_update
2020-06-19 15:35:49 -07:00
Joey Kunzler
208c652653
added error for sky130 with invalid x mirroring (for lvs)
2020-06-19 13:59:33 -07:00
mrg
a2d160dbf5
Copy magic config for filter code
2020-06-19 13:40:45 -07:00
mrg
5872f553e1
Rename tests for consistency
2020-06-19 08:53:35 -07:00
mrg
239b3ea007
Make wmask test a 1rw/1r
2020-06-19 08:49:48 -07:00
mrg
617a84d4b8
Fix output name of magic gds filter
2020-06-19 07:15:27 -07:00
mrg
94c480911b
ngspice raw save doesn't work with measures
2020-06-19 07:09:15 -07:00
mrg
231f90f492
Fix missing space in ptx spice line
2020-06-19 06:47:46 -07:00
mrg
403ea17039
PEP8 formatting
2020-06-18 14:55:01 -07:00
mrg
69f5621245
Save raw file from ngspice
2020-06-18 14:54:36 -07:00
mrg
7dfc462ef6
Add magic filter before calibre for sky130
2020-06-15 13:58:26 -07:00
mrg
abb5ff7bae
Separate route conditions for s8
2020-06-15 10:30:27 -07:00
mrg
e331d6fae8
Permute bus order to avoid conflict in control_logic
2020-06-15 10:25:53 -07:00
mrg
a862cf3cb2
Test more single level col mux configs
2020-06-15 10:17:54 -07:00
mrg
4cb827c3d7
Add redundant implant for s8
2020-06-15 10:08:07 -07:00
mrg
355474ce2c
Playing around with pnand2 pin spacing rules
2020-06-15 10:07:00 -07:00
mrg
6e0008403e
Update new tech name
2020-06-15 10:06:17 -07:00
mrg
79b3b9a8b0
Switch input/output layers for predecodes
2020-06-15 10:06:04 -07:00
mrg
6c04166876
Update port data wmask tests
2020-06-15 06:05:05 -07:00
mrg
02352c35d7
Fix hard coded layer in wmask
2020-06-14 17:10:32 -07:00
mrg
52ee7b0a19
Disable perimeter pins and make an option
2020-06-14 16:44:10 -07:00
mrg
78be9f367a
Add brain-dead router pins to perimeter
2020-06-14 15:52:09 -07:00
mrg
9930b5f3f6
Do not run tapless unit tests
2020-06-14 14:18:25 -07:00
mrg
7dc33285a7
Add contact to gate design rule to max for spacing inputs
2020-06-14 14:18:08 -07:00
mrg
8e8a97cc4b
Add correct boundary to SRAM
2020-06-14 14:17:35 -07:00
mrg
443c401561
pnand2 B input spaced from top
2020-06-14 14:17:04 -07:00
mrg
91f20f2cf6
Better centering of pinv_dec
2020-06-14 14:09:45 -07:00
mrg
8f1dc7eeea
Include mirror/rotate on translate_all boundary update
2020-06-13 06:50:53 -07:00
mrg
33a32101c9
DRC and LVS fixes for pinv_dec
2020-06-12 15:23:51 -07:00
mrg
443b8fbe23
Change s8 to sky130
2020-06-12 14:23:26 -07:00
mrg
54e4d147f6
Rail to ptx spacing based on routing layer not m1
2020-06-11 15:03:50 -07:00
mrg
e9780ea599
Add non-preferred directions for channel routes
2020-06-11 15:03:36 -07:00
mrg
8d52794c32
Remove printf in precharge
2020-06-11 11:57:52 -07:00
mrg
7ad2d54a69
Add pin and label purposes
2020-06-11 11:54:51 -07:00
mrg
1a2e0046b1
Add contact to gate spacing for precharge
2020-06-11 11:54:34 -07:00
mrg
089331ced3
Add stdc bounding box too
2020-06-11 11:54:16 -07:00
mrg
098219d56c
Add npc enclosure to poly contacts
2020-06-11 11:53:59 -07:00
mrg
f973dd6a5c
Save LVS model with no u too for Calibre
2020-06-11 11:53:34 -07:00
mrg
dff28a9997
Merge branch 'tech_migration' into dev
2020-06-10 17:09:05 -07:00
mrg
196e5998c8
Half poly space per cell at top and bottom.
2020-06-10 16:52:51 -07:00
mrg
fdf92d0da1
Rename test 14
2020-06-10 16:41:26 -07:00
mrg
0b4b5e7133
More exact input spacing in pnand3
2020-06-10 16:19:24 -07:00
mrg
bfd1abc79f
Replica column pins start at 0 height.
2020-06-10 14:58:55 -07:00
mrg
469cd260b9
Change bitcell array name to match
2020-06-10 14:54:20 -07:00
mrg
f2c45a230e
Add new replica column test. Add more skip tests.
2020-06-10 11:00:00 -07:00
mrg
10be2d08b5
Full path to skip tests file
2020-06-10 10:23:05 -07:00
mrg
5e3332453b
Allow power pins to start on any layer besides m1
2020-06-10 10:15:23 -07:00
mrg
c119e60e79
Add more s8 skip tests
2020-06-10 10:14:52 -07:00
mrg
d4fc88124a
Rename dff_buf test
2020-06-09 17:18:19 -07:00
mrg
064fe34edf
Fix pinvbuf layers
2020-06-09 17:16:35 -07:00
mrg
14782914b3
Remove vertical pand gates
2020-06-09 16:40:59 -07:00
mrg
e6babc301d
Incrase space for pnand gates
2020-06-09 16:34:15 -07:00
mrg
c6b875146d
Use local skip file
2020-06-09 16:33:59 -07:00
mrg
fd49d3ed6a
Add tech specific skip tests for making new techs.
2020-06-09 16:09:15 -07:00
mrg
580b0601b5
Unskip 20_psram_1bank_4mux_1rw_1r_test
2020-06-09 16:04:39 -07:00
mrg
a28e747a02
Fix precharge offset. Move well rules to design class.
2020-06-09 15:28:50 -07:00
mrg
148521c458
Remove stdc layer
2020-06-09 13:48:47 -07:00
mrg
157926960b
Flip freepdk45 flop, dff_buf route layer change
2020-06-09 13:48:16 -07:00
mrg
8c6d5b49be
Consider diffusion spacing in active offset
2020-06-09 13:09:52 -07:00
mrg
77fb7017c4
Merge branch 'tech_migration' into dev
2020-06-08 12:54:41 -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
Aditi Sinha
c39c0efd39
Updated spare col tests
2020-06-08 16:38:18 +00:00
Aditi Sinha
300522a1a8
Change spare enable pins offset to lower right
2020-06-08 14:31:46 +00:00
Aditi Sinha
ef940e0dc5
Fixes for functional test of spare cols
2020-06-08 05:02:04 +00:00
Aditi Sinha
d5041afebc
Merge branch 'dev' into bisr
2020-06-07 16:27:25 +00:00
jcirimel
5d5ed552e3
Merge branch 'dev' into discrete_models
2020-06-06 01:48:06 -07:00
mrg
0837432d45
Wordline route layers and (optional) via.
2020-06-05 16:47:22 -07:00
jcirimel
9857a3f7e7
Merge branch 'dev' into discrete_models
2020-06-05 16:47:01 -07:00
mrg
5514996708
Auto-generate port dependent cell names.
2020-06-05 15:09:22 -07:00
mrg
00b51f5464
PEP8 format replica_bitcell_array
2020-06-05 13:49:32 -07:00
mrg
4fef632dce
Fix syntax error
2020-06-05 12:13:41 -07:00
mrg
a62b85a6b1
Update mirroring in port_data for bitcell mirrored arrays
2020-06-05 11:29:31 -07:00
mrg
2e7f9395f2
Rename 05 test to 14
2020-06-05 09:57:16 -07:00
mrg
68ffb94d2e
Rename 05 test to 14
2020-06-05 09:55:57 -07:00
mrg
fb3acae908
PEP8 format testutils.
2020-06-05 09:44:30 -07:00
jcirimel
08f6bd8d24
optimize tx binning for area
2020-06-05 02:53:03 -07:00
mrg
e14deff3d1
Fixed offset in port_data
2020-06-04 16:03:39 -07:00
mrg
2fcecb7227
Variable zjog. 512 port address test. s8 port address working.
2020-06-04 16:01:32 -07:00
mrg
e06dc3810a
Move precharge pin to bottom
2020-06-04 12:12:19 -07:00
mrg
717188f85c
Change L shape of rbl route
2020-06-04 11:03:39 -07:00
mrg
7aafa43897
Connect RBL to bottom of precharge cell
2020-06-04 10:22:52 -07:00
mrg
249b5355ba
Adjust rbl route
2020-06-03 17:08:04 -07:00
mrg
77c95b28da
Rename precharge test
2020-06-03 16:39:46 -07:00
mrg
3927c62e32
Undo extra space due to nwell spacing
2020-06-03 16:39:33 -07:00
mrg
b2b7e7800b
Undo same bitline pitch
2020-06-03 16:39:05 -07:00
mrg
4183638f03
Align precharge bitlines with col mux
2020-06-03 16:05:57 -07:00
mrg
4bc1e9a026
Fix the bitline spacing in the column mux to a constant.
2020-06-03 15:47:03 -07:00
mrg
3b1fe26d25
Spacing between decoder and driver for s8
2020-06-03 14:33:30 -07:00
mrg
e93f3f1d2e
Add 1rw_1r tests
2020-06-03 14:30:15 -07:00
mrg
b78166c044
Merge branch 'dev' into tech_migration
2020-06-03 14:08:22 -07:00
Joey Kunzler
7a602b75a4
keep dev routing changes to hierarchy_layout
2020-06-03 12:54:15 -07:00
Joey Kunzler
6430aad857
Merge branch 'dev' into s8_update
2020-06-03 11:53:33 -07:00
mrg
38f5e8b865
Add col mux tests for multiport
2020-06-03 10:01:02 -07:00
Aditi Sinha
eb0c595dbe
SRAM layout and functional tests with spare cols
2020-06-03 12:31:30 +00:00
mrg
34209dac3d
A port option for correct mirroring in port_data.
2020-06-02 16:50:07 -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
fce8e878b9
Add port to col mux and simplify route with computation to fix mirror bug.
2020-06-02 13:57:41 -07:00
mrg
fdf51c5a00
Add port option to precharge array
2020-06-02 11:44:22 -07:00
mrg
f1b7b91b1a
Use non-channel route for s8 port_data
2020-06-02 11:43:57 -07:00
mrg
45b0601e4b
Fix via directions in s8 col mux
2020-06-02 11:43:31 -07:00
mrg
a1c7474f80
Revert to channel route of bitlines
2020-06-02 10:08:53 -07:00
mrg
620604603c
Fixed offset jogs
2020-06-02 10:08:37 -07:00
mrg
b0aa70ffda
Fix precharge vdd route layer
2020-06-02 09:23:27 -07:00
Joey Kunzler
b39579c109
temp drc fix for regression tests
2020-06-01 20:55:15 -07:00
mrg
9ecf98a4c3
SRAM factory uses default name for first instance even if it has arguments.
2020-06-01 16:46:22 -07:00
mrg
b3b03d4d39
Hard cells can accept height parameter too.
2020-06-01 16:46:00 -07:00
mrg
496a24389c
Remove prints
2020-05-29 16:57:47 -07:00
mrg
82dc937768
Add missing vias by using via stack function
2020-05-29 16:53:47 -07:00
Joey Kunzler
b00163e4e1
lvs fix for regression tests
2020-05-29 13:50:34 -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
jcirimel
575278998d
write only used bitcells to top level in stim and pex output
2020-05-28 23:56:15 -07:00
Joey Kunzler
218a553ac5
fix for replica column mirroring over y
2020-05-28 20:31:21 -07:00
Joey Kunzler
7505fa5aef
update for end caps
2020-05-27 20:03:11 -07:00
Joey Kunzler
9a6b38b67e
merge conflict
2020-05-26 16:03:36 -07:00
Aditi Sinha
c7d86b21ae
Spare cols with wmask enabled
2020-05-16 10:09:03 +00:00
Aditi Sinha
c14190c5aa
Changes in control logic for spare columns
2020-05-14 10:41:54 +00:00
Aditi Sinha
8bd1052fc2
Spare columns in full sram layout
2020-05-14 10:30:29 +00:00
mrg
a305d788d7
Vertical gates need both well contacts.
2020-05-13 16:54:35 -07:00
mrg
4b526f0d5f
Check min size inverter.
2020-05-13 16:54:26 -07:00
mrg
f8bcc54338
Determine width after routing with no well contacts.
2020-05-13 16:04:38 -07:00
Aditi Sinha
a5c211bd90
Merge branch 'dev' into bisr
2020-05-13 22:39:29 +00:00
mrg
617bf302d1
Add option to remove wells. Save area in pgates with redundant wells.
2020-05-13 14:46:42 -07:00
mrg
848241a3ad
PEP8 cleanup
2020-05-11 16:22:17 -07:00
mrg
c96a6d0b9d
Add no well option. Add stack gates vertical option.
2020-05-11 16:22:08 -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
Aditi Sinha
5c50cf234b
Fixed lvs errors for spare columns
2020-05-09 07:56:19 +00:00
jcirimel
5666e79287
Merge branch 'dev' into discrete_models
2020-05-08 03:13:16 -07:00
Joey Kunzler
e642b8521b
increase col_mux bitline spacing to fix cyclic vcg
2020-05-06 13:02:33 -07:00
jcirimel
d8a51ecafb
remove prints, scaling bug fix
2020-05-05 21:59:28 -07:00
jcirimel
71a1dd8f38
fix tx binning in col mux for memories with >1 word per row
2020-05-05 16:35:51 -07:00
Joey Kunzler
91dbbed9ba
added horizontal trunk route edit to vertical trunk route
2020-05-05 12:18:26 -07:00
jcirimel
0f9e38881c
update stim for large pex layouts
2020-05-04 03:05:33 -07:00
jcirimel
89688f8ea9
fix pex for larger memories
2020-05-04 01:31:51 -07:00
Aditi Sinha
e30938fb66
Spare columns working at bank level
2020-05-03 15:23:30 +00:00
Aditi Sinha
49918b0716
New lib syntax for golden results
2020-05-02 09:44:56 +00:00
Aditi Sinha
2498ff07ea
Merge branch 'dev' into bisr
2020-05-02 07:48:35 +00: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
Joey Kunzler
fed1c0bbe1
s8 col mux array
2020-04-22 16:22:34 -07:00
mrg
32576fb62c
Convert wordline driver to pand2 rather than pnand2+pdriver
2020-04-22 13:27:50 -07:00
mrg
8e243f1b3c
Merge branch 'dev' into tech_migration
2020-04-22 11:34:14 -07:00
Matt Guthaus
fb17abb16c
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2020-04-22 10:40:27 -07:00
Matt Guthaus
14f440df73
Update golden results with new lib syntax
2020-04-22 10:40:04 -07:00
mrg
4d6d6af0a1
Merge remote-tracking branch 'public/dev' into dev
2020-04-22 09:28:25 -07:00
David Ratchkov
c2419af2e2
Fix voltage_map names (these do not need to match pg_pin names)
2020-04-22 09:03:22 -07:00
Joey Kunzler
60ba2c1aa5
updated pbitcell test names
2020-04-21 17:20:29 -07:00
mrg
0bb4a7f93d
Merge branch 'dev' into tech_migration
2020-04-21 16:37:36 -07:00
mrg
f1c1adc9bd
Simplify supply contacts in delay chain.
2020-04-21 16:12:54 -07:00
Joey Kunzler
3d4a40b338
freepdk45 col_mux fix
2020-04-21 15:38:19 -07:00
mrg
0f6998a1c5
PEP8 cleanup
2020-04-21 15:36:38 -07:00
mrg
fc85dfe29f
Add boundary to all pgates
2020-04-21 15:21:57 -07:00
mrg
cd66ddb37c
Add supply rails to dff array. PEP8 cleanup.
2020-04-21 15:21:29 -07:00
mrg
ab91d0ab1d
Add purpose to string output
2020-04-21 15:20:30 -07:00
Joey Kunzler
ee1de9ac8c
Merge branch 's8_update' of github.com:VLSIDA/PrivateRAM into s8_update
2020-04-20 22:14:09 -07:00
Joey Kunzler
829f3e03fa
col_mux.py update with correct contacts
2020-04-20 22:08:29 -07:00
Joey Kunzler
63bea67fb5
col_mux.py changes
2020-04-20 20:22:46 -07:00
mrg
f6135f3471
PEP8 formatting
2020-04-20 16:38:30 -07:00
mrg
90fdaf902c
Merge branch 'tech_migration' into dev
2020-04-20 16:28:16 -07:00
mrg
dfbf6fe45c
Default is to use preferred layer directions
2020-04-20 15:33:53 -07:00
mrg
8c177f9947
Split col mux test
2020-04-20 15:03:32 -07:00
mrg
7995451cbb
PEP8 formatting
2020-04-20 14:45:18 -07:00
mrg
69d0e5e372
Split port data test into single and multi-port.
2020-04-20 14:26:44 -07:00
mrg
7f65176908
Configured bitline directions into prot_data
2020-04-20 14:23:40 -07:00
mrg
2a9dde5401
Merge branch 'tech_migration' into dev
2020-04-20 09:07:36 -07:00
jcirimel
32317ce3a5
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into dev
2020-04-18 14:23:31 -07:00
jcirimel
f590ecf83c
fix minimum pinv sizing
2020-04-18 05:51:21 -07:00
jcirimel
add9ec7b28
remove excess newlines
2020-04-18 05:42:23 -07:00
jcirimel
85bc801689
fix pinv drc bug
2020-04-18 05:34:55 -07:00
jcirimel
1f094b03bc
use more optimal discrete pinv sizing
2020-04-18 05:26:39 -07:00
David Ratchkov
5aea45ed69
- Fix switched disabled powers
2020-04-17 16:23:06 -07:00
David Ratchkov
123cc371be
- Fix disabled power char
2020-04-17 16:09:58 -07:00
jcirimel
486819ae0d
fix width bin typo
2020-04-17 15:27:36 -07:00
David Ratchkov
1f816e2823
- Characterize actual disabled power (read mode only)
...
- Report rise/fall power individually
2020-04-17 14:55:17 -07:00
jcirimel
a158ad1e81
add missing import
2020-04-17 14:24:52 -07:00
mrg
cbb67ad483
Update to run LVS when no DRC errors too.
2020-04-17 13:57:52 -07:00
David Ratchkov
7e36cd4828
- Write voltage_map and pg_pin
...
- Remove 'when' condition on leakage power
- Remove 'clk*' from 'when' condition on internal_power on the same 'clk*' pin
2020-04-17 13:45:57 -07:00
Joey Kunzler
7920b0cef9
m3 min area rounding fix
2020-04-17 12:36:48 -07:00
Joey Kunzler
fbc6dfdaac
split pbitcell tests
2020-04-17 12:26:18 -07:00
mrg
f1925420cf
Only allow DRC fail with LVS pass if using Magic.
2020-04-17 10:30:26 -07:00
mrg
75fce9894c
Allow LVS to run even if DRC fails.
2020-04-17 09:35:07 -07:00
jcirimel
9316fb8b01
Merge branch 'dev' into discrete_models
2020-04-16 16:48:21 -07:00
jcirimel
ed54c7ab83
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into dev
2020-04-16 16:48:07 -07:00
mrg
8ece411954
Merge branch 'dev' into tech_migration
2020-04-16 11:32:02 -07:00
mrg
843e9414df
Parameterize vdd and gnd pin in write driver array.
2020-04-16 11:28:35 -07:00
mrg
770533e7b1
Parameterize vdd and gnd pin in sense amp array.
2020-04-16 11:27:26 -07:00
mrg
d1319d633d
Don't widen too short wires either
2020-04-16 11:02:54 -07:00
jcirimel
24e0e326d4
merge dev in to disc...
2020-04-16 02:18:39 -07:00
jcirimel
ebb1a7bedb
merge local with dev
2020-04-16 02:16:56 -07:00
mrg
b347e3f7a8
Try both layers for reversed layer stacks.
2020-04-15 16:49:04 -07:00
mrg
9d2902de9e
Conditional well spacing
2020-04-15 15:55:49 -07:00
mrg
94eb2afa36
Change to callable DRC rule. Use bottom coordinate for bus offsets.
2020-04-15 15:29:55 -07:00
mrg
e95c97d7a5
PEP8 cleanup
2020-04-15 14:29:43 -07:00
mrg
1564d6e02b
PEP8 cleanup
2020-04-15 11:24:28 -07:00
mrg
43fe1ae023
Improve pitch computation
2020-04-15 11:16:45 -07:00
mrg
331a4f4606
Fix wire width bug in short jogs. PEP8 cleanup.
2020-04-15 09:48:42 -07:00
jcirimel
6c1c72c520
fix pgates binning off-by-one
2020-04-15 04:09:58 -07:00
mrg
0941ebc3da
Fix well spacing issue
2020-04-14 14:08:07 -07:00
mrg
32d190b8b1
Jog connection on M1 for bank select.
2020-04-14 12:15:56 -07:00
mrg
43dcf675a1
Move pnand outputs to M1. Debug hierarchical decoder multirow.
2020-04-14 10:52:25 -07:00
jcirimel
5f4ed47c57
netlist only discrete simulating
2020-04-13 20:48:34 -07:00
Aditi Sinha
2661a42726
changes to support spare columns
2020-04-14 03:09:10 +00:00
jcirimel
afcb5174ac
discrete dff tests working
2020-04-11 01:19:04 -07:00
mrg
2e67d44cd7
First pass of multiple bitcells per decoder row
2020-04-10 13:29:41 -07:00
jcirimel
a0eb9839ad
revert units on sp_lib, begin discrete tx simulation
2020-04-09 19:39:21 -07:00
mrg
7888e54fc4
Remove dynamic bitcell multiple detection.
...
Check for decoder bitcell multiple in tech file or assume 1.
PEP8 fixes.
2020-04-09 11:38:18 -07:00
Matt Guthaus
75bd2b46a5
OpenRAM v1.1.5
2020-04-09 10:02:15 -07:00
mrg
8a55c223df
Use single height for netlist_only mode
2020-04-09 09:48:54 -07:00
mrg
58fbc5351a
Change rows to outputs in hierarchical decoder
2020-04-08 17:05:16 -07:00
mrg
745450fadc
Syntax error
2020-04-08 17:04:50 -07:00
mrg
cddfaa0dc8
Tech dependent fudge factor
2020-04-08 17:04:14 -07:00
mrg
ade3b78711
Add exception errors file
2020-04-08 16:55:45 -07:00
mrg
0c27942bb2
Dynamically try and DRC decoder for height
2020-04-08 16:45:28 -07:00
Hunter Nichols
4103745de2
Merged with dev, fixed conflict in ptx
2020-04-08 02:33:05 -07:00
Hunter Nichols
95363856e4
Added logical effort and input load for ptx module.
2020-04-08 02:29:57 -07:00
mrg
7872b6a68c
Merge branch 'dev' into tech_migration
2020-04-07 10:42:05 -07:00
mrg
a3797094d0
Swap lvs and sp dimensions for s8
2020-04-07 10:37:49 -07:00
mrg
c8c74e8b69
Fix lvs_write in sram class
2020-04-06 15:20:59 -07:00
mrg
f20246abdc
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2020-04-06 14:08:45 -07:00
mrg
cd8dc8e20b
Output lvs model instead of spice model
2020-04-06 14:08:38 -07:00
mrg
a12b5d9e6c
Split decoder pbitcell tests
2020-04-06 13:31:31 -07:00
Jesse Cirimelli-Low
b59c789dec
remove whitespace
2020-04-05 03:58:26 -07:00
Jesse Cirimelli-Low
beef9441b7
fix pin check debug typo
2020-04-05 02:55:15 -07:00
Jesse Cirimelli-Low
8b33cb519f
Merge branch 'dev' into custom_mod
2020-04-03 17:05:56 -07:00
mrg
ab5dd47182
Ptx is in microns if lvs_lib exists
2020-04-03 14:06:56 -07:00
mrg
f358de78bb
Add optional lvs_lib netlists for LVS usage (sp_lib is for simulation)
2020-04-03 13:39:54 -07:00
mrg
8603d3edd6
PEP8 cleanup
2020-04-03 11:37:06 -07:00
mrg
2850b9efb5
Don't force check in lib characterization. PEP8 formatting.
2020-04-02 12:52:42 -07:00
mrg
f105c9ab36
Netlist only in verilog test
2020-04-02 12:43:19 -07:00
mrg
1d5e5e3607
Don't run lvs/drc or route supplies in verilog test
2020-04-02 12:42:28 -07:00
mrg
67de7efd49
Fix syntax error. No DRC/LVS in netlist only mode.
2020-04-02 11:31:28 -07:00
mrg
9106e22b58
Fix typo and syntax error.
2020-04-02 10:37:21 -07:00
mrg
5349323acd
PEP8 cleanup. DRC/LVS returns errors.
2020-04-02 09:47:39 -07:00
mrg
0d6c84036d
Adjust fudge factor for pin spacing.
2020-04-02 09:47:13 -07:00
mrg
a3683c5898
Separate pbitcell from hierarchical decoder
2020-04-01 16:39:47 -07:00
mrg
a9d3548be1
Refactor drc/lvs error output
2020-04-01 15:54:06 -07:00
Jesse Cirimelli-Low
cdf0315a90
Merge branch 'dev' into custom_mod
2020-04-01 15:35:33 -07:00
mrg
3b662026d2
pnand3 constant hack for input separation
2020-04-01 11:36:04 -07:00
mrg
7956b63d9f
Add licon option to precharge
2020-04-01 11:26:45 -07:00
mrg
3e41664db6
Split precharge array to multiport and normal cell
2020-04-01 11:26:31 -07:00
mrg
3074cf3b86
Small format cleanup
2020-04-01 11:15:29 -07:00
mrg
da334e47aa
Separate pbitcell tests for precharge
2020-04-01 11:14:50 -07:00
mrg
bc9cbe70a7
Poly overlap doesn't convert to tx device
2020-04-01 09:42:07 -07:00
Jesse Cirimelli-Low
6e2a5d7a1a
set sram output cap in characterizer to be 4x dff input cap
2020-04-01 04:24:43 -07:00
mrg
d916322b74
PEP8 updates
2020-03-31 10:15:46 -07:00
Joey Kunzler
b0d2946c80
update to sense amp and write driver modules
2020-03-30 20:00:32 -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
1e3734cb26
Hack to fix pnand3 in freepdk45
2020-03-26 11:08:53 -07:00
Jesse Cirimelli-Low
341bde7a48
Merge branch 'dev' into custom_mod
2020-03-26 02:40:37 -07:00
mrg
2f353187ba
Skywater extraction mode for si unit scales
2020-03-24 12:41:15 -07:00
mrg
1e2163c3a6
Hack for pnand3 pin spacing
2020-03-24 12:40:41 -07:00
mrg
e9d0db44fd
Add li_stack contact to ptx and pgate if it exists.
2020-03-23 16:55:38 -07:00
mrg
f491876a5a
Move up B input in pnor2
2020-03-23 13:49:08 -07:00
mrg
c15b4167b6
Merge branch 'dev' into tech_migration
2020-03-23 11:57:03 -07:00
mrg
f598a359d5
Remove unused contact in pnor2
2020-03-23 11:55:17 -07:00
mrg
717cbb0fe5
Remove unused contact in pnand3
2020-03-23 11:52:19 -07:00
mrg
0ee6963198
Remove unused contact in pnand2
2020-03-23 11:46:21 -07:00
mrg
f21791a904
Add source drain contact options to ptx.
2020-03-23 11:36:45 -07:00
Aditi Sinha
b75eeb7688
Merge branch 'dev' into bisr
2020-03-22 21:58:04 +00:00
Aditi Sinha
a5afbfe0aa
Fixed errors in extra rows characterization
2020-03-22 20:54:49 +00:00
mrg
9df99beb28
Merge branch 'tech_migration' into dev
2020-03-06 15:03:46 -08:00
mrg
fd7af7fc25
Matt sucks skip test
2020-03-06 15:03:31 -08:00
mrg
c5a1be703c
Rotate via and PEP8 formatting
2020-03-06 13:39:46 -08:00
mrg
23501c7b35
Convert pnand+pinv to pand in decoders.
2020-03-06 13:26:40 -08:00
mrg
1a2efd77ad
Move rbl route away from bitcell array
2020-03-06 09:48:20 -08:00
mrg
ee18f61cbf
Route RBL to edge of bank.
2020-03-06 09:03:52 -08:00
mrg
05f9e809b4
PEP8 Formatting
2020-03-05 16:27:35 -08:00
mrg
6506622dfb
PEP8 Formatting
2020-03-05 16:20:21 -08:00
mrg
5b23653369
PEP8 Formatting
2020-03-05 16:13:49 -08:00
mrg
ad98137cd4
Merge branch 'dev' into tech_migration
2020-03-05 14:18:06 -08:00
mrg
5312629702
Remove jog in precharge. Jog is in port data
2020-03-05 12:10:13 -08:00
mrg
9c1f0657dd
PEP8 Formatting
2020-03-05 11:58:36 -08:00
mrg
7adeef6c9e
PEP8 Formatting
2020-03-05 10:21:18 -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
Jesse Cirimelli-Low
f62016ad9f
revert dff_buf for no body contact
2020-03-03 12:40:08 +00:00
mrg
bb2305d56a
PEP8 format fixes
2020-02-28 18:24:39 +00:00
mrg
e1b97f58e1
Add instance center location
2020-02-28 18:24:09 +00:00
mrg
0b73979388
Space inputs by M1 pitch
2020-02-28 18:23:49 +00:00
mrg
073bd47b31
Add source/drain/gate to structure
2020-02-28 18:23:36 +00:00
Matt Guthaus
1617840ed3
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2020-02-27 08:50:19 -08:00
mrg
266d68c395
Generalize pgate width based on nwell/pwell contacts
2020-02-25 17:09:07 +00:00
Matt Guthaus
0db0c5a3a9
Update version to 1.1.4
2020-02-25 08:09:08 -08:00
mrg
e80677caf7
Merge remote-tracking branch 'origin/dev' into tech_migration
2020-02-25 00:36:43 +00:00
mrg
254e584e35
Cleanup and simplify ptx for multiple technologies
2020-02-25 00:36:22 +00:00
mrg
585a708e0c
Generalize y offsets in pnand3
2020-02-25 00:36:02 +00:00
mrg
d565c9ac72
Generalize input y offsets
2020-02-25 00:35:32 +00:00
mrg
6bcffb8efb
Change default cell height and fix contact width error
2020-02-25 00:34:59 +00:00
mrg
35110a4453
Improve debug of non-manhattan error
2020-02-25 00:34:28 +00:00
Joey Kunzler
4c9b3c5864
Merge branch 's8_update' into dev
...
Add lpp to addText(), remove reference to specific technology in gdsMill
2020-02-24 14:02:18 -08:00
Bastian Koppelmann
0e641bf905
Remove write_driver_array.py.orig
...
this was the remainder of applying a diff using "patch". To avoid this
mistake, add the filetypes created by "patch" to the .gitignore.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-21 13:29:43 +01:00
Joey Kunzler
c9cb387912
fixed variable typo
2020-02-20 18:35:54 -08:00
Aditi Sinha
694ea5c20e
Characterization for extra rows
2020-02-20 17:31:58 +00:00
Aditi Sinha
34939ebd70
Merge branch 'dev' into bisr
2020-02-20 17:09:09 +00:00
Matt Guthaus
da4c69ab98
Merge branch 'pin-pull3' into dev
2020-02-20 09:07:58 -08:00
Aditi Sinha
88bc1f09cb
Characterization for extra rows
2020-02-20 17:01:52 +00:00
Hunter Nichols
c1cb6bf512
Changed layout input names of s_en AND gate to match the schematic
2020-02-19 23:32:11 -08:00
Joey Kunzler
d6987ac584
added purposes to addText(), removed reference to specific tech from gdsMill
2020-02-19 16:26:52 -08:00
Hunter Nichols
df2f981a34
Adds checks to prevent characterization of redundant corners.
2020-02-19 15:59:26 -08:00
Hunter Nichols
e4fef73e3f
Fixed issues with bitcell measurements variable names, made target write ports required during characterization
2020-02-19 15:34:31 -08:00
Hunter Nichols
843fce41d7
Fixed issues with sen control logic for read ports.
2020-02-19 03:06:11 -08:00
Bastian Koppelmann
76256a2f1b
sense_amp: Allow custom pin names
...
we don't want to propagate the sense amp's bl/br names out of the
sense_amp_array. Thus the sense_amp_array gets them named as
"bl"/"br" again.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-17 15:20:12 +01:00
Bastian Koppelmann
680dc6d2c7
sense_amp/array: Remove hardcoded pin names
...
all pin names should be wrapped into a function/property. This ensures
that there is exactly one place to change the name.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-17 15:20:06 +01:00
Bastian Koppelmann
9a12b68680
write_driver: Allow custom pin names
...
we don't want to propagate the write driver bl/br names out of the
write_driver_array. Thus the write_driver_array gets them named as
"bl"/"br" again.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-17 14:25:00 +01:00
Bastian Koppelmann
c06cb2bfc2
write_driver/array: Remove hardcoded pin names
...
all pin names should be wrapped into a function/property. This ensures
that there is exactly one place to change the name.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-17 14:23:26 +01:00
Bastian Koppelmann
656fdd1008
port_data: Refactor channel_route/connect_bitlines()
...
both functions share a lot of code and are passing around a lot of data
under similar names (inst1, inst1_start_bit, inst1_bl_name, ...). Thus
we group all these elements in a named tuple to ease passing around
these elements.
All callers of channel_route/connect_bitlines() either pass in the bl/br
names or rely on "br_{}"/"bl_{}" as defaults. These hard coded values
should be determined by the instances. Thus we get the bitline names
based on the instances passed in. The callers only provide a template
string, to take care of the case that bitlines are called "bl_out_{}".
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-17 14:20:03 +01:00
Bastian Koppelmann
5e1f64c8f9
modules/port_data: Add get_bl/br_name method
...
if we rely on the names of the submodules (sense_amp_array,
write_driver_array, etc.) for port_data's pins, we get into trouble on
multiport SRAMs. To avoid this we use explicit names for br/bl depending
on the port number in port_data. Now each submodule does no longer need to
figure out the right name depending on the port number.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-17 14:18:32 +01:00
Joey Kunzler
125bcafb3e
fixed purposes for gdsMill
2020-02-15 15:00:30 -08:00
Bastian Koppelmann
87b5a48f9e
bitcell: Remove hardcoded signal pins
...
use names provided by the tech file, which can be overriden by the
technology.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-12 15:37:51 +01:00
Bastian Koppelmann
c97bad72db
custom_cell_properties: Add bitcell pin name API
...
this allows users to overrride the pin names to match the names of their
GDS.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-12 15:37:51 +01:00
Bastian Koppelmann
f6302caeac
replica_bitcell_array: Connect bitcells based on bitcell bl/br/wl names
...
this allows us to override the bl/br/wl names of each bitcell.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-12 15:37:47 +01:00
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
Jesse Cirimelli-Low
a23f72d5a3
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into dev
2020-02-12 06:54:03 +00:00
Jesse Cirimelli-Low
aedbc5f968
merge custom cell and module properties
2020-02-12 04:09:40 +00:00
mrg
5928a93772
Merge branch 'dev' into tech_migration
2020-02-10 22:42:50 +00:00
mrg
0ef06ec1e1
Fix dff_buf width in netlist_only mode
2020-02-10 20:06:34 +00:00
mrg
6bf33a980f
Add conservative well spacing between library FF and our pgates.
2020-02-10 19:28:30 +00:00
mrg
f7915ec55e
Route to top of NMOS to prevent poly overlap nmos
2020-02-10 17:12:39 +00:00
jcirimel
101eb28112
revert example scn4m to non netlist only
2020-02-09 23:52:11 -08:00
jcirimel
27eced1fbe
netlist_only done
2020-02-09 23:51:01 -08:00
jcirimel
7038fad930
s8 gdsless netlist only working up to pdriver
2020-02-09 23:10:33 -08:00
jcirimel
b212b3e85a
s8 gdsless netlist only working up to dff array
2020-02-09 21:37:09 -08:00
mrg
4d85640a00
Change col addr spacing to col addr size
2020-02-07 22:20:16 +00:00
mrg
2ff058f5d5
PEP8 Cleanup and reverse pitch offset of col addr routing
2020-02-06 22:59:30 +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
Jesse Cirimelli-Low
b107934672
fix styling
2020-02-06 12:15:52 +00:00
Jesse Cirimelli-Low
3a06141030
add simple sram sizing for netlist only
2020-02-06 12:10:49 +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
04d254542d
Add general well_extend_active DRC in design class.
2020-02-05 18:22:22 +00:00
mrg
4526986de3
Update contact well support.
...
Add asymmetric tap overlap support in DRC rules.
Add static nwell and pwell contact in class for measurements.
2020-02-05 18:21:01 +00:00
jcirimel
7cb3091140
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into custom_mod
2020-02-04 23:40:54 -08:00
jcirimel
ed11145ca4
add custom module file, make dff clk pin dynamic
2020-02-04 23:35:06 -08: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
53217e4030
Check min well width in contact and redo position
2020-02-04 17:37:58 +00:00
mrg
5aed893725
Add nwell/pwell tap test
2020-02-03 18:41:06 +00:00
mrg
34c9b3a0a5
Fix well offset computation for PMOS
2020-02-03 17:37:53 +00:00
Jesse Cirimelli-Low
6cf20a0353
add technology based module customization
2020-01-30 19:44:24 +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
0880c393fd
Fix base bitcell syntax error. Remove some unused imports.
2020-01-30 01:58:30 +00:00
mrg
79391b84da
Cleanup and rename vias.
2020-01-30 01:45:33 +00:00
Matt Guthaus
3147b99ce0
Merge remote-tracking branch 'bkoppelmann/bit-sym' into dev
2020-01-29 11:24:09 -08:00
Bastian Koppelmann
b5701af864
column_mux: Allow y axis mirroring
...
since the bitlines alternate in the bitcell array we also need to mirror
the port_data elements.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 15:51:39 +01:00
Bastian Koppelmann
ed66fca031
write_driver/sense_amp/precharge arrays: Allow y axis mirroring
...
since the bitlines alternate in the bitcell array we also need to mirror
the port_data elements.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 15:51:39 +01:00
Bastian Koppelmann
dd1afe0313
Bitcell arrays: Allow mirroring on the y axis
...
this allows for bitcells that need to be mirrored on the y axis, like
thin cells. However, the portdata elements also need to be mirrored on
the y axis. Otherwise the router will fail horribly when connecting
bitlines.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 15:51:21 +01:00
Bastian Koppelmann
df9f351a91
Add custom cell properties to technologies
...
this is technology specific database to store data about the custom
design cells. For now it only contains on which axis the bitcells are
mirrored. This is a first step to support thin cells that need to be
mirrored on the x and y axis.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 15:46:14 +01: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
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
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
Bastian Koppelmann
3fb2b9c1c3
Bitcell arrays: Create abstract base class
...
a lot of functions of dummy- and bitcell-array are either copy-pasted or
have just slight differences. Merge all of those into an abstract base
class such that we don't have too much duplicate code.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-01-28 10:59:58 +01:00
Jesse Cirimelli-Low
6e070925b6
update magic for multiport
2020-01-28 02:32:34 +00:00
Jesse Cirimelli-Low
30604fb093
add multiport support for pex labels
2020-01-28 00:28:55 +00:00
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
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
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
Aditi Sinha
5b3846e1e5
Changed replica bitcell array to work with bank tests for non power of two rows
2019-12-08 13:24:39 +00: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
Matt Guthaus
9ada9a7dfa
Fix pitch in channel router to support M3/M4.
2019-08-21 15:32:49 -07:00
jsowash
737e873923
Changed via direction for via1 in flip flops.
2019-08-21 14:49:54 -07:00
Matt Guthaus
9f54afbf2c
Fix capitalization in verilog golden files
2019-08-21 14:29:57 -07:00
jsowash
980760b724
Add preferred direction to via1, routed between supply lines in wmask AND array, and only uses m3 for channel route with a write mask.
2019-08-21 14:02:57 -07:00
Matt Guthaus
5f3ffdb8ba
Output name and version in help
2019-08-21 14:00:55 -07:00
Matt Guthaus
d0f04405a6
Convert capital names to lower case for consistency
2019-08-21 13:45:34 -07:00
jsowash
4f01eeb3c1
Combined changes to the pin locations and vias.
2019-08-21 12:36:53 -07:00
jsowash
c2015335b0
Fixed merge issues.
2019-08-21 11:54:22 -07:00
jsowash
4813c01d56
Moved dff's up and moved wmask_AND/wdriver pins left/down, respectively.
2019-08-21 11:50:28 -07:00
Matt Guthaus
b0821a5a0e
Re-add simplified power pins on edges
2019-08-21 11:42:56 -07:00
Matt Guthaus
b94af3e3fd
Add vias for new channel routes
2019-08-21 11:33:43 -07:00
Matt Guthaus
f281510828
Merge branch 'add_wmask' of github.com:VLSIDA/PrivateRAM into add_wmask
2019-08-21 11:20:42 -07:00
Matt Guthaus
2b7025335c
Use pand2 of correct size. Simplify width checking of AND array.
2019-08-21 11:20:35 -07:00
jsowash
43d45fba98
Moved pwr/gnd pins to the right of the rail.
2019-08-21 10:44:04 -07:00
Matt Guthaus
c39b09c736
Merge branch 'add_wmask' of github.com:VLSIDA/PrivateRAM into add_wmask
2019-08-21 10:18:59 -07:00
Matt Guthaus
54ab9440db
Use pdriver instead of pinv in pand gates.
2019-08-21 10:18:46 -07:00
jsowash
0cbc4a7acf
Moved wmask dff above data dff and changed channel route to m3/m4 for data and m1/m2 for wmask.
2019-08-21 10:07:20 -07:00
Matt Guthaus
53d0544291
Minor cleanup and additional assertion checking.
2019-08-21 08:50:12 -07:00
Matt Guthaus
f2568fec80
Change permissions on tests to +x. Add single bank wmask test.
2019-08-21 08:49:46 -07:00
jsowash
71af70a636
Moved pwr/gnd vias and corrected width boundary.
2019-08-20 09:14:23 -07:00
jsowash
316132a33c
Sized inverter for number of driven write drivers.
2019-08-19 13:31:49 -07:00
jsowash
c19bada8df
Performed clean up and added comments.
2019-08-19 08:57:05 -07:00
jsowash
a28c9fed8b
Fixed bug for more than 2 wmasks and changed test to test 4 wmasks.
2019-08-16 14:27:44 -07:00
jsowash
d02ea06ff2
Added method to route between the output of wmask AND array and en of write driver.
2019-08-16 14:12:41 -07:00
jsowash
aaa1e3a614
Added change to route wmask en between driver and AND gates. Need to apply it to all cases.
2019-08-16 10:23:51 -07:00
jsowash
92e0671e15
Removed DRC error with AND array in freepdk45 and moved pin on en_{} pin in port data.
2019-08-15 12:36:17 -07:00
jsowash
f0f811bad9
Added a condiitonal to only route wmask dff when there's a write size.
2019-08-14 12:40:14 -07:00
jsowash
858fbb062d
Placed wmask dff and added connections for wmask pins.
2019-08-14 11:45:22 -07:00
jsowash
0d7170eb95
Created wmask AND array en pin to go through to top layer.
2019-08-14 09:59:40 -07:00
jsowash
aa4803f3c4
Increased enable pin's width for larger # of column mux ways.
2019-08-11 15:25:05 -07:00
jsowash
2573b5f48b
Fixed merge conflict.
2019-08-11 14:39:36 -07:00
jsowash
d259efbcda
Connected wdriver_sel between write_mask_and_array and write_driver_array.
2019-08-11 14:33:08 -07:00
Matt Guthaus
e5618b88af
Don't add sense amp to write only port. Fix write_and None define.
2019-08-11 08:46:36 -07:00
Matt Guthaus
d56a972d61
Update ngspice tests due to new version
2019-08-10 17:59:30 -07:00
Matt Guthaus
c09005dab9
Redo logic for detecting bad bitlines
2019-08-10 17:32:36 -07:00
Matt Guthaus
6cf7366c56
Gate sen during first half period
2019-08-10 16:30:02 -07:00
Matt Guthaus
8d6a4c74e7
Merge branch 'dev' into control_fix
2019-08-10 13:07:30 -07:00
Matt Guthaus
23676c0f37
Route bl in SRAM write ports too
2019-08-10 12:53:07 -07:00
Matt Guthaus
34d28a19e6
Connect wl_en in all ports to bank.
2019-08-10 12:30:23 -07:00
Matt Guthaus
bac684a82a
Fix control logic routing.
2019-08-10 08:53:02 -07:00
jsowash
d5e331d4f3
Connected en together in write_mask_and_array.
2019-08-09 14:27:53 -07:00
Hunter Nichols
2573d4e7d0
Removed testing code from config file.
2019-08-08 19:27:44 -07:00
Hunter Nichols
1d22d39667
Uncommented tests that use model delays. Fixed issue in sense amp cin.
2019-08-08 18:26:12 -07:00
jsowash
49fffcbc92
Added way to determine length of en pin with wmask in write_driver_array and shortened en to width of driver.
2019-08-08 15:49:23 -07:00
Hunter Nichols
d273c0eef5
Merge branch 'dev' into analytical_cleanup
2019-08-08 13:20:27 -07:00
jsowash
0cfa0ac755
Shortened write driver enable pin so that a write mask can be used without a col mux in layout.
2019-08-08 12:57:32 -07:00
jsowash
59e5441aef
Added write mask to write driver array
2019-08-08 08:46:58 -07:00
Hunter Nichols
3c44ce2df6
Replaced analytical characterization with graph implementation. Removed most analytical delay functions used by old chacterizer.
2019-08-08 02:33:51 -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
d36f14b408
New control logic, netlist only working
2019-08-07 17:14:33 -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
jsowash
9409f60237
Merge branch 'dev' into add_wmask
2019-08-07 09:42:55 -07:00
jsowash
abb9af0ea8
Added layout pins for wmask_and_array
2019-08-07 09:33:19 -07:00
jsowash
a6bb410560
Begin implementing a write mask layout as the port data level.
2019-08-07 09:12:21 -07:00
Hunter Nichols
6860d3258e
Added graph functions to compute analytical delay based on graph path.
2019-08-07 01:50:48 -07:00
Matt Guthaus
ae46a464b9
Undo delay changes. Fix bus order for DRC.
2019-08-06 17:17:59 -07:00
Hunter Nichols
2ce7323838
Removed all unused analytical delay functions.
2019-08-06 17:09:25 -07:00
Matt Guthaus
a2f81aeae4
Combine rbl_wl and wl_en. Size p_en_bar slower than wl_en.
2019-08-06 16:29:07 -07:00
Hunter Nichols
2efc0a3983
Merge branch 'dev' into analytical_cleanup
2019-08-06 14:51:30 -07:00
Matt Guthaus
ad35f8745e
Add direction to pins of all modules
2019-08-06 14:14:09 -07:00
Matt Guthaus
c3f38a5cac
ngspice delays updated (again)
2019-08-05 16:09:27 -07:00
Matt Guthaus
aae8566ff2
Update golden delays. Fix uninitialized boolean.
2019-08-05 15:45:59 -07:00
Matt Guthaus
4d11de64ac
Additional debug. Smaller psram func tests.
2019-08-05 13:53:14 -07:00
Matt Guthaus
e4532083da
Increase stages and FO of fixed delay line.
2019-08-05 13:52:32 -07:00
jsowash
a4a72a9639
Merge branch 'dev' into add_wmask
2019-08-01 13:49:52 -07:00
Matt Guthaus
7ba97ee0ba
Fix missing port in control logic
2019-08-01 12:42:51 -07:00
Matt Guthaus
8771ffbfed
Fix bug to add all p_en_bar to banks
2019-08-01 12:28:21 -07:00
Matt Guthaus
ff64e7663e
Add p_en_bar to write ports as well
2019-08-01 12:21:43 -07:00
Matt Guthaus
a8d09acd40
Use ordered dict instead of sorting keys
2019-08-01 12:21:30 -07:00
jsowash
e4d8ba90a5
Merge branch 'dev' into add_wmask
2019-08-01 12:07:14 -07:00
Matt Guthaus
d403362183
Sort keys for random read address choice.
2019-08-01 11:32:49 -07:00
jsowash
bb1627bcec
Added test to end of w_mask_and_array so a regression test will be performed on it.
2019-07-31 14:59:33 -07:00
jsowash
9819b5356e
Merge branch 'dev' into add_wmask
2019-07-31 14:43:48 -07:00
jsowash
774f08da51
Added layout pins to and test for write_mask_and_array.
2019-07-31 14:11:37 -07:00
Hunter Nichols
b4ef0ec36d
Removed unused characterization module.
2019-07-30 20:33:17 -07:00
Hunter Nichols
24b1fa38a0
Added graph fixes to handmade multiport cells.
2019-07-30 20:31:32 -07:00
Hunter Nichols
c12dd987dc
Fixed pbitcell graph edge formation.
2019-07-30 00:49:43 -07:00
Matt Guthaus
98878a0a27
Conditionally path exclude
2019-07-27 12:14:00 -07:00
Matt Guthaus
8e43469486
Update spice results
2019-07-27 12:13:44 -07:00
Matt Guthaus
d7bc3e8207
Add dummy pbitcell
2019-07-27 12:13:35 -07:00
Matt Guthaus
2824315f79
Fix error in wmask if
2019-07-27 11:51:40 -07:00
Matt Guthaus
5cb320a4ef
Fix wrong pin error.
2019-07-27 11:44:35 -07:00
Matt Guthaus
fa4f98b122
Fix ALL of the indents.
2019-07-27 11:30:48 -07:00
Matt Guthaus
37fffb2ed2
Fix bad indent.
2019-07-27 11:14:56 -07:00
Matt Guthaus
468a759d1e
Fixed control problems (probably)
...
Extended functional tests for 15 cycles (slow, but more checking)
Fixed s_en to be gated AFTER the RBL.
2019-07-27 11:09:08 -07:00
Matt Guthaus
52029d8e48
Fix incorrect port_data BL pin name.
2019-07-27 06:11:45 -07:00
Matt Guthaus
179efe4d04
Fix bitline names in merge error
2019-07-26 22:03:50 -07:00
Matt Guthaus
e750ef22f5
Undo some control logic changes.
2019-07-26 21:41:27 -07:00
Matt Guthaus
0c5cd2ced9
Merge branch 'dev' into rbl_revamp
2019-07-26 18:01:43 -07:00
Matt Guthaus
7eea63116f
Control logic LVS clean
2019-07-26 15:50:10 -07:00
Matt Guthaus
dce852d945
Restructure control logic for improved drive and timing.
2019-07-26 14:54:55 -07:00
Matt Guthaus
3327fa58c0
Add some signal names to functional test comments
2019-07-26 14:49:53 -07:00
Hunter Nichols
dc46d07ca3
Removed unused code for input loads
2019-07-26 14:20:47 -07:00
Matt Guthaus
8ebc568e8b
Minor cleanup. Skip more tests until analytical fixed.
2019-07-26 08:33:06 -07:00
Matt Guthaus
20d9c30a64
Use non-analytical models for now
2019-07-25 14:55:42 -07:00
Matt Guthaus
88c399bc6c
Skip prune test for now
2019-07-25 14:49:11 -07:00
Matt Guthaus
d5419f99f6
Skip model tests for now
2019-07-25 14:46:33 -07:00
Matt Guthaus
c8c4d05bba
Fix some regression fails.
2019-07-25 14:18:08 -07:00
Matt Guthaus
0bb41b8a5d
Fix duplicate paths for timing checks
2019-07-25 13:25:58 -07:00
jsowash
de485182bc
Cleaned up comments about wmask.
2019-07-25 13:21:17 -07:00
jsowash
61ba23706c
Removed comments for rw pen() and added a wmask func test.
2019-07-25 12:24:27 -07:00
Matt Guthaus
80df996720
Modify control logic for new RBL.
2019-07-25 11:19:16 -07:00
Matt Guthaus
5452ed69e7
Always have a precharge.
2019-07-25 10:31:39 -07:00
Matt Guthaus
54b312eaf9
Add return type
2019-07-24 17:00:38 -07:00
Matt Guthaus
2f03c594c5
Remove success initialization
2019-07-24 16:59:19 -07:00
Matt Guthaus
cfc04064af
Remove print.
2019-07-24 16:57:57 -07:00
Matt Guthaus
fb60b51c72
Add check bits. Clean up logic. Move read/write bit check to next cycle.
2019-07-24 16:57:04 -07:00
jsowash
c8bbee884b
Removed layout related rw port's special pen.
2019-07-24 16:01:12 -07:00
jsowash
3bcb79d9d5
Removed code for RW ports to not precharge on writes. Previously, the entire bitline was written where part was an old value and part was the wmask value.
2019-07-24 15:01:20 -07:00
Matt Guthaus
fe0db68965
Refactor to share get_measurement_variant
2019-07-24 11:29:29 -07:00
Matt Guthaus
9cb96bda7d
Mostly formatting. Added write measurements.
2019-07-24 10:57:33 -07:00
Matt Guthaus
3df8abd38c
Clean up. Split class into own file.
2019-07-24 08:15:10 -07:00
jsowash
01493aab3e
Added wmask valuesto functional test through add_wmask()
2019-07-23 15:58:54 -07:00
Matt Guthaus
07401fc6ea
Make control bus routing offset consistent
2019-07-23 09:39:28 -07:00
jsowash
ddf5148fa5
Removed code where if there was no write mask, word_size=write_size. Now it stays None.
2019-07-22 14:58:43 -07:00
jsowash
ad0af54a9f
Removed dupliction of addr_size.
2019-07-22 13:18:52 -07:00
jsowash
2b29e505e0
Reversed order of wmask bits in functional.py since python lists go left to right. Made # of en bits equal to num_masks.
2019-07-22 12:44:35 -07:00
jsowash
72e16f8fe6
Added ability to do partial writes to addresses that have already been written to.
2019-07-22 11:19:14 -07:00
jsowash
a69d35b50a
Removed write_size from parameters.
2019-07-21 15:53:05 -07:00
jsowash
0a5461201a
Change num_wmask to num_wmasks and write_size = None not word_size if wmask not used.
2019-07-19 14:58:37 -07:00
jsowash
45cb159d7f
Connected wmask in the spice netlist.
2019-07-19 13:17:55 -07:00
jsowash
082decba18
Temporarily made the functional tests write/read only all 0's or 1's
2019-07-18 15:26:38 -07:00
jsowash
5f37067da7
Turned write_mask_array into write_mask_and_array with flip flops from sram_base
2019-07-18 15:24:41 -07:00
Matt Guthaus
864639d96e
Remove old replica bitline.
2019-07-18 15:19:40 -07:00
Matt Guthaus
a707c6fa50
Convert psram tests to only 2 port.
2019-07-18 14:49:54 -07:00
jsowash
917a69723f
Fixed typo
2019-07-17 12:26:05 -07:00
jsowash
720739a192
Skipping test 22_sram_wmask_func_test and changed a typo of write_driver to write_mask
2019-07-17 11:04:17 -07:00
Hunter Nichols
9696401f34
Added graph exclusions to replica column to reduce s_en paths.
2019-07-16 23:47:34 -07:00
mrg
e2602dd79b
Add comments for pins. Fix noconn in dummy pbitcell.
2019-07-16 17:30:31 -07:00
mrg
37fcf3bf37
Move classes to individual file.
2019-07-16 15:18:04 -07:00
mrg
8ca656959b
Change direction of RBL bitline pins
2019-07-16 15:09:46 -07:00
mrg
b546ecce2c
Check 2 ports only for layout.
2019-07-16 14:11:54 -07:00
mrg
12fa36317e
Cleanup unit test. Fix s_en control bug for r-only.
2019-07-16 13:51:31 -07:00
mrg
2f55911604
Simplify column decoder placement.
2019-07-16 11:55:25 -07:00
mrg
70ee026fcf
Add cell names to psingle_bank test
2019-07-16 11:54:57 -07:00
mrg
42ad0cd282
Add pbitcell RW test
2019-07-16 11:54:39 -07:00
mrg
bea07c2319
SRAM with RBL integration in array.
2019-07-16 09:04:58 -07:00
mrg
37c15937e2
Add multiple control logic port types.
2019-07-15 17:07:50 -07:00
jsowash
021d604832
Removed wmask from addwrite()
2019-07-15 16:48:36 -07:00
jsowash
ab27c70279
Merge branch 'dev' into add_wmask
2019-07-15 14:42:23 -07:00
jsowash
ea2f786dcf
Redefined write_size inrecompute_sizes() to take the new word_size()
2019-07-15 14:41:26 -07:00
mrg
e550d6ff10
Port name maps between bank and replica array working.
2019-07-15 11:29:29 -07:00
mrg
2271946eef
Fix replica array pin names
2019-07-12 14:39:56 -07:00
mrg
8815ddf7f1
Remove unnecessary feasible period search.
2019-07-12 11:55:42 -07:00
mrg
9092fa4ee6
Remove multiport control logic test since it doesn't have a bitcell anymore.
2019-07-12 11:18:47 -07:00
mrg
d72691f6c2
Make mirror optional argument
2019-07-12 11:14:47 -07:00
mrg
a189b325ed
Merge remote-tracking branch 'origin/dev' into rbl_revamp
2019-07-12 11:10:07 -07:00
mrg
80145c0a92
Only enable pdb post-mortem when not purging temp for debug.
2019-07-12 10:57:59 -07:00
mrg
17d144b5b5
Clean up multiport test options to be consistent.
2019-07-12 10:39:55 -07:00
jsowash
dfa2b29b8f
Begin adding wmask netlist and spice tests.
2019-07-12 10:34:29 -07:00
mrg
aa552f8e96
Remove debug trace
2019-07-12 10:17:33 -07:00
mrg
043018e8ba
Functional tests working with new RBL.
2019-07-12 08:42:36 -07:00
mrg
0b13225913
Single banks working with new RBL
2019-07-11 14:47:27 -07:00
mrg
b841fd7ce3
Replica bitcell array with arbitrary RBLs working
2019-07-10 15:56:51 -07:00
Bin Wu
c9c839ca46
fix the delay measure bug in pex tests
2019-07-10 04:39:40 -07:00
Bin Wu
e4070ddad8
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into pex_fix_v2
2019-07-10 03:09:12 -07:00
jsowash
5258016c9f
Changed location of port for din_reg.
2019-07-06 12:27:24 -07:00
jsowash
6fe78fe04a
Removed begin end for Verilog without wmask.
2019-07-06 11:29:34 -07:00
jsowash
24bfaa3b76
Added write_size to test 16 and added a newline to Verilog with no wmask for test 25.
2019-07-05 15:55:03 -07:00
jsowash
ad9193ad5a
Verified 1rw mask writing and changed verilog.py accordingly.
2019-07-05 15:08:59 -07:00
mrg
9dab0be737
Single bank working with replica array.
2019-07-05 13:44:29 -07:00
mrg
b9d993c88b
Add dummy bitcell module.
...
Modify bitcell logic to guess if bitcell is not "bitcell"
No longer need to specify replica (and dummy) bitcell explicitly
Add support for 1 or 2 port replica array.
2019-07-05 12:58:52 -07:00
jsowash
f29631695c
Finished merge
2019-07-05 11:43:31 -07:00
jsowash
150259e2ba
Added write_size to control_logic_r parameters.
2019-07-05 11:40:02 -07:00
mrg
f542613d78
Correct wordline_driver enable to en, not en_bar.
2019-07-05 10:31:05 -07:00
mrg
bfe4213fce
Port address added to entire SRAM.
2019-07-05 09:44:42 -07:00
mrg
4c6556f1bc
Add port address module
2019-07-05 09:04:48 -07:00
mrg
c0f9cdbc12
Create port address module
2019-07-05 09:03:52 -07:00
mrg
dd62269e0b
Some cleanup
2019-07-05 08:18:58 -07:00
jsowash
02a0cd71ac
fixed merge conflict
2019-07-04 11:14:32 -07:00
jsowash
125112b562
Added wmask flip flop. Need work on placement still.
2019-07-04 10:34:14 -07:00
mrg
3176ae9d50
Fix pnand2 height in bank select. Unsure how it passed before.
2019-07-03 15:12:22 -07:00
Matt Guthaus
f914ab0ece
Re-enable replica tests
2019-07-03 14:57:47 -07:00
Matt Guthaus
0cb86b8ba2
Exclude new precharge in graph build
2019-07-03 14:46:20 -07:00
mrg
8b0b2e2817
Merge branch 'dev' into rbl_revamp
2019-07-03 14:05:28 -07:00
mrg
70c83f20b6
Fixes to pass unit tests.
...
Skip replica tests until freepdk45 cells are made.
Revert to previous control and row addr dff placement.
2019-07-03 13:37:56 -07:00
mrg
bc4a3ee2b7
New port_data module works in SCMOS
2019-07-03 13:17:12 -07:00
jsowash
474ac67af5
Added optional write_size and wmask.
2019-07-03 10:14:15 -07:00
mrg
244604fb0d
Data port module working by itself.
2019-07-02 15:35:53 -07:00
mrg
2abe859df1
Fix shared bank offset.
2019-07-01 16:29:59 -07:00
jsowash
67c6cdf3bb
Fixed error where word_size was compared to num_words and added write_size to control_logic.py
2019-07-01 15:51:40 -07:00
Bin Wu
9ce968b446
megre with dev changes
2019-06-30 00:50:18 -07:00
Bin Wu
1fcb20f846
clean pex test based on feedback
2019-06-30 00:16:04 -07:00
jsowash
242771f710
Merge branch 'dev' into add_wmask
2019-06-28 15:44:27 -07:00
jsowash
1f76afd294
Begin wmask functionality. Added wmask to verilog file and config parameters.
2019-06-28 15:43:09 -07:00
Hunter Nichols
3f5b60856a
Fixed key error with analytical delay of write ports.
2019-06-28 13:49:04 -07:00
Hunter Nichols
ce7e320505
Undid change to add bitcell as input to array mod.
2019-06-25 18:26:13 -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
Hunter Nichols
33c17ac41c
Moved manual delay chain declarations from tech files to options.
2019-06-25 15:45:02 -07:00
Bin Wu
8e5fa7c7ae
fix the run_pex function for calibre
2019-06-25 15:06:07 -07:00
Hunter Nichols
04ce3d5f45
Split control logic into different tests to avoid factory errors.
2019-06-25 14:55:28 -07:00
Bin Wu
9ef2616d41
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into pex_fix_v2
2019-06-25 11:28:04 -07:00
Bin Wu
3f3ee9b885
add pex function for magic and openram test
2019-06-25 11:24:25 -07:00
jsowash
3bd69d2759
Added functionality to express polygons in LEF files.
2019-06-25 09:20:00 -07:00
Bin Wu
91febec3a2
add hspice and ngspice pex tests
2019-06-25 09:19:37 -07:00
Matt
d22d7de195
Reapply jsowash update without spice model file
2019-06-24 08:59:58 -07:00
mrg
4523a7b9f6
Replica bitcell array working
2019-06-19 16:03:21 -07:00
Hunter Nichols
2b07db33c8
Added bitcell as input to array, but there are DRC errors now.
2019-06-17 15:31:16 -07:00
mrg
5c4df2410e
Fix dummy row LVS issue
2019-06-14 15:06:04 -07:00
mrg
d35f180609
Add dummy row
2019-06-14 15:05:14 -07:00
mrg
3c3456596a
Add replica row with dummy cells.
2019-06-14 14:38:55 -07:00
mrg
b67f06a65a
Add replica column for inclusion in replica bitcell array
2019-06-14 12:15:16 -07:00
mrg
d8baa5384d
Remove useless comments. Add missing copyright.
2019-06-14 10:13:13 -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
8418aea95a
Revert height to width
2019-06-03 15:36:14 -07:00
mrg
58f51b72f1
Merge fixes
2019-06-03 15:31:49 -07:00
mrg
7b8c2cac30
Starting single layer power router.
2019-06-03 15:28:55 -07:00
mrg
bd4d965e37
Begin single layer supply router
2019-06-03 15:27:37 -07:00
mrg
4612c9c182
Move power pins before no route option
2019-06-03 15:27:37 -07:00
mrg
fc12ea24e9
Add boundary to every module and pgate for visual debug.
2019-06-03 15:27:37 -07:00
mrg
1268a7927b
Pbitcell updates.
...
Fix module offset error.
Add boundary for debugging.
Line wrap code.
2019-06-03 15:27:37 -07:00
Matt Guthaus
7cca6b4f69
Add back scn3me_subm support
...
Add back scn3me_subm tech files
Update cells to be DRC clean with rule 5.5.b
Allow magic for FreePDK45 but not debugged.
Revert to older Magic tech file for SCN3ME_SUBM
2019-06-03 15:27:37 -07:00
mrg
301f032619
Remove +1 to induce error.
2019-05-31 10:55:17 -07:00
mrg
d789f93743
Add debug runner during individual tests.
2019-05-31 10:51:42 -07:00
mrg
bf86969972
Create sram subdirectory.
2019-05-31 08:56:24 -07:00
Hunter Nichols
36214792eb
Removed some debug measurements that were causing failures.
2019-05-28 17:04:27 -07:00
Hunter Nichols
ad229b1504
Altered indexing of objects in SRAM factory to remove duplications of items using OPTS names. Added smarter bitline name checking.
2019-05-28 16:55:09 -07:00
mrg
72f4a223c3
Move power pins before no route option
2019-05-27 16:38:47 -07:00
mrg
c2cc901300
Add boundary to every module and pgate for visual debug.
2019-05-27 16:32:38 -07:00
mrg
e738353b5c
Pbitcell updates.
...
Fix module offset error.
Add boundary for debugging.
Line wrap code.
2019-05-27 16:19:29 -07:00
Hunter Nichols
e2d1f7ab0a
Added smarter name checking for the characterizer.
2019-05-27 13:08:59 -07:00
mrg
26146b6838
Fix SCN3ME_SUBM stuff.
...
Update cells to be DRC clean with rule 5.5.b
Allow magic for FreePDK45 but not debugged.
Revert to older Magic tech file for SCN3ME_SUBM
2019-05-26 22:28:16 -07:00
Hunter Nichols
d08181455c
Added multiport bitcell support for storage node checks
2019-05-20 22:50:03 -07:00
Hunter Nichols
099bc4e258
Added bitcell check to storage nodes.
2019-05-20 18:35:52 -07:00
Hunter Nichols
412f9bb463
Added additional check to bitline to reduce false positives.
2019-05-17 01:56:22 -07:00
Hunter Nichols
03a762d311
Replaced constant string comparisons with enums
2019-05-16 14:18:33 -07:00
Hunter Nichols
d8617acff2
Merged with dev
2019-05-15 18:48:00 -07:00
Hunter Nichols
a80698918b
Fixed test issues, removed all bitcells not relevant for timing graph.
2019-05-15 17:17:26 -07:00
Hunter Nichols
178d3df5f5
Added graph to characterizer to get net names and perform s_en checks. Graph not working with column mux.
2019-05-14 14:44:49 -07:00
Hunter Nichols
b30c20ffb5
Added graph creation to characterizer, re-arranged pin creation.
2019-05-14 01:15:50 -07:00
Hunter Nichols
b4cce65889
Added incorrect read checking in characterizer.
2019-05-13 19:38:46 -07:00
mrg
3fa8c5543a
Merge branch 'dev' into scn3me_subm
2019-05-08 17:52:38 -07:00
mrg
a5ed9b56cd
Optional m4 in design class
2019-05-08 17:51:38 -07:00
Matt Guthaus
c24879162a
Add back scn3me_subm tech files
2019-05-08 16:06:21 -07:00
Hunter Nichols
d54074d68e
Made timing graph more gate-level. Changed edges to be defined by inputs/ouputs and name based.
2019-05-07 00:52:27 -07:00
Matt Guthaus
0f03553689
Update copyright to correct years.
2019-05-06 06:50:15 -07:00
Hunter Nichols
5bfc42fdbb
Added quality improvements to graph: improved naming, auto vdd/gnd removal
2019-04-29 23:57:25 -07:00
Matt Guthaus
534c6b36df
Use correct back end config file.
2019-04-29 10:20:27 -07:00
Matt Guthaus
8d8565bd9c
Add inline_drclvs option for improved coverage
2019-04-29 09:15:46 -07:00
Matt Guthaus
978ba9d2f2
Refactor run scripts.
...
Run DRC, LVS, and PEX share a run_*.sh script.
2019-04-26 15:43:46 -07:00
Matt Guthaus
946a0aca86
Simplify DRC and LVS run scripts.
...
Modified run scripts to work on local only files in the temp
directory. This assumes the files and subckts are named the
same as the clel name. Script now copies library files
to the temp directory as well.
2019-04-26 15:17:39 -07:00
Matt Guthaus
51a97979b9
Add front and back-end test 30.
2019-04-26 15:17:19 -07:00
Matt Guthaus
d23aa9a1bd
Use local setup.tcl and flatten bitcell arrays.
2019-04-26 14:12:51 -07:00
Matt Guthaus
9cead23f22
Add hierarchy to netgen LVS command.
2019-04-26 13:46:34 -07:00
Matt Guthaus
3f9a987e51
Update copyright. Add header to all OpenRAM files.
2019-04-26 12:33:53 -07:00
Matt Guthaus
0439b129bb
Some pgates are designs since not a fixed height
2019-04-26 12:33:53 -07:00
Matt Guthaus
05ad4285af
Cleanup pgate code.
...
Moved create_netlist and create_layout to the pgate class
from which everything is derived. Modified all pgates
to have consistent debug output and order of init function.
2019-04-26 12:30:42 -07:00
Jesse Cirimelli-Low
e507fbd5e9
Merge branch 'datasheet_gen' into dev
2019-04-26 12:29:37 -07:00
Matt Guthaus
3ffcad0db8
Add port makeall for removing symmetry problems in netgen
2019-04-26 09:17:52 -07:00
Hunter Nichols
f35385f42a
Cleaned up names, added exclusions to narrow paths for analysis.
2019-04-24 23:51:09 -07:00
Hunter Nichols
e292767166
Added graph creation and functions in base class and lower level modules.
2019-04-24 14:23:22 -07:00
Matt Guthaus
59d2e45744
Move characterization on/off feedback to report_status.
2019-04-24 11:30:38 -07:00
Matt Guthaus
7f5e6dd6f8
Fix unconnected supply pin bug in supply router.
...
Simplified some of the supply router pin groups so that it assumes
each group is fully connected. When computing enclosures of the
pins on the routing grid, it will remove disconnected enclosure
shapes to keep things connected.
2019-04-24 10:54:22 -07:00
Matt Guthaus
66c703d932
Simplify router code to clean it up a bit.
2019-04-22 15:30:35 -07:00
Matt Guthaus
5b828f32cb
Create auxiliary run_drc.sh and run_lvs.sh with arguments for calibre
2019-04-22 15:12:59 -07:00
Hunter Nichols
4f28295e20
Added initial graph for correct naming
2019-04-19 01:27:06 -07:00
Jesse Cirimelli-Low
49e5f97eb4
fixed bug where log would fail to generate if output folder did not exist
2019-04-17 15:02:10 -07:00
Matt Guthaus
25bc3a66ed
Add far left option for contact placement in pgates.
2019-04-17 13:41:35 -07:00
Matt Guthaus
a35bf29bdd
Improve print output for debugging layout objects.
2019-04-17 13:41:17 -07:00
Matt Guthaus
be20408fb2
Rewrite add_contact to use layer directions.
2019-04-15 18:00:36 -07:00
Hunter Nichols
c1411f4227
Applied quick corner estimation to analytical delay.
2019-04-09 12:26:54 -07:00
Hunter Nichols
a500d7ee3d
Adjusted bitcell analytical delays for multiport cells.
2019-04-09 02:49:52 -07:00
Hunter Nichols
25c034f85d
Added more accurate bitline delay capacitance estimations
2019-04-09 01:56:32 -07:00
Hunter Nichols
1438519495
Added check to pdriver for 0 fanout which can break compute_sizes.
2019-04-03 17:53:28 -07:00
Hunter Nichols
edac60d2a8
Merged with dev and fixed conflicts.
2019-04-03 16:45:01 -07:00
Hunter Nichols
cc5b347f42
Added analyical model test which compares measured delay to model delay.
2019-04-03 16:26:20 -07:00
Hunter Nichols
f6eefc1728
Added updated analytical characterization with combined models
2019-04-02 01:09:31 -07:00
Matt Guthaus
df4e2fead8
Return empty set instead of a list.
2019-04-01 15:59:57 -07:00
Matt Guthaus
07ecf52b9f
Add giant example for front-end mode
2019-04-01 15:49:01 -07:00
Matt Guthaus
5f37677225
Convert pin map to a set for faster membership.
2019-04-01 15:45:44 -07:00
Matt Guthaus
74f904a509
Cleanup options for front-end. Improve info output.
2019-04-01 10:35:17 -07:00
Matt Guthaus
c3e074c069
Add option for routing supplies. Off by default, but enabled in unit test config files.
2019-04-01 09:58:59 -07:00
Hunter Nichols
97777475b4
Added additions to account for custom delay chains.
2019-03-28 17:16:23 -07:00
Hunter Nichols
50d3b4cb8d
Added some bitline measures to the model_checker
2019-03-19 15:03:57 -07:00
Matt Guthaus
95d96bd45d
Add OPENRAM_TMP environment check
2019-03-08 11:12:30 -08:00
Matt Guthaus
0354e2dfb7
Rename config_20 to config since it is used in all tests
2019-03-08 10:47:41 -08:00
Matt Guthaus
196710ec3e
Remove factory from lef and verilog tests
2019-03-08 09:22:48 -08:00
Matt Guthaus
bd256d33d6
Remove syntax error
2019-03-08 08:35:18 -08:00
Matt Guthaus
7129f79dc4
Merge remote-tracking branch 'origin' into tech_reorg
2019-03-08 08:33:46 -08:00
Matt Guthaus
d8f64500e6
Remove factory create from lib tests so that we can give required name
2019-03-08 08:31:26 -08:00
Hunter Nichols
e39f9ee481
Merge branch 'dev' into multiport_characterization
2019-03-07 12:31:14 -08:00
Hunter Nichols
910878ed30
Removed bitline measures until hardcoded signal names are made dynamic
2019-03-07 12:30:27 -08:00
Jesse Cirimelli-Low
e6311dd44a
Merge branch 'datasheet_gen' into dev
2019-03-06 23:47:19 -08:00
Jesse Cirimelli-Low
4754e6851d
add_db takes commline line argv for path
2019-03-06 22:21:05 -08:00
Jesse Cirimelli-Low
c1770036ac
made the add_db code much simpler
2019-03-06 22:20:34 -08:00
Jesse Cirimelli-Low
83e810f8b8
added sorting to deliverables output
2019-03-06 21:12:21 -08:00
Jesse Cirimelli-Low
fac9ff9be6
changed add_db.py to uncommenting method
2019-03-06 20:59:52 -08:00
Matt Guthaus
95137a2c26
Wrap debug line
2019-03-06 14:24:24 -08:00
Matt Guthaus
77229d5121
Reduce verbosity
2019-03-06 14:24:18 -08:00
Matt Guthaus
c4c844a8a2
Remove duplicate module name checking since we use the factory
2019-03-06 14:14:46 -08:00
Matt Guthaus
09a429aef7
Update unit tests to all use the sram_factory
2019-03-06 14:12:24 -08:00
Matt Guthaus
acf2798a18
Add link to presentation in README
2019-03-06 08:29:43 -08:00
Matt Guthaus
cfc14f327e
Factor default corner out of import_tech
2019-03-06 07:46:30 -08:00
Matt Guthaus
d178801882
Simplify tech organization and import
2019-03-06 07:41:38 -08:00
Hunter Nichols
80a325fe32
Added corner information for analytical power estimation.
2019-03-04 19:27:53 -08:00
Hunter Nichols
ddeb40c9bf
Added lib test which generates multiple corner models. Only does process currently.
2019-03-04 16:27:10 -08:00
Hunter Nichols
7e67b741f6
Merge branch 'dev' into multiport_characterization
2019-03-04 00:43:03 -08:00
Hunter Nichols
0e96648211
Added linear corner factors in analytical delay model.
2019-03-04 00:42:18 -08:00
Matt Guthaus
22deab959c
Fix setup_bitcell to allow user to force override the bitcell.
2019-03-03 11:58:41 -08:00
Matt Guthaus
abcb1cfa2c
Correct elsif to elif
2019-02-28 09:17:24 -08:00
Matt Guthaus
da6aa161de
Don't autodetect the bitcell if the user overrides it
2019-02-28 09:12:32 -08:00
Matt Guthaus
fb7264bae2
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2019-02-28 08:44:18 -08:00
Jesse Cirimelli-Low
3802c537e5
added add_db.py to add .db files to datasheets
2019-02-27 22:20:06 -08:00
Hunter Nichols
816669b9ca
Merge branch 'dev' into multiport_characterization
2019-02-26 22:48:39 -08:00
Hunter Nichols
ea51cfdbb4
Removed data collection script
2019-02-26 22:46:38 -08:00
Hunter Nichols
42bc6efb21
Added additional graphing and data collection to script
2019-02-26 20:06:35 -08:00
Matt Guthaus
f865e66181
Remove git_id file
2019-02-25 16:47:38 -08:00
Matt Guthaus
de977732db
Only warn if not unit tests
2019-02-25 16:13:54 -08:00
Matt Guthaus
1f1426b97c
Add auto-detect of custom bitcells
2019-02-25 16:10:34 -08:00
Matt Guthaus
c79b97eb51
Merge remote-tracking branch 'origin/dev' into multiport
2019-02-25 15:46:39 -08:00
Matt Guthaus
a4b5368302
Add total size in warning for output size.
2019-02-25 14:57:18 -08:00
Matt Guthaus
638afaeb31
Remove duplicate profile stats script
2019-02-25 10:14:02 -08:00
Matt Guthaus
a18071a4ff
Add warning for large memory sizes
2019-02-25 10:07:05 -08:00
Jesse Cirimelli-Low
34294443d4
updated logos and css for official colors
2019-02-25 07:46:34 -08:00
Jesse Cirimelli-Low
677588290d
merging with dev now that it is passing
2019-02-25 07:05:06 -08:00
Matt Guthaus
a210fdda0f
Fix arguments for none verification
2019-02-24 10:49:35 -08:00
Matt Guthaus
9b785cd535
Fix error in cell width. Fix escape warning.
2019-02-24 10:48:54 -08:00
Matt Guthaus
4577d380f9
Add example 1w/1r
2019-02-24 09:57:34 -08:00
Matt Guthaus
6cdc870091
Copy 1rw/1r cell to 1w/1r.
2019-02-24 09:54:45 -08:00
Matt Guthaus
6c9ae1c659
Remove temp names in DRC/LVS. Extract unique doesn't actually extract.
2019-02-24 07:26:21 -08:00
Jesse Cirimelli-Low
b9525e0f9e
Merge branch 'dev' into datasheet_gen
2019-02-23 15:45:51 -08:00
Matt Guthaus
4da56098e7
Merge branch 'magic_lvs_ports' into dev
2019-02-22 19:02:43 -08:00
Matt Guthaus
599e5457a0
Fix all libs to have pin indices
2019-02-22 17:40:49 -08:00
Matt Guthaus
583dc4410b
Revert bus bits back into pins
2019-02-22 16:22:27 -08:00
Matt Guthaus
9459839c06
Clean up output file names for lvs. Update lvs script in magic.
2019-02-22 14:38:00 -08:00
Jesse Cirimelli-Low
8c9c910855
Merge branch 'datasheet_gen' into dev
2019-02-22 11:41:03 -08:00
Jesse Cirimelli-Low
ff09254590
fixed analytical flag
2019-02-22 08:19:54 -08:00
Jesse Cirimelli-Low
0cabee060d
fixed area rounding
2019-02-22 06:57:54 -08:00
Jesse Cirimelli-Low
b4f1d53a1b
fixed DRC datasheet error
2019-02-22 06:46:28 -08:00
Matt Guthaus
d043c72277
Fix temp name error in openram.py
2019-02-21 11:16:21 -08:00
Matt Guthaus
bb408d0a45
Add missing / in output path for log
2019-02-21 10:23:30 -08:00
Jennifer Eve Sowash
1249dcc34d
Merge branch 'dev' into pdriver
2019-02-20 13:00:58 -08:00
Jennifer Eve Sowash
6d3a29328c
Fixed a bug with corner_name in lib.py remaining static.
2019-02-20 12:59:40 -08:00
Jesse Cirimelli-Low
723ec9925f
Merge branch 'datasheet_gen' into dev
2019-02-15 21:47:24 -08:00
Jesse Cirimelli-Low
d533a8ae26
fixed logger typo
2019-02-15 21:45:05 -08:00
Jesse Cirimelli-Low
e3ff9b53e9
fixed area not being found
2019-02-14 07:01:35 -08:00
Hunter Nichols
8c1fe253d5
Added variable fanouts to delay testing.
2019-02-13 22:24:58 -08:00
Jesse Cirimelli-Low
3f761afcbc
Merge branch 'datasheet_gen' into dev
2019-02-13 17:43:31 -08:00
Matt Guthaus
d4c21cd26e
Remove extraneous character.
2019-02-13 17:41:33 -08:00
Matt Guthaus
2553439447
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into dev
2019-02-13 17:01:41 -08:00
Matt Guthaus
c359bbf42a
Fix deprecation warnings in regex by converting to raw strings. Add error if unable to find DRC errors in Magic.
2019-02-13 17:01:26 -08:00
Jesse Cirimelli-Low
e890c0e188
fixed -v logging
2019-02-13 15:21:16 -08:00
Hunter Nichols
4faec52409
Allowed data collection and analysis to run independently.
2019-02-12 20:58:50 -08:00
Hunter Nichols
a4bb481612
Added tracking for available data.
2019-02-12 16:28:37 -08:00
Jesse Cirimelli-Low
36d8d98b17
Merge branch 'dev' into datasheet_gen
2019-02-08 12:05:04 -08:00
Hunter Nichols
9e23e6584a
Made variance plot look slightly better.
2019-02-07 15:30:47 -08:00
Hunter Nichols
5e9851c5f1
Merge branch 'dev' into multiport_characterization
2019-02-07 14:31:26 -08:00
Hunter Nichols
ebf43298c0
Added mean/variance plotting
2019-02-07 14:26:48 -08:00
Matt Guthaus
d9efb682dd
Do not clean up if preserve temp in local_drc_check
2019-02-07 11:08:34 -08:00
Jesse Cirimelli-Low
bfc20a9aa9
removes debug corners
2019-02-07 06:38:07 -08:00
Jesse Cirimelli-Low
be4b7697cb
Merge branch 'dev' into datasheet_gen
2019-02-07 06:35:57 -08:00
Jesse Cirimelli-Low
6cde6beafa
added documetation to functions
2019-02-07 06:33:39 -08:00
Hunter Nichols
d0edda93ad
Added more variance analysis for the delay data
2019-02-07 02:27:22 -08:00
Jesse Cirimelli-Low
e131af2cc3
power added to datasheet (finally)
2019-02-06 20:31:22 -08:00
Hunter Nichols
690055174d
Fixed bug in control logic test with port configs.
2019-02-06 20:09:01 -08:00
Hunter Nichols
56e79c050b
Changed test values to fix tests.
2019-02-06 15:27:29 -08:00
Hunter Nichols
01c8405d12
Fix bitline measurement delays and adjusted default delay chain for column mux srams
2019-02-06 00:46:25 -08:00
Hunter Nichols
5f01a52113
Fixed some delay model bugs.
2019-02-05 21:15:12 -08:00
Jesse Cirimelli-Low
374e7a31eb
Merge branch 'dev' into datasheet_gen
2019-02-05 17:14:58 -08:00
Hunter Nichols
e3d003d410
Adjusted test values to account for recent changes.
2019-02-05 00:43:16 -08:00
Hunter Nichols
543e0a1b9a
Merge branch 'dev' into multiport_characterization
2019-02-04 23:54:16 -08:00
Hunter Nichols
12723adb0c
Modified some testing and initial delay chain sizes.
2019-02-04 23:38:26 -08:00
Jesse Cirimelli-Low
c22025839c
datasheet now indicates if analytical or characterizer is used
2019-01-31 08:28:51 -08:00
Jesse Cirimelli-Low
21868e1b60
removed expanded process names from corners
2019-01-31 08:09:00 -08:00
Hunter Nichols
8d7823e4dd
Added delay ratio comparisons between model and measurements
2019-01-31 00:26:27 -08:00
Jesse Cirimelli-Low
475db65d26
added units to AREA on datasheet
2019-01-30 17:49:43 -08:00
Matt Guthaus
ec1fb087b5
Check membership of keys without using keys() list
2019-01-30 13:02:34 -08:00
Hunter Nichols
45fceb1f4e
Added word per row to sram config with a default arguement to fix test.
2019-01-30 11:43:47 -08:00
Matt Guthaus
74fbe8fe63
Convert source and target lists to sets for faster contains check.
2019-01-30 11:15:47 -08:00
Matt Guthaus
07f4d639eb
Remove non-rectangular error and just skip them.
2019-01-30 10:25:01 -08:00
Matt Guthaus
7836929db2
Use hash of tuples instead of checking rectangle in list
2019-01-30 10:03:07 -08:00