About HSPICE Compatibility
HSPICE Compatibility provides direct reading and simulation of HSPICE formatted netlists together with arbitrary ADS components within the ADS environment. Using the HSPICE Netlist Design Generation Wizard, you can create an ADS component using a specified HSPICE netlist and include this component in your analog/RF designs.
Using HSPICE Compatibility, you can simulate HSPICE Rx/Tx blocks from 3rd parties or internal IC design teams and take full advantage of the powerful transient/convolution, versatile passive models, Momentum, Ptolemy co-simulation, and eye diagram processing offered by ADS.
HSPICE Compatibility supports:
- most elements and models (C, D, E, F, G, H, I, K, L, M, P, Q, R, T, V, W, X)
- common syntax structures (.subckt, .include, .lib, .param)
- selected .options
HSPICE Compatibility does not support:
- B, J, S, and U elements
- analysis and measurements
- .protect, .data, .vec statement types
Understanding HSPICE Netlist Design Generation Wizard
To facilitate the usage of HSPICE netlists within ADS, there is a Wizard dialog that steps you through the process of creating a specialized component that represents your HSPICE file. This wizard is access from schematic menus, by choosing Tools>HSPICE Compatibility Component Wizard... For more information, see the section Creating HSPICE Compatible Designs.
HSPICE compatibility was developed to provide solutions for SI engineers designing transmission channels to conform to eye diagram and BER specifications.
This design flow typically involves:
- Obtaining models of drivers and receivers in HSPICE format
- Package model extraction in the form of S-parameters or equivalent HSPICE representations
- Board layout (Allegro, Mentor, ADS) and simulation (Momentum, ADS, SiWave)
- Transient/convolution simulation (ADS)
Supported Design Flows
HSPICE Compatibility provides support for two main design flows:
- Flow 1: Self contained HSPICE simulation file simulated in ADS
- Flow 2: HSPICE core design file that requires source stimulation in ADS
Flow 1: Self contained HSPICE simulation file simulated in ADS
In this flow, you will have a file that contains all of the circuit elements, source stimulation, options, and simulation directives required to run a simulation in HSPICE. There may be a core circuit that is accessed via a .include statement, and models that are accessed via .lib statements. This flow is targeted towards being able to simultaneously run simulations in ADS and HSPICE.
With HSPICE compatibility this file is used directly, with no import conversions or file changes necessary. When the HSPICE Compatibility Wizard is used, it will detect the file type and will generate an ADS component that can be placed within an ADS schematic. The wizard gives the option of promoting one or more of the nodes used by top level circuit elements to be input/output terminals that can then be connected to other ADS elements. Or the file can be used without any input/output terminals; it is simply placed as a black box. After the component is placed, you must still place ADS simulation components in the circuit; all HSPICE simulation directives are automatically ignored.
Also available in the wizard is the ability to specify that parameters that are defined in .param statements can be passed in to the circuit. This means you can modify them in ADS, without having to modify the HSPICE file. It also means you can select those parameters and modify them as a part of ADS tuning.
To modify the simulation, the push-into button is overridden so it will open the ADS default text editor. This allows you to modify the HSPICE file, and then resimulate. You do not need to use the wizard to recreate a new component with each modification; you only recreate the component through the wizard if you want to change the I/O terminals, or the parameters that you want to have access to in the ADS environment. Because the file is not copied, this means you will see the same results with ADS that are seen with HSPICE, provided the simulation components are setup identically.
Flow 2: HSPICE core design file that requires source stimulation in ADS
In this flow, you will have an HSPICE file that contains one or more subcircuits. It will not have top level elements, parameters, or simulation directives. One example of this would be a chip level device downloaded from a vendor. In this flow, you must add new elements for matching, sources for stimulation, and simulation components in the ADS environment. It may also be necessary to add an include component for a library file. The resulting ADS simulation setup is not exportable to HSPICE.
With HSPICE compatibility, the file is used directly with no import conversions or file changes necessary. To use the file within ADS, you will use the HSPICE Compatibility Wizard to generate a component that represents the HSPICE subcircuit. The wizard will allow you to choose one of the subcircuits within the file that will have an ADS element created for it. If there are multiple subcircuits that you want to place in ADS, you can reuse the same HSPICE file. The file is not imported into ADS, or copied from its original location.
To modify the device after creating it, the push into feature is overridden so it will open the default text editor so that you can edit the HSPICE file. You do not need to use the wizard to recreate a component, unless you will be changing the number of I/O terminals for the subcircuit, or you want to change the ADS parameters for the ADS element. Because the modifications are being done on the original HSPICE file, changes made to the affect the ADS simulation will simultaneously affect HSPICE simulations.
The wizard will detect .param statements, and allows you to promote them to being ADS passed in parameters. All ADS parameters can be accessed by double clicking on the component, just like any other ADS element. The parameters can also be setup to be editable on the screen. By utilizing parameters, you can use the ADS tuning feature with your HSPICE netlist.
Because it is an ADS device, you can attach any ADS element to your design. This allows you to use a core design with ADS transmission line elements, ADS behavioral elements, or momentum extracted components. The device can also be in any level of ADS hierarchy, it is not limited to placement at the ADS top level, which allows for system co-simulation with your device.