Page tree
Skip to end of metadata
Go to start of metadata

Problem

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

All Versions

MWO and AO using HSP-100 feature (Hspice)

Solution

Overview

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.

Click here if you have having trouble opening the HSPICE data sheet :

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 handled.

Levels of Encryption:

Equivalent HSPICE netlist:

.SUBCKT Encrypt 1 2 3
.prot
RR1 1 2 100 DTEMP=-8.149999999999977
RR2 2 3 100 DTEMP=-8.149999999999977
RR3 3 0 100 DTEMP=-8.149999999999977
.unprot
.ENDS

Levels of Encryption:

.SUBCKT Encrypt 1 2 3
.PROT freelib

5a2Z[7Yw(912p7jw(912p[
'539 2573+(9P'T\*(*SBh)E],#(FE;E],w$Z
3:B#u:uxHpX#; *MiY3YX3:fe;e],#(fe;iUq
;Yu2s7JW3/12V%<92)\vZ=V,#(FE;E],#(*tL
!$ 2y.'l

.UNPROT
.ENDS

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 hilted section of this netlist are added. Note that the user must know that the encrypted subcircuit has the name "Encrypt".

.SUBCKT Fully_Encrypt 1 2 3
X1 1 2 3 Encrypt
.ENDS
.PROT freelib
5a2Z[7Yw(912p7jw(912p[
+KR->]J7< %YoIJ73Wc9u0
:83W39%27xJWox2O6_.lH[/E;E],#(FE;Eujy
y6J$B#3:[1:$yS)U]A5*!3i#(fe;e],#(fT([
'5m9u2P73+(9P'T\*(*SBh)E],#(FE;E],w$Z
-t#dkY
e4Z68t2Y

.UNPROT

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.

Downloads

Encrypted_HSPICE_Netlist.zip