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.
Does anyone know how to code the opening of a layout view to a specific window size and location (on the user's monitor) so the user does not have to resize each view opened from the Library Manager?
Searched for this topic but did not see a related thread.
I used to be able to configure this with Mentor Graphics apps, but do not see how to do it in Cadence....would be very nice to have.
Put this in your ~/.cdsenv (adjust coordinates as you want):
layout leWindowBBox string "((100 100) (800 700))"
In reply to Andrew Beckett:
Thanks so much Andrew.
I have found the leWindowBBox() environment variable in our documentation now and I am using it.
Can you help with sample code to control the size and location of the LSW and CIW as well?
I have tried "leResizeLSW((0 0) (158 1170))" and "leSetLSWBBox((0 0) (150 2000))" for example, in the CIW, but cannot get the syntax correct. The arguments passed are not being recognized as a list, despite having the same format returned by "leGetLSWBBox()"
I have not located anything that defines or controls the size and placement of the CIW.
In reply to jaleco:
You are close, but when a bounding box is returned to you, it is not quite the same format used to specify the same (I will show an example shortly). If a bounding box is returned by a function, then that return value can be used directly as input to another function that accepts a bounding box format in its input. Here is how you would specify a bounding box:
leResizeLSW('((0 0) (158 1170)))
leSetLSWBBox(list(list(0 0) list(150 2000)))
Hopefully the examples will help; the bounding box is a list of lists
structure. The first example uses the single quote to prevent the SKILL
interpreter from evaluating what is in the parentheses, and so this would
return the list of lists structure exactly as written. In the second
example I used the list function to create the list and sub-lists.
In the third example I use the ":" range operator to generate the sub-lists
and the list function to make the top-most list. Do not attempt to use a
combination of '() with the list function or the range operator inside the
parentheses as this will not give what you want since the items inside the
parentheses would not be evaluated (and you want the list or range functions
In reply to skillUser:
Thank you Lawrence,
the commands to resize or to set the LSW in-session, from the CIW command input line work.
And I have located the commands to size the CIW at startup using "hiResizeWindow()".
I was hoping to use the Session file to restore the LSW window at startup, but it does not appear to work for the LSW.
Is there some way to set the size and location of the LSW at startup or automatically when a layout view is opened - as opposed to defining a function to, or by typing the leSetLSWBBox() command directly after a layout view is open?
An addendum to the prior post - the session file does NOT save the previous CIW size and location. The session file ONLY restores the Layout window approximate size and location, and the Library manager window size and location.