Po-Chun Huang
07/14/2022, 10:30 PMCarl Brando
07/15/2022, 12:30 AMMitch Bailey
07/15/2022, 3:22 AMchecks/utils/utils.py
)
if analog_gds_path.exists() and not digital_gds_path.exists():
project_config['type'] = 'analog'
project_config['netlist_type'] = 'spice'
project_config['top_module'] = 'caravan'
project_config['user_module'] = 'user_analog_project_wrapper'
project_config['golden_wrapper'] = 'user_analog_project_wrapper_empty'
project_config['top_netlist'] = caravel_root / "spi/lvs/caravan.spice"
project_config['user_netlist'] = project_path / "netgen/user_analog_project_wrapper.spice"
The pre-check expects the user_analog_project_wrapper
power ports to be connected to vccd1_core
etc. However, when it checks caravel/spi/lvs/caravan.spice
it finds mprj/vccd1
connected instead. I believe the cause is that vccd1_core
text has been removed from caravan
. Also the extracted result appears to be missing wiring at the top level. I'll log an issue.
If you wanted to force fix, this might work
sed -i.bak 's,mprj/\(v...[12]\)\>,\1_core,g' caravel/spi/lvs/caravan.spice
Mitch Bailey
07/15/2022, 3:50 AMPo-Chun Huang
07/15/2022, 3:52 AMPo-Chun Huang
07/20/2022, 7:08 PMMitch Bailey
07/20/2022, 11:18 PMSoumil Jain
08/29/2022, 11:22 PMMitch Bailey
08/30/2022, 1:10 AMSoumil Jain
08/30/2022, 1:11 AMMitch Bailey
08/30/2022, 1:15 AMSoumil Jain
08/30/2022, 2:33 AMMitch Bailey
08/30/2022, 4:02 AMcaravan.spice
file that needs to be modified is inside the docker image.
See https://open-source-silicon.slack.com/archives/D03PJ8S988M/p1657886097926969Soumil Jain
08/30/2022, 4:24 AMMitch Bailey
08/30/2022, 5:06 AMefabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --input_directory $(INPUT_DIRECTORY) --pdk_path $(PDK_ROOT)/$(PDK)"
to
efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; sed -i.bak 's,mprj/\(v...[12]\)\>,\1_core,g' /opt/caravel/spi/lvs/caravan.spice ; python3 mpw_precheck.py --input_directory $(INPUT_DIRECTORY) --pdk_path $(PDK_ROOT)/$(PDK)"
but changing the Makefile might cause the precheck to fail.
You might try mounting the docker image and then editing the file.Soumil Jain
08/30/2022, 6:28 AM/opt/caravel/spi/lvs/sedeh8dUb
Mitch Bailey
08/30/2022, 12:50 PMSoumil Jain
08/30/2022, 4:23 PMvia.1a_b : maximum length of via : 0.15um
In the figure below, the purple rectangle is supposed to be a reram layer and so I made it's dimensions much bigger than 0.15um x 0.15um (0.23um x0.23um).
Is this something that needs to be fixed in the klayout layer properties file, at libs.tech/klayout/sky130B.lyp?
#reram @Tim EdwardsMitch Bailey
08/30/2022, 11:32 PMSoumil Jain
08/31/2022, 12:33 AMMitch Bailey
08/31/2022, 12:42 AMTim Edwards
08/31/2022, 12:49 AMSoumil Jain
08/31/2022, 2:57 AMSoumil Jain
09/01/2022, 10:28 PMMitch Bailey
09/02/2022, 2:15 PMSUBMODULE HOOKS CHECK
.
The ReRAM layers show up correctly in magic, right?
What version of tech file are you using? Should be in the magic log.Soumil Jain
09/02/2022, 2:59 PMMitch Bailey
09/02/2022, 3:38 PMSoumil Jain
09/02/2022, 4:16 PMSoumil Jain
09/05/2022, 3:21 PMMitch Bailey
09/05/2022, 4:31 PM41c0908b
used for mpw-7a does not have the fix for ReRAM layer from commit d7faec2
This means that designs using ReRAM may be missing that layer in the gds streamed out from magic and will not work.Soumil Jain
09/06/2022, 9:55 PMSUBMODULE HOOKS CHECK
are working now. However, I'm still failing the Klayout BEOL check
due to ReRAMs being seen as via1, which is the last precheck I'm failing.
I uploaded the precheck.log
from precheck I did locally, which shows 32 drc errors in the Klayout BEOL check
, and the klayout_beol_check.xml
marker file. The GDS is at the GitHub project repo (https://github.com/jainsoumil2/caravan_reram_crossbar.git),
gds/user_analog_project_wrapper.gds
.
#analog-design #reramMitch Bailey
09/06/2022, 10:25 PMSoumil Jain
09/06/2022, 11:18 PM2022-09-06 22:46:48 - [INFO] - {{EXTRACTING FILES}} Extracting compressed files in: /Volumes/export/isn/soumil/caravel_analog_reram_crossbar
2022-09-06 22:46:51 - [INFO] - {{Project Type Info}} analog
2022-09-06 22:46:51 - [INFO] - {{Project GDS Info}} user_analog_project_wrapper: 9918f9e9cd4da5064e0bae3c5ca0de4aed84018a
2022-09-06 22:46:52 - [INFO] - {{Tools Info}} KLayout: v0.27.10 | Magic: v8.3.315
2022-09-06 22:46:52 - [ERROR] - MPW Precheck failed to get Open PDKs & Skywater PDK versions: Command '['git', '-C', '/Volumes/export/isn/soumil/open_pdks/volare/sky130/versions/41c0908b47130d5675ff8484255b43f66463a7d6/open_pdks', 'rev-parse', '--verify', 'HEAD']' returned non-zero exit status 128.
2022-09-06 22:46:52 - [INFO] - {{START}} Precheck Started, the full log 'precheck.log' will be located in '/Volumes/export/isn/soumil/caravel_analog_reram_crossbar/precheck_results/06_SEP_2022___22_46_48/logs'
2022-09-06 22:46:52 - [INFO] - {{PRECHECK SEQUENCE}} Precheck will run the following checks: [License, Makefile, Default, Documentation, Consistency, XOR, Magic DRC, Klayout FEOL, Klayout BEOL, Klayout Offgrid, Klayout Metal Minimum Clear Area Density, Klayout Pin Label Purposes Overlapping Drawing, Klayout ZeroArea]
2022-09-06 22:46:52 - [INFO] - {{STEP UPDATE}} Executing Check 1 of 13: License
2022-09-06 22:46:53 - [INFO] - An approved LICENSE (Apache-2.0) was found in /Volumes/export/isn/soumil/caravel_analog_reram_crossbar.
2022-09-06 22:46:53 - [INFO] - {{MAIN LICENSE CHECK PASSED}} An approved LICENSE was found in project root.
2022-09-06 22:46:54 - [INFO] - An approved LICENSE (Apache-2.0) was found in /Volumes/export/isn/soumil/caravel_analog_reram_crossbar.
2022-09-06 22:46:55 - [INFO] - An approved LICENSE (Apache-2.0) was found in /Volumes/export/isn/soumil/caravel_analog_reram_crossbar.
2022-09-06 22:46:55 - [INFO] - {{SUBMODULES LICENSE CHECK PASSED}} No prohibited LICENSE file(s) was found in project submodules
2022-09-06 22:46:56 - [INFO] - {{SPDX COMPLIANCE CHECK PASSED}} Project is compliant with the SPDX Standard
2022-09-06 22:46:56 - [INFO] - {{STEP UPDATE}} Executing Check 2 of 13: Makefile
2022-09-06 22:46:56 - [INFO] - {{MAKEFILE CHECK PASSED}} Makefile valid.
2022-09-06 22:46:56 - [INFO] - {{STEP UPDATE}} Executing Check 3 of 13: Default
2022-09-06 22:46:56 - [INFO] - {{README DEFAULT CHECK PASSED}} Project 'README.md' was modified and is not identical to the default 'README.md'
2022-09-06 22:46:56 - [INFO] - {{CONTENT DEFAULT CHECK PASSED}} Project 'gds' was modified and is not identical to the default 'gds'
2022-09-06 22:46:56 - [INFO] - {{STEP UPDATE}} Executing Check 4 of 13: Documentation
2022-09-06 22:46:56 - [INFO] - {{DOCUMENTATION CHECK PASSED}} Project documentation is appropriate.
2022-09-06 22:46:56 - [INFO] - {{STEP UPDATE}} Executing Check 5 of 13: Consistency
2022-09-06 22:46:58 - [INFO] - HIERARCHY CHECK PASSED: Module user_analog_project_wrapper is instantiated in caravan.
2022-09-06 22:46:58 - [INFO] - COMPLEXITY CHECK PASSED: Netlist caravan contains at least 8 instances (68 instances).
2022-09-06 22:46:58 - [INFO] - MODELING CHECK PASSED: Netlist caravan is structural.
2022-09-06 22:46:58 - [INFO] - SUBMODULE HOOKS CHECK PASSED: All module ports for user_analog_project_wrapper are correctly connected in the top level netlist caravan.
2022-09-06 22:46:58 - [INFO] - {{NETLIST CONSISTENCY CHECK PASSED}} caravan netlist passed all consistency checks.
2022-09-06 22:46:58 - [INFO] - PORTS CHECK PASSED: Netlist user_analog_project_wrapper ports match the golden wrapper ports
2022-09-06 22:46:58 - [INFO] - COMPLEXITY CHECK PASSED: Netlist user_analog_project_wrapper contains at least 1 instances (1 instances).
2022-09-06 22:46:58 - [INFO] - MODELING CHECK PASSED: Netlist user_analog_project_wrapper is structural.
2022-09-06 22:46:58 - [INFO] - LAYOUT CHECK PASSED: The GDS layout for user_analog_project_wrapper matches the provided structural netlist.
2022-09-06 22:46:58 - [INFO] - {{NETLIST CONSISTENCY CHECK PASSED}} user_analog_project_wrapper netlist passed all consistency checks.
2022-09-06 22:46:58 - [INFO] - {{CONSISTENCY CHECK PASSED}} The user netlist and the top netlist are valid.
2022-09-06 22:46:58 - [INFO] - {{STEP UPDATE}} Executing Check 6 of 13: XOR
2022-09-06 22:47:07 - [INFO] - {{XOR CHECK UPDATE}} Total XOR differences: 0, for more details view /Volumes/export/isn/soumil/caravel_analog_reram_crossbar/precheck_results/06_SEP_2022___22_46_48/outputs/user_analog_project_wrapper.xor.gds
2022-09-06 22:47:07 - [INFO] - {{XOR CHECK PASSED}} The GDS file has no XOR violations.
2022-09-06 22:47:07 - [INFO] - {{STEP UPDATE}} Executing Check 7 of 13: Magic DRC
2022-09-06 22:47:08 - [INFO] - 0 DRC violations
2022-09-06 22:47:08 - [INFO] - {{MAGIC DRC CHECK PASSED}} The GDS file, user_analog_project_wrapper.gds, has no DRC violations.
2022-09-06 22:47:08 - [INFO] - {{STEP UPDATE}} Executing Check 8 of 13: Klayout FEOL
2022-09-06 22:47:26 - [INFO] - No DRC Violations found
2022-09-06 22:47:26 - [INFO] - {{Klayout FEOL CHECK PASSED}} The GDS file, user_analog_project_wrapper.gds, has no DRC violations.
2022-09-06 22:47:26 - [INFO] - {{STEP UPDATE}} Executing Check 9 of 13: Klayout BEOL
2022-09-06 23:09:40 - [ERROR] - Total # of DRC violations is 32 Please check /Volumes/export/isn/soumil/caravel_analog_reram_crossbar/precheck_results/06_SEP_2022___22_46_48/outputs/reports/klayout_beol_check.xml For more details
2022-09-06 23:09:40 - [WARNING] - {{Klayout BEOL CHECK FAILED}} The GDS file, user_analog_project_wrapper.gds, has DRC violations.
2022-09-06 23:09:40 - [INFO] - {{STEP UPDATE}} Executing Check 10 of 13: Klayout Offgrid
2022-09-06 23:09:49 - [INFO] - No DRC Violations found
2022-09-06 23:09:49 - [INFO] - {{Klayout Offgrid CHECK PASSED}} The GDS file, user_analog_project_wrapper.gds, has no DRC violations.
2022-09-06 23:09:49 - [INFO] - {{STEP UPDATE}} Executing Check 11 of 13: Klayout Metal Minimum Clear Area Density
2022-09-06 23:09:52 - [INFO] - No DRC Violations found
2022-09-06 23:09:52 - [INFO] - {{Klayout Metal Minimum Clear Area Density CHECK PASSED}} The GDS file, user_analog_project_wrapper.gds, has no DRC violations.
2022-09-06 23:09:52 - [INFO] - {{STEP UPDATE}} Executing Check 12 of 13: Klayout Pin Label Purposes Overlapping Drawing
2022-09-06 23:09:54 - [INFO] - No DRC Violations found
2022-09-06 23:09:54 - [INFO] - {{Klayout Pin Label Purposes Overlapping Drawing CHECK PASSED}} The GDS file, user_analog_project_wrapper.gds, has no DRC violations.
2022-09-06 23:09:54 - [INFO] - {{STEP UPDATE}} Executing Check 13 of 13: Klayout ZeroArea
2022-09-06 23:09:55 - [INFO] - No DRC Violations found
2022-09-06 23:09:55 - [INFO] - {{Klayout ZeroArea CHECK PASSED}} The GDS file, user_analog_project_wrapper.gds, has no DRC violations.
2022-09-06 23:09:55 - [INFO] - {{FINISH}} Executing Finished, the full log 'precheck.log' can be found in '/Volumes/export/isn/soumil/caravel_analog_reram_crossbar/precheck_results/06_SEP_2022___22_46_48/logs'
2022-09-06 23:09:55 - [CRITICAL] - {{FAILURE}} 1 Check(s) Failed: ['Klayout BEOL'] !!!
Mitch Bailey
09/07/2022, 12:30 AM$PDK_ROOT/sky130B/libs.tech/magic/sky130B.tech
that you create the gds with is later than 1.0.310
. If the technology file has been updated, you will need to recreate the gds for each openlane block from the lowest to the highest.
If the technology version is older:
1. Check that you are on the latest commit of caravel_user_project_analog
with the correct caravel
commit.
2. If you are, please log an urgent issue on caravel_user_project_analog
@jeffdi Who is in charge of version control on caravel_user_project/caravel_user_project_analog
?Tim Edwards
09/07/2022, 1:00 AMSoumil Jain
09/07/2022, 9:35 AM1.0.291
. I also tried make pdk_with_volare
command from caravel_analog_user_project documentation (https://github.com/efabless/caravel_user_project_analog/blob/main/docs/source/index.rst), which gives the same sky130B.tech version.
Where can I find instructions to download 1.0.310
or later?Tim Edwards
09/07/2022, 1:44 PMdonn
09/07/2022, 1:46 PMdonn
09/07/2022, 1:47 PMMitch Bailey
09/07/2022, 1:55 PMSoumil Jain
09/07/2022, 3:05 PM.volare/volare/sky130/versions/fa87f8f4bbcc7255b6f0c0fb506960f531ae2392/sky130B/libs.tech/magic/sky130B.tech
still shows the version as 1.0.291, unless I am looking at the wrong place.
I did manage to pass the klayout BEOL precheck with this update, perhaps klayout’s layer properties (.lyp) file was updated. However, when I try to open my GDS in klayout with .volare/volare/sky130/versions/fa87f8f4bbcc7255b6f0c0fb506960f531ae2392/sky130B/libs.tech/klayout/tech/sky130B.lyp
, I don’t see any reram layers (screenshot attached). The rerams are generated as via1 with the same dimensions as a standard via1 (0.15um x 0.15um) this time, which is probably why it does not throw a drc. The reram does show up when I import the gds in magic (screenshot attached) with dimensions 0.26um x 0.26um. Should I be concerned about this?
GDS file at updated GitHub repo - https://github.com/jainsoumil2/caravan_reram_crossbar.gitMitch Bailey
09/07/2022, 3:10 PMcaravel/Makefile
, they need to be aware of the commit for open_pdks
. It may not have been the most recent data.donn
09/07/2022, 3:41 PMdonn
09/07/2022, 3:52 PMdonn
09/07/2022, 3:54 PMAmro Tork
09/07/2022, 3:54 PMMitch Bailey
09/07/2022, 3:56 PM201/20
there in klayout?donn
09/07/2022, 3:58 PMMitch Bailey
09/07/2022, 4:02 PMgit fetch --tags
Soumil Jain
09/07/2022, 4:23 PMsky130B.lyp
and it does not show up as an empty layer either.Soumil Jain
09/07/2022, 4:25 PMMitch Bailey
09/07/2022, 9:45 PM201/20
dissappears. If you then open in a new window with the layer file already loaded, what happens? This may be a klayout issue.Soumil Jain
09/07/2022, 11:57 PM