Hi, I'm a student who just started with IC design....
# sky130
s
Hi, I'm a student who just started with IC design. Since the school provides Cadence tools for free, I'm currently using Virtuoso for schematic design and simulation with the Sky130 PDK (currently using
efabless/main
from Github). What I want to simulate is a simple
nfet
simulation, but I keep encountering many errors. Since the Spectre simulator supports both Spectre and Spice, I thought it would work without issue. I know Sky130 is friendly to the open-source tools, but is it intentionally incompatible with Virtuoso? Does anyone have any insights or comments on this? Please share your experiences with getting it to work with Virtuoso. I would greatly appreciate any advice on the Sky130 PDK ecosystem and its compatibility with Cadence tools.
The errors I encounter are: 1.
{math_expression}
is not working.
'math_expression'
works if it is manually modified.
ex)
.param sw_tox_lv_corner = {4.148e-09+corner_factor*0.0}
[Github link] ERROR (SFE-841): "PATH/skywater-pdk-libs-sky130_fd_pr/combined_models/continuous/parameters_fet_tt.spice" 20: Cannot run the simulation because an unexpected character '{' was found at line 20 in the netlist. Correct the syntax error and rerun the simulation. ERROR (SFE-874): "PATH/skywater-pdk-libs-sky130_fd_pr/combined_models/continuous/parameters_fet_tt.spice" 20: Cannot run the simulation because syntax error `Unexpected closing parenthesis. Expected end of file or end of line' was encountered at line 20, column 56. Correct the syntax error and rerun the simulation. 2.
AGAUSS
is not recognized. I had to explicitly define this distribution using the
statistics
block.
+ delvto = {sw_vth0_sky130_fd_pr__nfet_01v8_nat+sw_mm_vth0_sky130_fd_pr__nfet_01v8_nat*mismatch_factor*MC_MM_SWITCH*AGAUSS(0,1.0,1)/sqrt(l*w*mult)+sw_vth0_sky130_fd_pr__nfet_01v8_nat_mc*3}
[Github link] ERROR (SFE-874): "PATH/skywater-pdk-libs-sky130_fd_pr/combined_models/continuous/models_fet.spice" 89: Cannot run the simulation because syntax error `Unexpected Monte-Carlo distribution "AGAUSS"' was encountered at line 89, column 129. Correct the syntax error and rerun the simulation.
k
To download the PDK for virtuoso you need to login to Cadence Support's website or contact the people responsible for managing EDA licenses as they will have access to a registered account with Cadence. It's available for free on their website and should be easy to setup.
s
Thank you. What I found is the Sky130 PDK version is v0.0.1 from Cadence, and this version doesn't fully support Monte Carlo simulation to my knowledge. I found a Slack convo in which Dr. Tim Edwards doesn't recommend using that version, rather use the latest version maintained by Efabless.
https://open-source-silicon.slack.com/archives/C016HUV935L/p1708873815877839?thread_ts=1708860928.694399&cid=C016HUV935L
It sounds like the latest version isn't available on Cadence yet.. Have anyone come across Cadence for Sky130?