I need your advice to make an automatic QA system for PDK using SKILL

Discussion in 'Cadence' started by Reotaro Hashemoto, Apr 28, 2008.

  1. Hi,

    I am targeting to build an automatic QA system for particular PDK,
    would you kindly give me sample duties that this system should
    perform?

    Is it better to test and simulate every component using a SKILL code
    or OCEAN code??

    In other words, when to use SKILL and when to use OCEAN?

    Thanks and best regards,
    Ahmad
     
    Reotaro Hashemoto, Apr 28, 2008
    #1
  2. Reotaro Hashemoto

    Riad KACED Guest

    Hi Ahmad,

    The ideal QA tool will check the integrity of every single file and
    reports any single change between PDK versions. This ideal tool is
    unfortunately a utopia that does not exist in a real world. We have
    tried to make this with 2 or 3 of my colleagues in my former company
    and we managed to get something very powerful but it does not prevent
    from leaking and letting couple of bugs going through …

    The duties of such a tool is to run all the flows supported by the
    PDK, not only on inverters but real-case designs as well.

    In other words, you have to make modules for :

    Digital/Analog/AMS/RF FE simulation (DC/AC/Tran/Noise …)
    DRC
    LVS
    RC Extraction
    Dummy filling
    Layout finishing


    Instantiate all the supported devices, with the most significant
    parameter sets, insure that they instantiate well, netlist well, call
    the pcells well, run the callbacks well, check the CDFs, the Model
    files, pass the DRC, well exctracted by the LVs engine, well extracted
    by the Parasitic extractor engine … and That’s only a little bit !

    Run the DRC flows, the LVS Flows, RCX, …

    Well, the list is very long and It’s very hard to achieve.
    I learnt over my experience that the best way in QA-ing a PDK is to
    run it on real designs (recent tapeouts for example).

    The QA tool we made was a huge Perl engine which runs bits of Skill,
    Shell, Eldo (I was not using ocean/spectre at this time)

    That’s a pretty heavy stuff to tackle!

    Good luck anyway!

    Riad.
     
    Riad KACED, Apr 30, 2008
    #2
  3. Riad KACED wrote, on 04/30/08 00:15:
    You might also want to take a look at:

    http://www.cdnusers.org/Portals/0/cdnlive/emea2007/customdesign/1.8GiroudFCSR.pdf

    Whilst the QA aspect wasn't the main focus of the paper, it does talk a bit
    about this.

    Note that OCEAN _is_ SKILL. It's just a SKILL API to simply control simulation
    and evaluate results. It certainly makes sense to use OCEAN functions as part of
    your SKILL code to QA the PDK.

    I've done this by auto-generating schematics, containing instances of the
    devices, with controllable sources on each pin of the device - to at least check
    things like the fact that they netlist and simulate with no errors, and then to
    validate that the operating point access works, and so on. More complex tests
    are needed of course to validate that the models behave properly, but that's
    perfectly doable.

    Cadence also has a tool "STEP" which is for doing PDK testing automation. You
    might want to contact your Cadence account manager for details.

    Regards,

    Andrew.
     
    Andrew Beckett, Apr 30, 2008
    #3
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.