Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
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.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
Hello. I am writing with regards to OceanXL. I, too, am having trouble using OceanXL to do what I have been able to do previously with Ocean. My two issues are below:
1. I would like to have OceanXL output only certain outputs (such as those I have specified in ADE or ADEXL, like gain, bandwidth, etc) in tabular format using something like fprintf or the like. It doesn't seem to work the same way I have tried in the regular OCEAN since I am running distributed sims.
2. I would also like to run OCEANXL in distributed mode AND run it in the background without it holding down my cadence session. In the past, I have run OCEAN using the icsub command, but this precludes me running distributed sims. I would like to run OCEANXL using the icsub command AND have it use my distributed simulation settings specified in my OCEANXL script.
Of course, I can run distributed sims in ADEXL which works. But when I run enough sims in parallel, my cadence session gets tied down and I can't do anything else. This is undesirable. My productivity goes down 10x!
The above issues are not spelled out at all in the OCEANXL reference provided to designers. Do you have suggestions for a better reference and/or how to fix the problems?
I split this post into a new topic, because it's bad practice to tack onto an existing thread (which is really rather different). I am hoping to get some forum guidelines up at some point to make it clear what the "rules" are for the forum. Anyway, never mind - it's split off now.
OCEAN XL can quite happily output only certain outputs - you control that via the ocnxlOutputExpr function. If however you want to have something where you post-process all the results afterwards and format the data in the specific way you want, there are a couple of possible approaches:
For point 2, "icsub" is not a Cadence command - it's presumably something in your environment to submit to a queuing system. I'm not sure why you can't distribute from there. For example, in my office I have LSF set up, and I can use "bsub" to submit my virtuoso or ocean session, and then run an OCEAN or OCEAN XL script which further distributes the jobs. So icsub won't be in the documentation because it is nothing to do with Cadence. From a quick search, it seems to be a command used at one particular company (headquartered in Milpitas?) - if so, I used to work for them (albeit nearly 20 years ago now) ;-)
In reply to Andrew Beckett:
I appreciate your response on this. I should have made a new post in the first place, but I'm a newbie to this forum and pretty much forums in general.
It looks like I've figured out how to run an OCEAN that includes OCEANXL distributed processing settings. To get this to work, I simply have to submit the job to the same queue that the distributed processing commands within the OCEAN (XL) script specify. For example, if, in my script, I specify:
ocnxlJobSetup( '( "blockemail" "1" "configuretimeout" "300" "distributionmethod" "LBS" "jobqueue" "medium"...
Then I should submit the command as follows:
bsub -q medium "ocean <ocean script.ocn> outputlog.log"
This seems to work well for me.
I have also found that if I run these simulations in OCEAN (XL) and close the corresponding ADEXL session, importing the data into ADEXL doens't take nearly as much time to process the data as it did before when I ran the simulation interactively in ADEXL. So, I could postprocess using the axlWriteDatasheet function, but ADEXL will work too. I will still look into this datasheet function.
I have another question that I will post in another thread.
You are right about the company I work for. I am new as of April and that's why I didn't know much about bsub or icsub...
I have a question on running parallel jobs through ocean script.In my script I have
hostMode( 'distributed )simList = append1( simList run( ?jobName RunName ?queue "normal" ?lsfResourceStr "rusage[mem=1000]" ?mail nil) )
However some waiting jobs are alwasy submitted to queue 'desktop' instead of 'normal'.
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME781242 stsui RUN normal lx-deskh333 sc2b0671 *1_0.85005 Apr 29 21:52781245 stsui RUN normal lx-deskh333 sc2b0671 *1_0.85005 Apr 29 21:52781241 stsui RUN normal lx-deskh333 cabr0188 *1_0.95005 Apr 29 21:52513604 stsui PEND desktop lx-deskh333 wait004 Apr 27 17:35781246 stsui PEND desktop lx-deskh333 wait005 Apr 29 21:52
Do you know which ocean command to correct the queue name problem?
In reply to stsui: