Mihai Hurdugaciu
02/06/2023, 2:56 PM$ python3 sram_compiler.py macros/test1.py
Traceback (most recent call last):
File "/home/mihaih/OpenRAM/sram_compiler.py", line 49, in <module>
openram.init_openram(config_file=args[0])
File "/home/mihaih/OpenRAM/compiler/globals.py", line 199, in init_openram
import_tech()
File "/home/mihaih/OpenRAM/compiler/globals.py", line 572, in import_tech
tech_mod = __import__(OPTS.tech_name)
File "/home/mihaih/OpenRAM/technology/sky130/__init__.py", line 32, in <module>
raise SystemError("Did not find {} under {}".format(sky130_lib_ngspice, open_pdks))
SystemError: Did not find /home/mihaih/OpenRAM/sky130A/sky130A/libs.tech/ngspice/sky130.lib.spice under /home/mihaih/OpenRAM/sky130A/sky130A/libs.tech
Where do I need to setup the PDK_ROOT?
After Openram setup I have several places were I have Sky130 pdk :
├── open_pdks
│ ├── common
│ ├── runtime
│ ├── scripts
│ ├── sky130
│ └── sources
├── openram.egg-info
├── sky130A
│ ├── libs.ref
│ └── libs.tech
├── sky130B
│ ├── libs.ref
│ └── libs.tech
├── sky130_fd_bd_sram
│ ├── cells
│ └── docs
├── skywater-pdk
│ ├── docs
│ ├── libraries
│ ├── scripts
│ └── third_party
└── technology
├── freepdk45
├── scn3me_subm
├── scn4m_subm
├── setup_scripts
└── sky130
thanksMatthew Guthaus
02/06/2023, 5:26 PMMihai Hurdugaciu
02/06/2023, 7:55 PM$PDK_ROOT = #HOME/OpenRAM
seems to work.
I manage to run a config and I have the error from the picture RROR: file bitcell_base.py: line 273: Must override build_graph function in bitcell base class.
but I see generated files .
• next I use the sram module in a hierarchical OpenLane flow design (SRAM is the only hardened macro) and I get this DRCs :
Magic DRC Summary:
Source: /openlane/designs/vsdmemsoc/runs/RUN_CUSTRAM/reports/signoff/drc.rpt
Violation Message "This layer can't abut or partially overlap between subcells "found 7198 Times.
Violation Message "Metal3 > 3um spacing to unrelated m3 < 0.4um (met3.3d) "found 30 Times.
Violation Message "Can't overlap those layers "found 623746 Times.
Violation Message "Min area of metal1 holes > 0.14um^2 (met1.7) "found 447689 Times.
Violation Message "All nwells must contain metal-connected N+ taps (nwell.4) "found 1280 Times.
Total Magic DRC violations is 1079943
Do you have any idea for possible sources for the violations ? I expect that I do not need to manually correct all of them in magic.Matthew Guthaus
02/06/2023, 10:52 PMMihai Hurdugaciu
02/07/2023, 4:18 AM|==============================================================================|
|========= OpenRAM v1.2.1 =========|
|========= =========|
|========= VLSI Design and Automation Lab =========|
|========= Computer Science and Engineering Department =========|
|========= University of California Santa Cruz =========|
|========= =========|
Matthew Guthaus
02/07/2023, 3:00 PMMihai Hurdugaciu
02/07/2023, 3:02 PMDESIGN_NAME": "vsdmemsoc",
"VERILOG_INCLUDE_DIRS": "dir::src/include",
"VERILOG_FILES": "dir::src/module/*.v",
"EXTRA_LEFS": "dir::src/macros/hdp_sky130_sram_1kbytes_1rw1r_32x256_8.lef",
"EXTRA_GDS_FILES": "dir::src/macros/hdp_sky130_sram_1kbytes_1rw1r_32x256_8.gds",
"EXTRA_LIBS": "dir::src/macros/hdp_sky130_sram_1kbytes_1rw1r_32x256_8_TT_1p8V_25C.lib",
"CLOCK_PORT": "CLK",
"CLOCK_PERIOD": 10,
"VDD_NETS": "vccd1",
"GND_NETS": "vssd1",
"FP_SIZING": "relative",
"PL_TARGET_DENSITY": 0.2,
"RT_MAX_LAYER": "met5",
"FP_PDN_MACRO_HOOKS": "mem vccd1 vssd1 vccd1 vssd1, cntrl vccd1 vssd1 vccd1 vssd1",
"BASE_SDC_FILE": "dir::src/sdc/vsdmemsoc_synth.sdc",
"SYNTH_SIZING": 1,
"SYNTH_FLAT_TOP": 1,
"SYNTH_STRATEGY": "AREA 0",
"FP_CORE_UTIL" : 15,
"PL_MACRO_HALO": "100 100",
"ROUTING_CORES": 6,
"MAGIC_DRC_USE_GDS": false,
"QUIT_ON_MAGIC_DRC": false,
"RUN_KLAYOUT_XOR": false,
"RUN_KLAYOUT_DRC" : true,
"DESIGN_IS_CORE": true
Matthew Guthaus
02/07/2023, 3:23 PMMihai Hurdugaciu
02/07/2023, 3:24 PMtest1.py
Matthew Guthaus
02/07/2023, 3:35 PMMihai Hurdugaciu
02/10/2023, 2:32 PM