EDIF Conversion Flow on Gateway

EDIF has been a vital part of the Electronic Design Automation (EDA) industry for many years and Gateway allows users to convert edif200 formatted files of other tools vendors into Gateway’s schematics and symbols.

 

STEP 1. Importing EDIF

You can import an edif from other tools into Gateway with a menu, File>>Import. To enable this menu, you have to load a workspace file that includes library paths before importing. We recommend you to make a directory for this flow for example, name “test1” to the directory then copy your edif file and following files from the installation directory.

C:\Silvaco\examples\gateway\2.2.7.R (This is an installation directory)

examples.sw: workspace file includes library path
spicelib: basic symbol library from Silvaco
subcircuit: sample library from Silvaco

 

In Gateway, you load examples.sws like Figure 1 and then load your edif file with the following menu File>>Import>>EDIF200 as Figure 2. Click the Open, starts a conversion.

Figure1. Open Workspace.

 

Figure2. EDIF import.

 

When the conversion is OK, the successful message will appear. You can see that there are (is) some new libraries, check the test1 directory and you can see that there are (is) new libraries here. Finally, you save the workspace with File>>Save Workspace.

Figure3. Successful

 

STEP 2. Checking Imported Schematic and Symbols

Generated libraries include symbol files (.body) and schematics (.schlr). Open the top level schematic with File>>Open>>Schematic, and check with your eyes whether its connections, no lack of symbols and inheritance of symbol parameters appear correctly.

Figure 4. Imported top level schematic

 

STEP 3. Modifying Parameters

You can understand Library directories include symbols, and they are used and referenced in schematics. Each symbol has its own parameters. For example, a RES symbol has a resistance parameter, a MOSFET has W and L and so on. In Gateway, a parameter in a symbol consists of a set of a parameter name and a value like “Name = Value”, parameter names are usually set in its symbol file and parameter values are in schematics. Since the symbol after translating into Edif creates by omitting parameter names, users need to add it by hand. An example of nmos4 symbol in the analoglib shows below.

Figure 5.

 

 

Open two files, nmos4.body in analoglib and nmos4.body in SpiceLib with Notepad and so on. and might see less or no “P” lines in analoglib’s one. Cut and paste the red descriptions in SpiceLib ’s to at the end of line in analoglib’s and save it.

V 1
C 40 30 “d” 40 30 0 0 12 0 L
C 40 0 “b” 40 0 0 0 12 0 L
C 0 0 “g” 0 0 0 0 12 0 L
C 40 -30 “s” 40 -30 0 0 12 0 L
L 44 26 36 26 -1 0
L 44 34 44 26 -1 0
L 36 34 44 34 -1 0
L 36 26 36 34 -1 0
L 44 -4 36 -4 -1 0
L 44 4 44 -4 -1 0
L 36 4 44 4 -1 0
L 36 -4 36 4 -1 0
L 4 -4 -4 -4 -1 0
L 4 4 4 -4 -1 0
L -4 4 4 4 -1 0
L -4 -4 -4 4 -1 0
L 44 -34 36 -34 -1 0
L 44 -26 44 -34 -1 0
L 36 -26 44 -26 -1 0
L 36 -34 36 -26 -1 0
L 40 -15 40 -30 -1 0
L 20 -15 40 -15 -1 0
L 20 0 40 0 -1 0
L 15 15 15 -15 -1 0
L 0 0 15 0 -1 0
L 40 -15 30 -20 -1 0
L 30 -10 40 -15 -1 0
L 20 -15 20 15 -1 0
L 40 15 40 30 -1 0
L 20 15 40 15 -1 0

<-- Paste red descriptions here.

Figure 6. nmos4.body in analoglib.

 

L 20 15 40 15 -1 0
L 40 -15 40 -30 -1 0
L 40 15 40 30 -1 0
L 20 -15 20 15 -1 0
L 15 15 15 -15 -1 0
P “SMART_SPICE” “@PREFIX@PATH %D %G %S %B @MNAME $L $W $AD $AS $PD $PS $NRD $NRS &OFF# IC=&VDS##, &VGS##, &VBS# $TEMP $DTEMP $M $GEO $DELVTO” 40 40 0.00 0.00 12 0 0 0 0 0 0 1 0
P “WL” “(W\/L)” 60 -32 0.00 0.00 10 0 0 0 0 0 1 1 0
P “PATH” “?” 62 0 0.00 0.00 12 0 0 0 0 0 1 0 0
P “MNAME” “?” 62 -16 0.00 0.00 10 0 0 0 0 0 1 0 0
P “PREFIX” “M” 40 0 0.00 0.00 12 0 0 0 0 0 0 1 0
P “L” “” 54 -32 0.00 0.00 10 0 0 0 0 0 0 0 0
P “W” “” 54 -48 0.00 0.00 10 0 0 0 0 0 0 0 0
P “AD” “” 62 -47 0.00 0.00 10 0 0 0 0 0 1 0 0
P “AS” “” 62 -63 0.00 0.00 10 0 0 0 0 0 1 0 0
P “PD” “” 62 -79 0.00 0.00 10 0 0 0 0 0 1 0 0
P “PS” “” 62 -95 0.00 0.00 10 0 0 0 0 0 1 0 0
P “NRD” “” 62 -111 0.00 0.00 10 0 0 0 0 0 1 0 0
P “NRS” “” 62 -127 0.00 0.00 10 0 0 0 0 0 1 0 0
P “OFF” “” 62 -143 0.00 0.00 10 0 0 0 0 0 1 0 0
P “VDS” “” 62 -159 0.00 0.00 10 0 0 0 0 0 1 0 0
P “VGS” “” 62 -175 0.00 0.00 10 0 0 0 0 0 1 0 0
P “VBS” “” 62 -191 0.00 0.00 10 0 0 0 0 0 1 0 0
P “TEMP” “” 62 -207 0.00 0.00 10 0 0 0 0 0 1 0 0
P “DTEMP” “” 62 -223 0.00 0.00 10 0 0 0 0 0 1 0 0
P “M” “” 62 -239 0.00 0.00 10 0 0 0 0 0 1 0 0
P “GEO” “” 62 -255 0.00 0.00 10 0 0 0 0 0 1 0 0
P “DELVTO” “” 62 -271 0.00 0.00 10 0 0 0 0 0 1 0 0
Figure 7. nmos4.body in spicelib.

 

 

In Gateway, open the workspace saved on the Step 1 and then open nmos4.body in analoglib. With the menu Edit>>Properties, you open the edit symbol properties panel and you will see that there are many parameters you added in the body file. In this case, you need to set a model name for MNAME because you have known the fixed model name. Gateway allows users to set a prefix value instead of “?” character for a value. The end of this flow, final checking or netlisting detects this character a value error. You need to do it in this stage.

Figure 8. Edit Symbol Properties panel.

 

Also, click the SmartSpice button on the panel, and the SmartSpice String Editor shows you netlist syntax description for SmartSpice.

Figure9. SmartSpice String panel.

 

STEP 4. Open the Top Schematic Again

Now you can reference modified symbols, you open the top level schematic with the workspace file and run a menu Simulation>>View>>Spice Netlist. If no error you get a netlist and create a control deck for simulation.

 

Conclusion

EDIF200 conversion flow finishes here. The STEP 3 might take a long time for manual modifying, however once modifying whole symbols in the analoglib from competitors, you will reuse them from now on.

Download pdf version of this article