mrg
0c3ee643ab
Remove add_mod and add module whenever calling add_inst.
2021-11-22 11:33:27 -08:00
mrg
e6a009312e
Move mem reg before usage for compatibility
2021-10-13 09:46:02 -07:00
Hunter Nichols
39ae1270d7
Merge branch 'dev' into cacti_model
2021-09-20 17:01:50 -07:00
mrg
8d9a4cc27b
PEP8 cleanup
2021-09-07 16:49:44 -07:00
Hunter Nichols
1236a0773a
Added SA parameters for CACTI delay. Fixed syntax issues in several modules. Fixed issue with slew not being propogated to the next delay stage.
2021-09-07 15:56:27 -07:00
Hunter Nichols
6b8d143073
Changed cacti RC delay function to better match cacti code in bitcell. Sense amp also has similar changed but is missing transconductance parameter.
2021-09-01 14:27:13 -07:00
erendo
e9b370bf21
Fix write masks in Verilog
2021-08-29 00:31:32 +03:00
Hunter Nichols
680d7b5d93
Added special RC delay functions for the bitline and sense amp to match CACTI. Contains temporary parameters which need to be defined.
2021-08-25 16:12:05 -07:00
Hunter Nichols
12c03ddd9f
Fixed issues with load capcitance units. Changed freepdk45 r and c wire values to be more in line with cacti.
2021-08-16 22:58:26 -07:00
Hunter Nichols
b3500982ca
Fixed issue with wire resistance in total resistance equations for cacti. Fixed issue with sense amp resistance values.
2021-08-04 16:10:27 -07:00
Hunter Nichols
b44f840814
Changed delay calculation to include wire resistance and wire capacitance. Added bitline r and c values.
2021-08-01 19:25:54 -07:00
Hunter Nichols
1b89533d7b
Added unit r and c values with m2 minwidth incorporated to match CACTI params
2021-08-01 00:23:59 -07:00
biarmic
85955ce298
Fix addr flop in Verilog
2021-07-30 12:22:55 +03:00
Hunter Nichols
54cbef1aff
Replaced cacti tech params with already existing params. Added an existence check in design_rules.
2021-07-27 14:31:22 -07:00
Hunter Nichols
1e08005639
Merge branch 'dev' into cacti_model
2021-07-26 14:35:47 -07:00
Hunter Nichols
3e0a49e58d
Added options for the model type in timing graph (cacti or elmore)
2021-07-25 22:28:23 -07:00
Hunter Nichols
5ad86538d4
Renamed graph_util to timing_graph to match the module name
2021-07-25 20:21:54 -07:00
Hunter Nichols
7dd9023ce4
Uncommented horowitz delay function.
2021-07-21 15:02:39 -07:00
Hunter Nichols
10085d85ab
Changed CACTI drain cap function to be roughly equivalent but use less parameters. Added drain cap functions to relevant modules. Added drain cap parameters in tech files.
2021-07-21 14:59:02 -07:00
Hunter Nichols
1acc10e9d5
Added name changes to on resistance params. Added input capacitance functions to relevant modules for CACTI input load functions.
2021-07-21 12:24:08 -07:00
Hunter Nichols
f6924b7cc2
Removed unusued inputs in drain_c function
2021-07-20 11:33:18 -07:00
Hunter Nichols
ebc91814e5
Fixed various issues with imported code from CACTI, added CACTI as an option for analytical sim, added placeholder names in tech files for CACTI
2021-07-12 15:48:47 -07:00
Hunter Nichols
2c9f755a73
Added on resistance functions for pgates, custom cells, and bitcell.
2021-07-12 14:25:37 -07:00
Hunter Nichols
e9bea4f0b6
Changed names of some functions in base CACTI delay function. Removed unused analytical delay functions.
2021-07-12 13:02:22 -07:00
Jesse Cirimelli-Low
1a7adcfdad
fix vnb and vpb routing in rba
2021-07-08 18:31:55 -07:00
Hunter Nichols
c1efa2de59
Added delay function for cacti, moved cacti related delay functions to hierarchy_spice, and trimmed the functions to remove irrelevant options for OpenRAM.
2021-07-07 13:22:30 -07:00
Jesse Cirimelli-Low
b5daa51a6c
don't use hard coded purpose numbers
2021-07-01 17:31:01 -07:00
Jesse Cirimelli-Low
c9b3f4772e
fix bias correspondence points
2021-06-30 05:21:39 -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
8d71a98ce9
Make purposes argument to gdsMill. Create prefixGDS.py script.
2021-06-22 14:40:43 -07:00
mrg
af31027504
Fix error in 1 spare column Verilog
2021-06-21 13:13:53 -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
1ce6b4d41a
fix freepdk45
2021-06-17 03:21:01 -07:00
Hunter Nichols
16e658726e
When determining bitline names, added a technology check for sky130.
2021-06-16 17:04:02 -07:00
mrg
cf61096936
Merge branch 'laptop_checkpoint' into dev
2021-06-04 15:22:37 -07:00
mrg
1ded978256
Change nwell from gnd to vdd. dnwell space added.
2021-06-01 15:10:55 -07:00
Jesse Cirimelli-Low
6705f99855
merge in dev
2021-05-28 14:06:23 -07:00
mrg
77f221d859
Separate supply pin type from route supplies option
2021-05-28 11:55:50 -07:00
mrg
f6587badad
Improve supply routing for ring and side pins
2021-05-28 10:58:30 -07:00
mrg
8bf37ca708
Connect dnwell taps to gnd
2021-05-26 17:38:09 -07:00
mrg
6493d1a7f4
Add dnwell
2021-05-26 16:14:16 -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
Jesse Cirimelli-Low
f9eae3fb80
route bias pisn
2021-05-24 02:42:04 -07:00
mrg
3abebe4068
Add hierarchical seperator option to work with Xyce measurements.
2021-05-14 16:16:25 -07:00
Jesse Cirimelli-Low
0ba229afe5
Merge branch 'dev' into laptop_checkpoint
2021-05-07 19:06:17 -07:00
mrg
e995e61ea4
Fix Verilog module typo. Adjust RBL route.
2021-05-06 14:32:47 -07:00
mrg
2243761500
Must transitively cut blockages until no more.
2021-05-05 13:44:06 -07:00
Jesse Cirimelli-Low
d3199ea70e
Merge branch 'dev' into laptop_checkpoint
2021-05-03 12:53:31 -07:00
mrg
98fb34c44c
Add conditional power pins to Verilog model.
2021-04-30 14:15:32 -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
a111ecb74c
Fix extra indent that made openlane fail.
2021-04-22 13:05:51 -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
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
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
d609e4ea04
Reimplement trim options (except on unit tests).
...
Allow trim netlist to be used for delay and functional simulation.
Each class implements a "trim_insts" set of instances that can be removed.
By default far left, right, top and bottom cells in the bitcell arrays are kept.
Use lvs option in sp_write
Fix lvs option in sram.
2021-04-07 16:07:56 -07:00
mrg
db118beeba
Zoom parameter should be optional in tech files.
2021-03-02 13:38:09 -08:00
mrg
9e7c04a43a
Merge lekez2005 changes WITHOUT control logic change.
2021-03-01 15:19:30 -08:00
mrg
4ab694033d
Merge remote-tracking branch 'bvhoof/dev' into dev
2021-03-01 12:16:26 -08:00
ota2
48bc47c686
Set pin label size to use zoom factor from tech specifications
2021-02-27 18:30:57 -05:00
jcirimel
b18e2eae8d
remove debug lines and merge
2021-02-09 20:53:23 -08:00
jcirimel
dbe8a7f1af
fix pwell pin shape bug
2021-02-09 20:51:50 -08:00
Bob Vanhoof
d14a68847e
added cell label checker and cell labels to the freepdk technology
2021-02-09 13:09:26 +01:00
mrg
bc8fd4a882
Merge branch 'supply_router' into dev
2021-01-25 11:01:48 -08:00
Matt Guthaus
eebc2a93b6
Remove redundant pins when adding each pin
2021-01-25 09:36:27 -08:00
Matt Guthaus
30fc81a1f0
Update copyright year.
2021-01-22 11:23:28 -08:00
mrg
db142bcd5a
Rename pins to original names
2021-01-21 15:22:54 -08:00
mrg
88f2198524
Always use min area power/IO pins
2021-01-13 13:56:46 -08:00
mrg
4991693f1a
Clean up min area
2021-01-13 12:32:17 -08:00
mrg
01d312d65c
Refactor add power pins
2021-01-13 10:57:12 -08:00
mrg
7eb1e2f2d1
Keep previous pin shapes which were used in router pin connections.
2021-01-06 11:31:16 -08:00
mrg
d61fcb3be3
Fix lpp erase bug in removing router annotations
2021-01-06 09:39:01 -08:00
mrg
94b1e729ab
Don't add vias when placing dff array
2020-12-22 17:08:53 -08:00
mrg
286ac635d6
Escape router changes.
...
Rename exit router to escape router.
Perform supply and signal escape routing after channel and other routing.
2020-12-22 16:35:05 -08:00
mrg
52119fe3b3
Cleanup exit route. Pins are on perimeter mostly.
2020-12-22 15:56:51 -08:00
mrg
ae1c889235
Updates to IO signal router.
...
Route signals to perimeter using maze router.
Move IO pins without perimeter pins to M3 using add_io_pin (like add_power_pin).
2020-12-22 09:39:58 -08:00
mrg
6101195b51
Function to remove layout pins.
2020-12-21 12:44:04 -08:00
mrg
878a9cee8a
Add channel routes as flat instances to appease Magic extraction.
2020-12-15 16:01:39 -08:00
mrg
fd118c62e5
Default zom is None not negative.
2020-12-15 13:27:36 -08:00
mrg
2954f13294
Update temp file to be relative
2020-12-14 14:18:18 -08:00
mrg
9a3776e758
Use default zoom for text
2020-12-14 14:18:00 -08:00
mrg
d542b7dd76
Add separate box for pins if it has its own purpose
2020-12-08 10:31:57 -08:00
mrg
a2ebaf9f81
Fix typo
2020-12-08 10:31:39 -08:00
mrg
62bf713913
Only remove files at end of openram
2020-12-01 11:19:37 -08:00
mrg
0ccb3487b6
Set default port map
2020-11-24 13:27:11 -08:00
mrg
4e10f6d8a6
Make cell/bitcell custom cell external accessible.
2020-11-24 12:01:00 -08:00
mrg
cdcd115cec
Fix typos
2020-11-24 10:35:14 -08:00
jcirimel
d2bc7340ed
finish col cap start row cap
2020-11-24 03:02:55 -08:00
jcirimel
f40e5f6dba
start of adding additional granularity to 1port col caps
2020-11-23 06:55:47 -08:00
mrg
5ee3f4cc66
Many edits.
...
Use internal vdd/gnd names.
Refactor getters in bitcell to base class.
Add BIAS signal type.
2020-11-22 08:24:47 -08:00
mrg
95573c858c
Can redefine number of ports in custom_cell_properties
2020-11-21 08:05:49 -08:00
Hunter Nichols
53e64fb696
Merge branch 'dev' into characterizer_bug_fixes
2020-11-20 11:16:41 -08:00
mrg
35c162acbd
Use internal pin names in path names for signal traces.
2020-11-19 08:45:09 -08:00
mrg
fbed738b4a
Merge multiple cell_name fix.
2020-11-18 16:27:28 -08:00
mrg
8c72d3f2e7
PEP8 and small fix
2020-11-18 14:01:25 -08:00
mrg
8507881ea8
Merge branch 's8_single_port' into dev
2020-11-18 13:59:43 -08:00
jcirimel
50a0b88ef8
fix typo
2020-11-18 11:02:40 -08:00
jcirimel
520b496611
check for cell prop names list
2020-11-18 10:47:05 -08:00
mrg
305b546ad5
PEP8 cleanup
2020-11-17 16:56:00 -08:00
mrg
02c1fac3b8
Remove partial Verilog output
2020-11-17 16:51:08 -08:00
Hunter Nichols
ac425643a0
Merge branch 'dev' into characterizer_bug_fixes
2020-11-17 13:22:56 -08:00
Hunter Nichols
eaf285639a
Added debug measurements along main delay paths in SRAM. WIP.
2020-11-17 12:43:17 -08:00
mrg
baae28194b
Add custom cell custom port order code. Update setup/hold to use it.
2020-11-17 11:12:59 -08:00
mrg
86799ae3ff
Small bug fixes related to new name mapping.
2020-11-16 13:42:42 -08:00
mrg
1d729e8f02
Move pin name mapping to layout class.
2020-11-16 11:04:03 -08:00
mrg
93e94e26ec
Get vdd/gnd from properties if it is defined.
2020-11-16 10:14:37 -08:00
mrg
e4bc2c4914
Update property settings with getters/setters
2020-11-14 08:08:42 -08:00
mrg
2f994b8c0a
Change custom cells to use set_ports setter
2020-11-14 07:15:27 -08:00
mrg
b4342ac527
More cleanup
2020-11-13 17:29:20 -08:00
mrg
a2b17a271c
Port type order generated on the fly
2020-11-13 16:41:02 -08:00
mrg
01d191da40
clk_pin is redundant in DFFs
2020-11-13 16:23:27 -08:00
mrg
8021430122
Fix pbitcell erros
2020-11-13 15:55:55 -08:00
mrg
c472a94f1e
Rework bitcells.
...
Name them 1port and 2port consistently.
Allow cell overrides to cell_1rw and cell_2rw or other.
Will use 2rw for 1rw/1r, 2rw, 1w/1r, etc.
2020-11-13 10:07:40 -08:00
mrg
cf63499e76
Convert bitcells to 1port and 2port
2020-11-13 08:09:21 -08:00
mrg
198c0faf85
Remove special s8 6t names
2020-11-13 07:45:31 -08:00
mrg
662d4ea724
Merge remote-tracking branch 'private/drclvs' into dev
2020-11-12 16:01:07 -08:00
mrg
9eeab14639
Add comment before pininfo
2020-11-12 14:33:42 -08:00
mrg
190234df58
Add PININFO to outputs too
2020-11-12 12:12:53 -08:00
mrg
d4c4658c77
Clean up invalid routing layer error message
2020-11-12 09:43:08 -08:00
mrg
d3cb22c8c1
Fix pin vs module names issue #26
2020-11-12 09:33:48 -08:00
mrg
03dad01e4c
Use readspice to define ports from sp netlist in Magic extract.
2020-11-10 17:06:24 -08:00
mrg
66633a843b
Add PDK layer names to tech file
2020-11-09 09:10:43 -08:00
mrg
2c76a2680f
Adjust openram options.
...
Remove option -d (dontpurge) and replace with keeptemp
Add option -d (debug) to drop into pdb.
Add option -k (--keeptemp) to keep temp files
2020-11-05 13:12:26 -08:00
Matt Guthaus
844b850b74
Fix typo in 1w_1r bitcell
2020-11-03 17:14:45 -08:00
mrg
1de545fc8e
Fix row and col cap custom names by adding default.
2020-11-03 13:32:15 -08:00
mrg
29ac541b28
Refactor dynamic cell name to utilize base class
2020-11-03 13:18:46 -08:00
mrg
1890385be1
Use custom cells when needed.
2020-11-03 11:58:25 -08:00
mrg
cb3e9517bb
Use cell_properties to override cell names
2020-11-03 07:06:01 -08:00
mrg
da721a677d
Remove EOL whitespace globally
2020-11-03 06:29:17 -08:00
mrg
f9787eb878
Use bitcell_base for all bitcells. Fix missing setup_bitcell call
2020-11-02 17:00:15 -08:00
mrg
fa89b73ef8
PR from mithro + other changable GDS file names
2020-11-02 16:00:16 -08:00
Tim 'mithro' Ansell
95d77119c7
Add caches to GDS related functions in utils.py
...
* Cache the GDS reader.
* Cache the properties (size / pins / etc) measured from the GDS files.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-11-02 09:52:00 -08:00
mrg
f6c5f48b4c
Default channel route is true
2020-10-28 10:31:05 -07:00
mrg
acfec369d6
Add ptx cell properties
2020-10-28 09:54:15 -07:00
mrg
611a4155b9
Add initial custom layer properties.
2020-10-27 15:11:04 -07:00
mrg
5bff641c0a
Multiport constants can't be static
2020-10-27 09:28:21 -07:00
mrg
575f504e4b
Remove static method call
2020-10-27 09:26:40 -07:00
mrg
07ef43eaf8
Convert design class data to static
2020-10-27 09:23:11 -07:00
mrg
f23fe07893
Add custom layers without defaults
2020-10-26 16:37:00 -07:00
mrg
b45a7902c0
PEP8 cleanup
2020-10-26 13:13:38 -07:00