• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Issue with Skywater 130 Monte Carlo Mismatch Analysis

Stats

  • Replies 4
  • Subscribers 130
  • Views 954
  • Members are here 0

Issue with Skywater 130 Monte Carlo Mismatch Analysis

VLSI lab IITB
VLSI lab IITB 1 month ago

I’ve encountered an issue while running Monte Carlo mismatch simulations using the Sky130 PDK in Cadence. Even though all transistor dimensions are well within the valid limits defined by the PDK, the simulation fails and reports an error stating that the device dimensions are “out of the defined bound.”

It appears there might be a bug in the Monte Carlo mismatch model files for Sky130. Could someone please suggest a solution to it?

  • Cancel
  • Sign in to reply
  • Andrew Beckett
    Andrew Beckett 1 month ago

    What model files are you including in your simulations. From what I can see, the models have statistics blocks, but they are commented out. I can't see how Monte Carlo would even run... (I am assuming you're using Spectre). How did you set up the Monte Carlo run?

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • VLSI lab IITB
    VLSI lab IITB 1 month ago in reply to Andrew Beckett

    Hi Andrew, Thanks for the prompt response.

    To run the monte-carlo analysis I am including the following files:

    i) montecarlo.spice

    ii) Additionally another spice file named critical.spice, contains some definitions needed for montecarlo.spice, so I am including that too.

    Both montecarlo.spice and critical.spice are present in the parameters directory.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • VLSI lab IITB
    VLSI lab IITB 25 days ago in reply to VLSI lab IITB

    Hi Andrew,

    I just wanted to follow up on my previous message. Any update or insight from your end would be really appreciable.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 25 days ago in reply to VLSI lab IITB

    Apologies - I didn't get any email notification from your previous append where you answered my question.

    However, I tried doing this - this is what I have in my spectre netlist (created from ADE):

    include "$KITHOME/models/sky130.lib.spice" section=tt
    include "$KITHOME/models/parameters/montecarlo.spice"
    include "$KITHOME/models/parameters/critical.spice"

    The first is the default model file that gets auto-added in ADE (I changed the path to have $KITHOME rather than the normal full path, as this makes it easier for me to switch kit versions).

    With the addition of the second two files (actually just adding the second causes this), a single (non-monte Carlo) run fails with:

    Reading file: /export/home/user/kits/sky130_release_0.1.0/models/sonos_e/begin_of_life.pm3.spice

    Error found by spectre in `sky130_fd_bs_flash__special_sonosfet_star', during circuit read-in.
      ERROR (SFE-1016): "/export/home/user/kits/sky130_release_0.1.0/models/parameters/../sonos_e/begin_of_life.pm3.spice" 30: Model `sky130_fd_bs_flash__special_sonosfet_star__model.0', the expected number of value followed by `l*w*mult' is 1, but found 0.
      ERROR (SFE-1016): "/export/home/user/kits/sky130_release_0.1.0/models/parameters/../sonos_e/begin_of_life.pm3.spice" 178: Model `sky130_fd_bs_flash__special_sonosfet_star__model.1', the expected number of value followed by `l*w*mult' is 1, but found 0.
      ERROR (SFE-1016): "/export/home/user/kits/sky130_release_0.1.0/models/parameters/../sonos_e/begin_of_life.pm3.spice" 326: Model `sky130_fd_bs_flash__special_sonosfet_star__model.2', the expected number of value followed by `l*w*mult' is 1, but found 0.

    Reading file: /export/home/user/kits/sky130_release_0.1.0/models/sonos_p/begin_of_life.pm3.spice

    Error found by spectre in `sky130_fd_bs_flash__special_sonosfet_original', during circuit read-in.
      ERROR (SFE-1016): "/export/home/user/kits/sky130_release_0.1.0/models/parameters/../sonos_p/begin_of_life.pm3.spice" 30: Model `sky130_fd_bs_flash__special_sonosfet_original__model.0', the expected number of value followed by `l*w*mult' is 1, but found 0.
      ERROR (SFE-1016): "/export/home/user/kits/sky130_release_0.1.0/models/parameters/../sonos_p/begin_of_life.pm3.spice" 178: Model `sky130_fd_bs_flash__special_sonosfet_original__model.1', the expected number of value followed by `l*w*mult' is 1, but found 0.
      ERROR (SFE-1016): "/export/home/user/kits/sky130_release_0.1.0/models/parameters/../sonos_p/begin_of_life.pm3.spice" 326: Model `sky130_fd_bs_flash__special_sonosfet_original__model.2', the expected number of value followed by `l*w*mult' is 1, but found 0.

    Also, looking in these files, there are no statistic definitions - there is in the "critical.spice" file but it's all commented out. I can't see how this would be working with Monte Carlo for you.

    If I omit the "montecarlo.spice" then the simulation runs (I leave the critical.spice included) as a single run. 

    If I run with Monte Carlo, Spectre fails with:

    ************************************************
    Monte Carlo Analysis `mc1': iteration = (1 -> 5)
    ************************************************

    Error found by spectre during Monte Carlo analysis `mc1'.
      ERROR (SPECTRE-16012): mc1: Attempt to run Monte Carlo analysis with process and mismatch variations, but no variations were specified in the statistics block.

    Analysis `mc1' was terminated prematurely due to an error.

    Can you please share the model setup from the top of the input.scs? Have you modified any of the model files?

    Also, where did you get the PDK from? I got it from the Resources->PDK on http://support.cadence.com - i.e. sky130_release_0.1.0 (is that the version you're using?)

    Andrew 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information