Konnor Kivimagi
09/10/2024, 5:46 PMMitch Bailey
09/10/2024, 6:06 PM**** begin user architecture code
.subckt sky130_fd_pr_reram__reram_cell TE BE Tfilament_0=3.3e-9 area_ox=0.1024e-12
N1 TE BE nFilament sky130_fd_pr_reram__reram_model
.ic v(nFilament)={Tfilament_0*1.0e9}
.ends sky130_fd_pr_reram__reram_cell
.model sky130_fd_pr_reram__reram_model sky130_fd_pr_reram__reram_module area_ox = 0.1024e-12 Tox =
+ 5.0 Tfilament_max = 4.9 Tfilament_min = 3.3 Eact_generation = 1.501 Eact_recombination = 1.500
+ I_k1 = 6.140e-5 Tfilament_ref = 4.7249 V_ref = 0.430 velocity_k1 = 150 gamma_k0 = 16.5 gamma_k1
+ = -1.25 Temperature_0 = 300 C_thermal = 3.1825e-16 tau_thermal = 0.23e-9 t_step = 1.0e-9
+ smoothing = 1e-7 Kclip = 200
.control
pre_osdi
+ /home/kivimagi/reram/caravel_user_project/dependencies/pdks/sky130B/libs.tech/ngspice/sky130_fd_pr_reram__reram_module.osdi
.endc
Konnor Kivimagi
09/10/2024, 6:25 PMMitch Bailey
09/10/2024, 9:21 PMsky130_fd_pr_reram__reram_cell
from the source spice netlist.Konnor Kivimagi
09/10/2024, 10:32 PMMitch Bailey
09/10/2024, 11:50 PMvolare ls
Konnor Kivimagi
09/11/2024, 2:43 AMvolare ls
does not work for meKonnor Kivimagi
09/11/2024, 2:54 AMMitch Bailey
09/11/2024, 4:03 AMnetgen -batch lvs "layout.spice layout_cell" "netlist.spice netlist_cell" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl
Mitch Bailey
09/11/2024, 4:39 AMPDK_ROOT
and run make pdk-with-volare
Konnor Kivimagi
09/11/2024, 1:01 PMKonnor Kivimagi
09/14/2024, 5:08 PMMitch Bailey
09/14/2024, 9:00 PMexport PDK=sky130B
?Konnor Kivimagi
09/15/2024, 12:22 AMWarning: device level LVS may be incomplete due to 1 unflattened cell(s)
Could that be my problem and how might I solve that?Mitch Bailey
09/15/2024, 6:40 AMYonguk Sim
09/16/2024, 8:48 AMMitch Bailey
09/16/2024, 10:09 AMYonguk Sim
09/16/2024, 10:11 AMKonnor Kivimagi
09/16/2024, 1:07 PMmake run-precheck
from caravel_user_project_analog
The LVS is the last step its trying to check.Mitch Bailey
09/16/2024, 2:11 PMmpw_precheck_log.txt
check that @Yonguk Sim shared has the pdk set to sky130A.
STDOUT: {{PDKs Info}} SKY130A: None | Open PDKs: 0fe599b2afb6708d281543108caf8310912f54af
If this is the local precheck, run the following command first.
export PDK=sky130B
Konnor Kivimagi
09/16/2024, 4:17 PMexport PDK=sky130B
and that fixed the netlists not matching, however those property errors still persist. I cant find mpw_precheck_log.txt
where does that normally output to?Mitch Bailey
09/16/2024, 5:55 PMprecheck_results/<timestamp>/logs/precheck.log
Konnor Kivimagi
09/16/2024, 6:27 PMMitch Bailey
09/16/2024, 6:52 PM/home/kivimagi/reram/caravel_user_project_analog/precheck_results/15_SEP_2024___00_06_18/logs/LVS_check.log
Konnor Kivimagi
09/16/2024, 6:58 PMMitch Bailey
09/16/2024, 7:19 PM/home/kivimagi/PDK/sky130B/libs.tech/magic/sky130B.tech: version 1.0.470-0-g6d4d117
/home/kivimagi/mpw_precheck/checks/be_checks//tech/sky130B/sky130B.tech: version 1.0.446-0-gdd7771c
Can you change MPW_TAG
in the Makefile to 2024.09.13-1
and then run
make precheck
make run-precheck
Konnor Kivimagi
09/16/2024, 8:15 PMsky130_fd_pr_reram__reram_cell
from the source netlist earlier, but i am unable to do that now do to it coming from the .gds fileMitch Bailey
09/16/2024, 8:26 PMPDK
is set to sky130B
.
MPW_TAG
is set to 2024.09.13-1
in the Makefile
.
What version of the PDK are you using? Can you try with this version?
$ volare ls
In /opt/pdks/volare/sky130/versions:
├── 0fe599b2afb6708d281543108caf8310912f54af (2024.08.17) (enabled)
Can you attach your LVS_check.log
and lvs.report
?Konnor Kivimagi
09/16/2024, 8:35 PMMitch Bailey
09/16/2024, 8:50 PMvolare enable 0fe599b2afb6708d281543108caf8310912f54af
The precheck version still appears to be old.
Can you share your Makefile
?Konnor Kivimagi
09/16/2024, 8:51 PMMitch Bailey
09/16/2024, 8:59 PMecho $MPW_TAG
When you run make precheck
, can you see the version being downloaded?Konnor Kivimagi
09/16/2024, 9:05 PMecho $MPW_TAG
does not print anything.
remote: Enumerating objects: 236, done.
remote: Counting objects: 100% (236/236), done.
remote: Compressing objects: 100% (176/176), done.
remote: Total 236 (delta 76), reused 145 (delta 49), pack-reused 0 (from 0)
Receiving objects: 100% (236/236), 10.15 MiB | 4.66 MiB/s, done.
Resolving deltas: 100% (76/76), done.
Note: switching to '0941bdc1b62b5c3f99c8683bd11199d330af2ef3'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
Updating files: 100% (238/238), done.
Trying to pull <http://docker.io/efabless/mpw_precheck:latest|docker.io/efabless/mpw_precheck:latest>...
Getting image source signatures
Copying blob 446f83f14b23 skipped: already exists
Copying blob a33f1a51bb0d skipped: already exists
Copying blob 4f4fb700ef54 skipped: already exists
Copying blob a978b6397646 skipped: already exists
Copying blob 7e50b4b8ee26 skipped: already exists
Copying blob 9bfd1ff29161 skipped: already exists
Copying blob 7622a4fc0077 skipped: already exists
Copying blob 2960fe10ac99 skipped: already exists
Copying blob 88703f993b8a skipped: already exists
Copying blob 4f4fb700ef54 skipped: already exists
Copying blob cda7266f6049 skipped: already exists
Copying blob a8d0fa0056b2 skipped: already exists
Copying blob 0ed9ea9f0f89 skipped: already exists
Copying blob df4c5942c2fb skipped: already exists
Copying blob 27662f800ba7 skipped: already exists
Copying blob 4f4fb700ef54 skipped: already exists
Copying blob 1b8f752dd2a6 skipped: already exists
Copying blob 4f4fb700ef54 skipped: already exists
Copying blob 066586644a86 skipped: already exists
Copying blob 29a472ae3270 skipped: already exists
Copying blob 4f4fb700ef54 skipped: already exists
Copying blob e67d7c1673ea skipped: already exists
Copying blob 4f4fb700ef54 skipped: already exists
Copying blob 04ee5843b197 skipped: already exists
Copying config 811cdd989a done
Writing manifest to image destination
811cdd989a0dc59c3f6d0cb81fcb72302bc324536104d5d7a194a0da0f793739
is what i get running make precheck
Mitch Bailey
09/16/2024, 9:42 PMPRECHECK_ROOT
set?
If it is, can you share the first 20 lines of $PRECHECK_ROOT/checks/be_checks/tech/sky130B.tech
?
If it is not set, can you share the first 20 lines of $HOME/mpw_precheck/checks/be_checks/tech/sky130B.tech
?Konnor Kivimagi
09/16/2024, 10:00 PM$HOME/mpw_precheck/checks/be_checks/tech/sky130B.tech
#------------------------------------------------------------------------
# Copyright (c) 2020 R. Timothy Edwards
# Revisions: See below
#
# This file is an Open Source foundry process describing
# the SkyWater sky130 hybrid 0.18um / 0.13um fabrication
# process. The file may be distributed under the terms
# of the Apache 2.0 license agreement.
#
#------------------------------------------------------------------------
tech
format 35
sky130B
end
version
version 1.0.493-0-g0fe599b
description "SkyWater SKY130: Open Source rules and DRC"
requires magic-8.3.411
end
Mitch Bailey
09/16/2024, 10:52 PMLVS_check.log
, so I’m confused.
Does make lvs-user_analog_project_wrapper
give a clean LVS result?Konnor Kivimagi
09/17/2024, 2:06 AMTraceback (most recent call last):
File "/home/kivimagi/mpw_precheck/checks/lvs_check/lvs.py", line 7, in <module>
from checks.utils import utils
ModuleNotFoundError: No module named 'checks'
make: *** [Makefile:99: lvs-user_analog_project_wrapper] Error 1
make lvs-user_analog_project_wrapper
does not workMitch Bailey
09/17/2024, 2:15 PMpython3 checks/lvs_check/lvs.py
to
python3 -m checks.lvs_check.lvs
I think it will work.Konnor Kivimagi
09/17/2024, 4:01 PMMitch Bailey
09/17/2024, 4:35 PMsky130_fd_pr_reram__reram_cell
?Mitch Bailey
09/17/2024, 4:39 PM.subckt sky130_fd_pr_reram__reram_cell TE BE
X0 TE BE sky130_fd_pr_reram__reram_cell area_ox=1
.ends
This conflict, layout cell vs primitive device, is what is causing the problem.
Try renaming the layout cell to something like sky130_fd_pr_reram__reram_cell_X
.
Was this created with a magic device generator?Konnor Kivimagi
09/17/2024, 4:40 PMMitch Bailey
09/17/2024, 4:47 PMsky130_fd_pr_reram__reram_cell
created manually in magic or automatically using a device generator located in the Devices 1
or Devices 2
menus?Konnor Kivimagi
09/17/2024, 4:49 PMMitch Bailey
09/17/2024, 4:52 PMKonnor Kivimagi
09/17/2024, 5:24 PMNetlists match uniquely with property errors.
x1T1R:1T1R_0/sky130_fd_pr_reram__reram_cell_X:XR1/sky130_fd_pr_reram__reram_cell:0 vs. 1T1R:1/sky130_fd_pr_reram__reram_cell:R1:
Property area_ox in circuit1 has no matching property in circuit2
I was able to fix that by removing area_ox=1
from line 4 in the file I attached. Is there a file that I can edit so that part doesnt get generated in the .gds file? Seems like it will work as long as that little section doesn't get added.Mitch Bailey
09/17/2024, 5:49 PMvolare ls
Mitch Bailey
09/17/2024, 5:51 PMKonnor Kivimagi
09/17/2024, 5:58 PM(toolchain) [kivimagi@linuxvdi-38 ~]$ volare ls
In /home/kivimagi/PDK/volare/sky130/versions:
└── 6d4d11780c40b20ee63cc98e645307a9bf2b2ab8 (2024.02.11) (enabled)
Thank you I appreciate it, I will poke around at it some more today as wellMitch Bailey
09/17/2024, 10:04 PMMPW_TAG=2024.09.13-1
and
export OPEN_PDKS_COMMIT?=0fe599b2afb6708d281543108caf8310912f54af
in the Makefile
followed by
make pdk-with-volare
make precheck
Konnor Kivimagi
09/18/2024, 1:26 AMMitch Bailey
09/18/2024, 1:36 AMarea_ox
parameter to your schematic and re-netlist? The device size is 1umx1um, right?Konnor Kivimagi
09/18/2024, 1:49 AMKonnor Kivimagi
09/18/2024, 1:58 AMMitch Bailey
09/18/2024, 3:41 AMKonnor Kivimagi
09/19/2024, 6:42 PM