The procedure for requesting AWR support has changed. Please read all about the new AWR product support process.
Page tree
Skip to end of metadata
Go to start of metadata


Device manufacturers often provide HSPICE models of their devices that are encrypted. This is done to protect the manufacturer's Intellectual Property. Designers want to be able to simulate the encrypted netlist.

Version and Product

Version 14 and older

MWO and AO using HSP-100 feature (Hspice)

As of AWRDE V15 HSPICE feature is no longer available



This article describes how to import and simulate an encrypted HSPICE netlist. The encrypted HSPICE netlist was generated using the Metaencrypt engine available from Synopsys. See the HSPICE data sheet for details.

Please refer to the attached project. A simple voltage divider circuit was built (ckt_for_encryption schematic) and an equivalent HSPICE netlist was then encrypted and Imported in AWRDE.

Native HSPICE netlists with file extensions .sp or .inc are supported.  (Note that these files are ASCII text, and may be delivered with other extensions, like .lib.  If you are certain they are HSPICE netlists, rename the files and change the extension to a supported one in order to import.)

Levels of Encryption

Equivalent HSPICE netlist:
.SUBCKT Encrypt 1 2 3
RR1 1 2 100 DTEMP=-8.149999999999977
RR2 2 3 100 DTEMP=-8.149999999999977
RR3 3 0 100 DTEMP=-8.149999999999977
Netlist encrypted with .SUBCKT and .ENDS lines exposed:
.SUBCKT Encrypt 1 2 3
.PROT freelib

'539 2573+(9P'T\*(*SBh)E],#(FE;E],w$Z
3:B#u:uxHpX#; *MiY3YX3:fe;e],#(fe;iUq
!$ 2y.'l


Notice that the encryption takes effect between the .PROT and the .UNPROT statements.

Fully Encrypted Netlist:

Users have the option to encrypt the entire netlist including the .SUBCKT statement. Users of such encrypted netlists must know the name of the encrypted netlist to be able to use it. The first three lines of this netlist had to be added. Note that the user must know that the encrypted subcircuit has the name "Encrypt".  They would also need to know the names of any user-specifiable parameters in order to set them.

.SUBCKT Fully_Encrypt 1 2 3
X1 1 2 3 Encrypt
.PROT freelib
+KR->]J7< %YoIJ73Wc9u0


Importing the netlist:

To import the encrypted HSpice netlist: In Project tree, right click Circuit Schematics > Import Netlist . In the Files of type field choose HSpice Netlist Files (native)(*.sp;*.inc) . Select the netlist file and click Open .

Note: You can also Link to the desired netlist instead of Importing it. Linking is useful in case the netlist it constantly updated in a certain folder.

Simulating the netlist:

Once the netlist is successfully imported, it can be used as a subcircuit in a schematic. Simply create a schematic and click the SUB icon in the tool bars (or press Ctrl+K ). Select the netlist and click OK . Click to place the netlist subcircuit in the schematic.

The attached project shows the original circuit, it's unencrypted and encrypted equivalent netlists. Basic DC voltage annotation on all circuits is used for verification.

Note: Only the native HSPICE simulator can be used to simulate the native HSPICE netlist. Harmonic Balance cannot be used to simulate a native HSPICE netlist. To simulate Native HSPICE Netlists, you must choose the HSPICE as the simulator in the Add/Modify Measurement Dialog. When adding a measurement, choose HSPICE as the simulator from the drop down menu.