mrg
e223d434aa
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2021-06-29 09:34:13 -07:00
mrg
c4aec6af8c
Functional fixes.
...
Off by one error of max address with redundant rows.
Select reads 3x more during functional sim.
2021-06-29 09:33:44 -07:00
Jesse Cirimelli-Low
c36f471333
add vnb/vpb lvs correspondence points
2021-06-29 02:31:56 -07:00
Jesse Cirimelli-Low
c599d8f62c
use special purposes with _get_gds_reader
2021-06-23 13:21:19 -07:00
mrg
958f5e45bb
Add extra dnwell spacing for single port
2021-06-23 11:14:58 -07:00
mrg
ef733bb7aa
Optional save supply pin centers for summer project
2021-06-23 10:03:38 -07:00
mrg
28c99dae4a
Fix error with uniquify where root has a null
2021-06-22 16:39:10 -07:00
mrg
b14992b213
Fix arg off by one error in uniquifyGDS
2021-06-22 16:18:03 -07:00
mrg
288f6cbb9f
Rename prefixGDS to uniquifyGDS
2021-06-22 16:15:56 -07:00
mrg
04382a2271
Change number of arguments check in prefixGDS.py
2021-06-22 16:15:31 -07:00
mrg
c69eb47a7a
Finalize uniquify option for SRAMs
2021-06-22 16:13:33 -07:00
mrg
8095c72fc8
Debug prefixGDS.py utility script
2021-06-22 15:53:45 -07:00
mrg
8d71a98ce9
Make purposes argument to gdsMill. Create prefixGDS.py script.
2021-06-22 14:40:43 -07:00
Hunter Nichols
a0921b4afc
Merge branch 'dev' into automated_analytical_model
2021-06-22 01:39:38 -07:00
mrg
6e22771794
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2021-06-21 17:37:41 -07:00
mrg
58f8c66020
Fix disconnected spare_wen_0_0
2021-06-21 17:36:20 -07:00
Hunter Nichols
294ccf602e
Merged with dev, addressed conflict in port data
2021-06-21 17:23:32 -07:00
Hunter Nichols
470317eaa4
Changed bitcell exclusion to instead exclude array instances to prevent issues of module exclusion affecting other modules.
2021-06-21 17:20:25 -07:00
Hunter Nichols
b408a871f9
Added direction information functions to 2-port bitcell modules
2021-06-21 17:19:15 -07:00
Jesse Cirimelli-Low
3502bec231
Merge remote-tracking branch 'origin/dev' into dev
2021-06-21 15:27:32 -07:00
mrg
bb1ac1a38e
Fix incorrect bus indexing of spare_wen. Convert internal signals to not use braces.
2021-06-21 15:23:08 -07:00
Jesse Cirimelli-Low
2760beae34
swap sky130 replica bitcell array power bias routing
2021-06-21 15:22:31 -07:00
mrg
f3f19aeeeb
Remove print statement
2021-06-21 15:16:36 -07:00
mrg
1ce5823df8
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev
2021-06-21 13:14:23 -07:00
mrg
d53bc98ff5
Exit with error when spice models not found. Use ngspice if no simulator defined.
2021-06-21 13:14:08 -07:00
mrg
af31027504
Fix error in 1 spare column Verilog
2021-06-21 13:13:53 -07:00
Jesse Cirimelli-Low
56dc83de47
fix typo
2021-06-18 18:10:12 -07:00
Jesse Cirimelli-Low
2dbe928c09
fix typo
2021-06-18 18:08:57 -07:00
Jesse Cirimelli-Low
4688988434
only check dimensions on single port
2021-06-18 17:46:39 -07:00
Jesse Cirimelli-Low
0008df0204
catch where strap size is zero
2021-06-18 15:24:24 -07:00
Jesse Cirimelli-Low
2eb98083d0
Merge branch 'dev' into laptop_checkpoint
2021-06-18 14:21:39 -07:00
Jesse Cirimelli-Low
8ceece2af6
check for valid dimensions instead of recalcuating
2021-06-18 14:21:02 -07:00
mrg
693a81fa8d
Fix spare_wen IO pin names
2021-06-18 10:44:35 -07:00
mrg
1299989332
Fix single spare_wen naming
2021-06-18 08:43:21 -07:00
mrg
67877175b2
Fix error in no spare column verilog
2021-06-18 08:41:26 -07:00
mrg
81d20ec2aa
Add spare cols to behavioral Verilog model
2021-06-18 07:23:41 -07:00
Jesse Cirimelli-Low
7b7c72706a
merge in dev
2021-06-17 09:49:32 -07:00
Jesse Cirimelli-Low
d9afe89770
remove print statement
2021-06-17 03:23:46 -07:00
Jesse Cirimelli-Low
1ce6b4d41a
fix freepdk45
2021-06-17 03:21:01 -07:00
Hunter Nichols
131ff8bcef
Changed the regression test to only run models for the output being tested.
2021-06-16 23:50:20 -07:00
mrg
afe0902547
Enable small short func tests
2021-06-16 19:13:50 -07:00
mrg
b7f1c8e8fc
Fix name for detecting single port
2021-06-16 19:07:56 -07:00
mrg
c7c319c11f
Use extra bitcell version tag only for single port in sky130
2021-06-16 19:06:12 -07:00
mrg
d119a0e7ff
Use sky130 bitcell in simulation for BLs
2021-06-16 18:45:53 -07:00
mrg
1e486cd344
Use local spacing rule
2021-06-16 18:41:39 -07:00
Hunter Nichols
16e658726e
When determining bitline names, added a technology check for sky130.
2021-06-16 17:04:02 -07:00
Jesse Cirimelli-Low
e775f7a355
fixed indent
2021-06-16 12:36:00 -07:00
Jesse Cirimelli-Low
2b9df2ff1f
uncomment function sim and datasheet generation
2021-06-16 11:23:27 -07:00
mrg
6ac082ce23
Only replace simulator if it is defined.
2021-06-16 10:44:13 -07:00
mrg
1adada9e27
Merge branch 'dev' into xyce
2021-06-16 09:52:17 -07:00
Jesse Cirimelli-Low
25bc178132
extend input rail
2021-06-14 15:13:17 -07:00
Hunter Nichols
4132decd32
Merge branch 'dev' into automated_analytical_model
2021-06-14 14:45:48 -07:00
Hunter Nichols
74b55ea83b
Added a graph exclusion clear for the mux to prevent previous graph creations causing bugs.
2021-06-14 14:39:54 -07:00
Hunter Nichols
7df36a916b
Added an exclusion for unused column mux paths to prevent multiple outputs paths in graph.
2021-06-14 13:51:52 -07:00
Hunter Nichols
4d22201055
Changed name of regression test since we currently only test the delay.
2021-06-14 10:57:20 -07:00
mrg
159d0ed603
Fix s_en spacing problem.
2021-06-13 15:08:05 -07:00
mrg
53107a8322
Add ring test
2021-06-13 15:03:41 -07:00
mrg
d6a72aed37
Add 2x1 perimter pins to satisfy minimum area rule.
2021-06-13 15:00:46 -07:00
mrg
2e23fffadd
Fix comment
2021-06-13 14:18:55 -07:00
Jesse Cirimelli-Low
73cc6b3891
uncomment 4x16 decoder
2021-06-11 18:20:36 -07:00
Jesse Cirimelli-Low
bee9b07516
fix decoder routing
2021-06-11 18:19:07 -07:00
Jesse Cirimelli-Low
2e72da0e53
rotate input to rail contacts for drc
2021-06-10 14:01:28 -07:00
Jesse Cirimelli-Low
247a388ab5
Merge branch 'dev' into laptop_checkpoint
2021-06-09 18:25:45 -07:00
Jesse Cirimelli-Low
10f561648f
remove hierarchical decoder vertial m1 above pins
2021-06-09 18:24:21 -07:00
mrg
8964abc2b7
Change simulator based on one in use.
2021-06-09 16:02:32 -07:00
Hunter Nichols
4ec2e1240f
Merge branch 'dev' into automated_analytical_model
2021-06-09 15:45:41 -07:00
Hunter Nichols
c50ffe70b3
Added more configs for model and respective data.
2021-06-09 15:42:15 -07:00
Hunter Nichols
ccf98ad5a6
Added accuracy check in regression model test.
2021-06-09 13:44:42 -07:00
Hunter Nichols
b6b20c1f43
Removed level 0 debug statements for bitlines naming.
2021-06-09 12:53:31 -07:00
Hunter Nichols
f25dcf1b63
Fixed issue with bitline name warning occuring when no issue is present.
2021-06-09 12:52:26 -07:00
Hunter Nichols
a73bfe6c2c
Added more configs for model and data from scn4m_subm run.
2021-06-09 10:35:58 -07:00
mrg
a1cb20878d
Swap LH/HL hold times in sky130.
2021-06-08 11:14:27 -07:00
Hunter Nichols
3d82718f5a
Changed neural network model to be sklearn based
2021-06-07 12:26:45 -07:00
mrg
27c6a13923
Back out drc listall count for detecting errors
2021-06-04 15:51:50 -07:00
mrg
cf61096936
Merge branch 'laptop_checkpoint' into dev
2021-06-04 15:22:37 -07:00
Hunter Nichols
331e6f8dd5
Added functions for testing accuracy of current regression model and associated test.
2021-06-04 15:04:52 -07:00
Hunter Nichols
84783bbac5
Added more configs for model generation
2021-06-04 13:38:17 -07:00
Hunter Nichols
54639bbb94
Added more data for regression models
2021-06-04 13:37:21 -07:00
mrg
6643759345
Add back drc listall with correct output.
2021-06-04 11:06:39 -07:00
mrg
53791d79c8
spacing must be two extensions (one for each cell)
2021-06-04 08:56:06 -07:00
mrg
cc4c6e909b
Check if s_en exists before using it
2021-06-04 07:48:26 -07:00
mrg
4107c983e2
Make sure channel route is below s_en
2021-06-04 07:14:49 -07:00
mrg
537fd6eff9
Use None instead of empty string for tool names.
2021-06-01 16:41:14 -07:00
mrg
1ded978256
Change nwell from gnd to vdd. dnwell space added.
2021-06-01 15:10:55 -07:00
Hunter Nichols
0692593236
Specified line terminator in sim_data output to prevent carriage returns
2021-06-01 14:49:08 -07:00
Hunter Nichols
35ce838c8a
Fixed issues with makefile with removal of prerequisite
2021-05-31 01:07:12 -07:00
Hunter Nichols
4da9d3beaf
Removed config file as a prereq in makefile due to errors. Changes in config file will not result in a re-simming of that configuration now and will require a clean.
2021-05-30 23:58:24 -07:00
Hunter Nichols
ccfda16ab2
Changed makefile to include okay files to indicate which configs have already been simulated for the existing models.
2021-05-30 22:19:56 -07:00
Jesse Cirimelli-Low
24b45ca2d4
use flat magic files instead of gds flatten subcell
2021-05-29 16:54:36 -07:00
Jesse Cirimelli-Low
131ca42512
merge in dev
2021-05-29 16:11:21 -07:00
Jesse Cirimelli-Low
97f43e31f0
remove breakpoint
2021-05-29 16:08:31 -07:00
mrg
e944a5ec02
Use open_pdks setup.tcl if available. Set vdd/gnd/sub in run_ext.sh
2021-05-28 16:39:48 -07:00
Jesse Cirimelli-Low
6705f99855
merge in dev
2021-05-28 14:06:23 -07:00
Jesse Cirimelli-Low
1a894a99dd
push bias pins to top level power routing
2021-05-28 13:41:58 -07:00
mrg
9e8d39f911
Remove debug gds dump
2021-05-28 13:31:19 -07:00
mrg
d6d0df97f8
Get rid of write_size error when write_size==word_size
2021-05-28 13:06:12 -07:00
mrg
77f221d859
Separate supply pin type from route supplies option
2021-05-28 11:55:50 -07:00
mrg
013c5932a0
Valid type is tree not single
2021-05-28 11:26:41 -07:00
mrg
f6587badad
Improve supply routing for ring and side pins
2021-05-28 10:58:30 -07:00
Hunter Nichols
da67edbde8
Changed input format for delay module in xyce delay test.
2021-05-26 20:11:30 -07:00
Hunter Nichols
b3bcf48d2e
Merge branch 'dev' into automated_analytical_model
2021-05-26 18:42:24 -07:00
Hunter Nichols
a53c6c51ed
Added sim data for freepdk45 and removed stale data
2021-05-26 18:40:46 -07:00
mrg
61221ff4fa
Allow tree type
2021-05-26 17:46:41 -07:00
mrg
8bf37ca708
Connect dnwell taps to gnd
2021-05-26 17:38:09 -07:00
mrg
2b5013fd69
Config example changes
2021-05-26 16:14:48 -07:00
mrg
7736d3b927
Fix updated side pin option
2021-05-26 16:14:46 -07:00
mrg
6de5787e58
Fix offsets for ring
2021-05-26 16:14:16 -07:00
mrg
e611f66767
Add dnwell
2021-05-26 16:14:16 -07:00
mrg
6493d1a7f4
Add dnwell
2021-05-26 16:14:16 -07:00
mrg
cc91cdf008
Add power ring pin
2021-05-26 16:14:14 -07:00
mrg
bc793ec3d8
PEP8
2021-05-26 16:13:47 -07:00
mrg
8610144ccb
Fix write size warning
2021-05-26 16:13:47 -07:00
mrg
e16f44cc81
Update lib file with external supply names
2021-05-26 15:34:32 -07:00
mrg
d579a60382
Fix external supply names in verilog
2021-05-26 15:26:20 -07:00
mrg
7fa6c7ce0f
Typo in wmask supply variable
2021-05-26 15:24:31 -07:00
mrg
4a8e0cdabb
Add top-level pin functionality
2021-05-26 15:04:52 -07:00
Hunter Nichols
2f4f8ca912
Fixed conflicts in delay and elmore modules on merge with dev.
2021-05-25 15:25:43 -07:00
Hunter Nichols
52bf8d09d7
Added tech dir to model output so different tech dont overwrite the outputs of eachother.
2021-05-25 15:21:32 -07:00
Hunter Nichols
76f5578cc1
Removed path delays from characterization output to not disturb the current testing flow.
2021-05-25 15:19:27 -07:00
Hunter Nichols
23368c0fcf
Updated tests and elmore model with load_slew lists. Changed naming on characterization output to not clash with testing.
2021-05-25 14:49:28 -07:00
Hunter Nichols
1488b31dce
Adjusted model prediction to account for a single datafile. Adjusted unscaling data as well.
2021-05-24 12:53:51 -07:00
Hunter Nichols
53503f40d2
Changed util functions to expect multiple outputs in data. Changed train models to account for multiple outputs when reading in data.
2021-05-24 12:03:26 -07:00
Hunter Nichols
a4cb539f72
Removed old sim data csvs and added a new version. Added a default check for LAS in data extraction.
2021-05-24 10:44:46 -07:00
Jesse Cirimelli-Low
f9eae3fb80
route bias pisn
2021-05-24 02:42:04 -07:00
mrg
9c01e22281
Prioritize Xyce.
2021-05-21 12:05:10 -07:00
mrg
f856a44376
Restrict to direct KLU solver
2021-05-21 12:04:26 -07:00
mrg
fc17a1ff45
Xyce can be capital or lower case
2021-05-21 12:04:26 -07:00
mrg
d51ec4fe45
Add Xyce tests
2021-05-21 12:04:26 -07:00
mrg
eadf7eedc5
Prioritize Xyce to last until bugs resolved.
2021-05-21 10:01:37 -07:00
Hunter Nichols
4e40017fdc
Added model configs adapted from OpenRAM Library
2021-05-20 15:26:24 -07:00
Hunter Nichols
41c8eeb23c
Adjusted paths in makefile for generating data used in regression models
2021-05-20 13:05:16 -07:00
Hunter Nichols
269b698b0a
Fixed issues with csv generation. Added regex parsing to determine corners from datasheet.
2021-05-18 23:41:16 -07:00
mrg
7c001732b1
Add destination file as dot file
2021-05-18 14:54:13 -07:00
mrg
191b382171
Change magic to use OPENRAM_MAGICRC if defined.
2021-05-18 13:27:11 -07:00
Hunter Nichols
36b1bc1284
Added script to extract data from datasheet output and store in CSV.
2021-05-17 14:04:20 -07:00
Hunter Nichols
0434e57609
Added target in makefile to run configs and store results in tech directory.
2021-05-17 14:03:32 -07:00
mrg
3abebe4068
Add hierarchical seperator option to work with Xyce measurements.
2021-05-14 16:16:25 -07:00
mrg
7534610cdd
Add MPI capability for Xyce threading.
2021-05-14 11:45:37 -07:00
mrg
507ad9f33d
Change sim threads to 3.
2021-05-14 11:45:10 -07:00
mrg
67a67111a6
Initial Xyce support.
2021-05-14 11:28:29 -07:00
mrg
3959cf73d1
Remove setup/hold measure and compute it directly.
2021-05-14 10:11:14 -07:00
mrg
9555b52aaa
Remove setup/hold measure and compute it directly.
2021-05-14 10:01:10 -07:00
Jesse Cirimelli-Low
0ba229afe5
Merge branch 'dev' into laptop_checkpoint
2021-05-07 19:06:17 -07:00
Jesse Cirimelli-Low
e5662180e8
single port 20 series tests running
2021-05-07 18:44:45 -07:00
Jesse Cirimelli-Low
6d8411d19f
use consistent amp spacing
2021-05-07 11:29:43 -07:00
mrg
d43edd95e4
Update golden tests for verilog
2021-05-06 19:56:22 -07:00
mrg
57c58ce4a5
Always route data dff on m3 stack.
2021-05-06 17:14:39 -07:00
mrg
453f260ca2
Add commented save npz file for intern
2021-05-06 17:14:27 -07:00
mrg
e995e61ea4
Fix Verilog module typo. Adjust RBL route.
2021-05-06 14:32:47 -07:00
mrg
c057490923
Delay chain should have same height cells as control logic to align supplies.
2021-05-05 15:45:28 -07:00
mrg
789a8a1cf0
Update golden verilog results
2021-05-05 15:37:27 -07:00
mrg
f677c8a88d
Fix predecoder offset after relocating bank offset
2021-05-05 14:44:05 -07:00
mrg
120c4de5ad
Fix placement of delay chain to align with control logic rows.
2021-05-05 14:21:53 -07:00
mrg
b3948121df
Default supply routing is tree.
2021-05-05 14:04:24 -07:00
mrg
f48b0b8f41
Add left stripe power routes to tree router as option.
2021-05-05 13:45:12 -07:00
mrg
d3f4810d1b
Add error with zero length labels on GDS write.
2021-05-05 13:44:31 -07:00
mrg
2243761500
Must transitively cut blockages until no more.
2021-05-05 13:44:06 -07:00
Hunter Nichols
16904496ac
Made path delays write out to the extended OPTS file.
2021-05-05 01:14:54 -07:00
mrg
19ea33d43d
Move delay line module down.
2021-05-04 16:42:42 -07:00
Jesse Cirimelli-Low
1b53d12df2
don't double count spare col
2021-05-04 01:52:51 -07:00
Jesse Cirimelli-Low
d0e9de1f13
fix port data spare col
2021-05-04 00:41:20 -07:00
Jesse Cirimelli-Low
93b264bc4c
allow spare col number override
2021-05-03 21:59:05 -07:00
Jesse Cirimelli-Low
a7d0a1ef3a
remove breakpoint
2021-05-03 16:54:54 -07:00
Jesse Cirimelli-Low
14e087a5eb
offset bank coordinates
2021-05-03 15:51:53 -07:00
mrg
a0e263b14a
Add vdd/gnd pins to the side.
2021-05-03 15:14:15 -07:00
Jesse Cirimelli-Low
4377619bf6
fixed port_data typo
2021-05-03 14:39:51 -07:00
Jesse Cirimelli-Low
31364e508e
uncomment test (passing)
2021-05-03 13:08:04 -07:00
Jesse Cirimelli-Low
d3199ea70e
Merge branch 'dev' into laptop_checkpoint
2021-05-03 12:53:31 -07:00
Jesse Cirimelli-Low
64b1946d6e
sky130 singlebank drc clean
2021-05-03 12:52:07 -07:00
Jesse Cirimelli-Low
3a3da9e0d7
56 drc errors on col mux 1port
2021-05-02 21:49:09 -07:00
mrg
98fb34c44c
Add conditional power pins to Verilog model.
2021-04-30 14:15:32 -07:00
mrg
fc6e6e1ec7
Add via when write driver supply is different layer
2021-04-28 15:16:26 -07:00
mrg
03e0c14ab2
Move write driver supply to m1 rather than pin layer
2021-04-28 10:13:33 -07:00
Jesse Cirimelli-Low
33e8bce79d
dynamic predecode working
2021-04-25 01:22:36 -07:00
Jesse Cirimelli-Low
6ea4bdc5e5
Merge branch 'dev' into laptop_checkpoint
2021-04-23 22:50:23 -07:00
Jesse Cirimelli-Low
4ea0fcd068
support multi cell wide precharge cells
2021-04-23 22:49:29 -07:00
mrg
467aaa708d
Add noninverting logic function to custom decoder cells.
2021-04-22 16:13:54 -07:00
mrg
d018963866
Specify ImportError to see other errors
2021-04-22 16:13:32 -07:00
mrg
01f4ad7a11
Add sky130 config examples
2021-04-22 13:53:23 -07:00
mrg
a111ecb74c
Fix extra indent that made openlane fail.
2021-04-22 13:05:51 -07:00
mrg
35fcb3f631
Abstracted LEF added. Params for array wordline layers.
2021-04-22 09:44:25 -07:00
mrg
15b0583ff2
Add custom parameter for wordline layer
2021-04-22 09:42:49 -07:00
Hunter Nichols
b8c7fcf182
Removed measurement check which conflicts with multiport memories
2021-04-21 15:53:27 -07:00
mrg
419836411c
Fix missing via for global wordlines.
2021-04-21 11:33:18 -07:00
mrg
f45efe3db6
Abstracted LEF added. Params for array wordline layers.
2021-04-21 11:04:01 -07:00
mrg
584349c911
Add custom parameter for wordline layer
2021-04-21 11:04:01 -07:00
mrg
9b40102bbb
v1.1.15
2021-04-19 11:54:35 -07:00
mrg
439003e203
Respect the bus spacing parameter in predecoder.
2021-04-19 10:51:16 -07:00
Hunter Nichols
5dad0f2c0e
Merged with dev, fixed import conflict in lib
2021-04-18 23:59:35 -07:00
mrg
5b556e6ef5
Update unit test results with new Verilog models.
2021-04-15 15:48:20 -07:00
mrg
aa5e1fd168
Merge remote-tracking branch 'olofk/verilog_model_features' into dev
2021-04-15 14:41:56 -07:00
Olof Kindgren
688a1f1e60
Add HOLD_DELAY parameter for dout in verilog model
...
Signed-off-by: Olof Kindgren <olof.kindgren@gmail.com>
2021-04-15 22:39:49 +02:00
Olof Kindgren
1d657abebc
Add VERBOSE parameter to generated verilog model
...
This allows disabling the $display commands that are generated for every
read and write access to the model. The verilog output has been tested
with the following example script
from compiler.base.verilog import verilog
v = verilog()
v.num_words = 256
v.word_size = 32
v.write_size = 8
v.name = "sky130_sram_1kbyte_1rw1r_32x256_8"
v.all_ports = [0,1]
v.readwrite_ports = [0]
v.read_ports = [0,1]
v.write_ports = [0]
v.addr_size=8
v.verilog_write("mymodule.v")
Signed-off-by: Olof Kindgren <olof.kindgren@gmail.com>
2021-04-15 22:33:57 +02:00
Jesse Cirimelli-Low
e976c4043b
Merge branch 'dev' into laptop_checkpoint
2021-04-14 15:58:06 -07:00
Jesse Cirimelli-Low
2f1d7b879f
make bank compatable with sky130
2021-04-14 15:09:25 -07:00
mrg
41226087ba
Use separate mXp pin layer if it exists
2021-04-14 13:55:21 -07:00
mrg
3eed6bb8ff
Check for None before checking DRC tool
2021-04-14 11:07:38 -07:00
mrg
a730fd0f10
Use magic for LEF abstract. Fix supply perimter pin.
2021-04-14 10:01:43 -07:00
mrg
0e48e020c1
Use pins in computing bbox offsets
2021-04-13 16:24:28 -07:00
mrg
e706f776eb
Offset macro to 0,0 which was accidentally comented by a PR
2021-04-13 16:24:13 -07:00