Spectre/Ocean for EDA development

Discussion in 'Cadence' started by Tao Chen, Mar 5, 2009.

  1. Tao Chen

    Tao Chen Guest

    I am trying to make a matlab script to do some optimization to my
    circuits. Since I only have technology files for Spectre, I use
    Spectre in command line to run the simulations, and invoke ocean
    functions to get the results (which seems to be the only way to get
    simulation results by command line?). Then my program can do some
    adjustments to the circuit parameters based on these results, and send
    the new circuit for simulations, and so on.

    Hundreds of simulations need to be run. Now the problem is, for each
    simulation I have to invoke Ocean once, which is very time-consuming
    (it needs almost the same time as invoking cadence itself). Is there
    any way to avoid this and speed up my optimization process?

    Thanks!
    Tao
     
    Tao Chen, Mar 5, 2009
    #1
  2. Tao Chen

    S. Badel Guest

    There's quite some overhead when running ocean. I can suggest the following :

    1/ Optimize your simulation flow to use the simulator native capabilities as much as possible (for
    example when doing sweeps, altergroups). Then use ocean to process the resulting data in batches.

    2/ Have only a single ocean session running the whole time, and send commands to it via some kinf
    of IPC when there's data to process. I don't know how much this would be feasible with matlab though.

    3/ Variation of 2/ where the ocean session is the master. It runs the simulator, processes the
    data and either saves it into a format suitable for post-processing by matlab or invoke matlab
    on-the-fly.

    4/ Avoid ocean completely by using MDL (which gives some sort of built-in data processing
    capabilities). It's less flexible than ocean, but for simple enough processing it outputs a file in
    text format with the results, simple enough to parse in a MATLAB script (I guess).

    Maybe one of these will suit your case.

    Cheers,
    Stéphane
     
    S. Badel, Mar 5, 2009
    #2
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.