The ability to render a model as ASCII text and then encrypt that text-based model for distribution to a wider audience opens the door to allowing public use of models without disclosing your IP. This key technology is widely used with many IC vendors distributing encrypted models for use with SIMPLIS. In this topic you will learn how to turn models into ASCII text, and how to encrypt these models. The automated processes built into SIMetrix/SIMPLIS make this process very easy.
To download the examples for Module 4, click Module_4_Examples.zip
In this topic:
This topic addresses the following key concepts:
In this topic, you will learn the following:
A set of ASCII model library creation scripts have been incorporated into SIMetrix/SIMPLIS. These scripts reduce the effort required to create ASCII model libraries to a single click operation. In this topic you will create ASCII and encrypted ASCII model libraries for two schematic component files, create their associated symbols, and convert the schematic over to use the ASCII models.
Created ASCII plain text library file: C:\Training\Module_4_Examples\Gen_Opto.lb Created ASCII encrypted text library file: C:\Training\Module_4_Examples\Gen_Opto_encrypted.lbFinally, the File View is updated with the new files.
Notice that the files are identical up to line #22 where the encryption start tag is located. The encryptor reads the plain text Gen_Opto.lb library file and encrypts all text between the start and end tags, generating the encrypted model library file Gen_Opto_encrypted.lb.
In the Getting Started section you created ASCII text versions of the Gen_Opto schematic component file. The resulting ASCII text models are exact replicas of the model described by the schematic, including any parameterization. Also, these ASCII text models are significantly more robust than a schematic component based model, especially if the encrypted version is used. For these reasons, plain or encrypted ASCII text models are used for distribution to a wide audience.
The ASCII model generation scripts automatically add the encryption start tag (lines 21-23 above) and end tag to the plain text model library. Once the encryption tags are added, the model is ready for encryption, and as the tags are comments, the plain text library file is also simulation ready. In the final step of ASCII model generation, the stand-alone AES encryptor is called on the plain text library file to generate an encrypted library file. The entire process takes at most a few seconds, and your intellectual property never leaves your computer.
SIMPLIS supports several encryption schemes. The stand-alone AES encryptor is a command line executable utility located in the bin directory of your SIMetrix/SIMPLIS installation. You used this encryptor in the Getting Started section of this topic. Another encryption scheme is used for the private label SIMetrix/SIMPLIS products, such as EE-Sim. These models are encrypted by SIMPLIS technologies from the same plain text source file created in the Getting Started section.
Modifying schematics to use ASCII models is easy with the new ASCII model creation menu items. In the following exercises, you will create both ASCII model libraries and symbols which call those ASCII models.
In this exercise, you will create the ASCII model library and a symbol which calls the ASCII model for the optocoupler U2.
Created ASCII plain text library file: D:\Training\Module_4_Examples\Gen_Opto.lb Created ASCII encrypted text library file: D:\Training\Module_4_Examples\Gen_Opto_encrypted.lb Saved the symbol to the symbol library file: D:\Training\Module_4_Examples\Gen_Opto.sxslb And installed the symbol library file. To use the newly created ASCII definition: ------------------------------------------ 1) On the current schematic, execute the menu : File->Save Schematic As... and choose a new file name. You will then modify this schematic to use the ASCII model library. 2) On the newly saved schematic, delete the original hierarchical symbol for U2, and press Q to replace the symbol with the ASCII model library version. 3) Include the ASCII model library in the simulation. One easy way to do this is with a .include statement. Copy one of the following and paste into the F11 window after the .SIMULATOR DEFAULT statement. To use the plain ASCII text version, .include Gen_Opto.lb To use the encrypted ASCII text version, .include Gen_Opto_encrypted.lb
In the first exercise you created a symbol and two ASCII text model library files; however, the scripts do not change the actual schematic. In this exercise you will configure the schematic to use the new optocoupler symbol which calls the encrypted ASCII text model library.
.include Gen_Opto_encrypted.lb
In this exercise you will repeat the ASCII model/symbol creation process for the LLC Modulator block. You will see an additional step is be required to prepare the ASCII schematic to run.
.include LLC_Modulator_Closed_Loop_encrypted.lb
In the next exercise you will identify the correct POP Trigger gate - this gate is located in the ASCII model for the LLC Modulator.
When the ASCII model for the LLC Modulator was created in the third exercise, the program searched out the POP Trigger gate information and placed the trigger gate information in the library file as a comment. In this exercise you will copy that information and change the POP Analysis to use this fixed trigger gate.
There are several ways to wrap up a model for distribution to customers. In the exercises you used a .include statement to include the model library file in the simulation. The netlist preprocessor will insert the entire model library file into the simulation deck when the design is run. You could also simply copy and paste the model text into the F11 window in place on the .include statement, as discussed in Including Models in the Command (F11) Window. This will reduce the design to just the single top level test schematic, in this case, the file you created: 4.3_LLC_Closed_Loop_ASCII.sxsch. This is a common way to distribute models.
Symbol libraries were created for the LLC Modulator and the optocoupler blocks during the exercises. When you placed the symbols on the schematic using the keyboard shortcut Q, a copy of the symbol was made and placed in the schematic file. If you intend to distribute the design to individual customers, you will not need the symbol libraries; however, if the models and symbols are intended for general release in SIMetrix/SIMPLIS, the symbol libraries are required. You can collect individual symbols from the multiple symbol libraries using the symbol manager. The SIMetrix/SIMPLIS menu bar Installing and Removing Symbol Libraries.
will open the Symbol Manager. Also, its important to remember the symbol libraries were installed during the model creation process. You can remove the symbol libraries when they are no longer needed with the Symbol Manager. See also:As with the symbol libraries, you will only need the model library files to include in the simulation using the .include statement, or for general release in SIMetrix/SIMPLIS. The ASCII model creation scripts create a single file per model, you can manually collect the individual models to a single model library file for general release.