This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ESD451 PSPICE Model into ADS Troubles

Other Parts Discussed in Thread: ESD451

Hi Team,

I have an urgent request to provide an ADS simulation file for ESD451. I provided the PSPICE model for the customer, but they rejected it, stating they needed the ADS file. According to some discussion with them, it seems like they essentially desire the PSPICE model in ADS. I personally do not have a lot of experience with ADS, much less importing PSPICE models into ADS. I have spent the better part of today trying to import this model into ADS, but I must be doing something wrong with the library selection. I have attached the .zip folder containing the ESD451 PSPICE files. I will try to list my process as thoroughly as possible below:

  • I open ADS and create a new schematic
  • File -> Import
    • file type = netlist file
    • import file name = C:..\Documents\PSPICE_MODELS\ESD451\ESD451.lib (this is where both the .zip and unzipped files are saved)
    • Options -> Input Netlist Dialect = PSPICE
    • Translated Output Format = ADS Netlist (I am using ADS 2024 and the ADS Schematic feature is unavailable, my current step is to install ADS 2023 and attempt this method)
    • Directory to store ADS Netlist = C:..\Documents\PSPICE_MODELS\ESD451

      • The original .lib file has a big comment block before the actual data, so I have been checking the "First Line is a comment" radio button. I have also tried using a .lib file that has no comments before the .SUBCKT line.
    • Destination -> Library Name = <New Library>
      • I have tried using some other "libraries", but none of them share the same *exact* name as the .lib file I'm using above. Maybe this is where the error lies?
    • I am prompted with a new window, asking for the new library name, so I assign a unique name
    • Library Technology Setup = "Reference technology defined in other library 
      • upon selecting "Library has technology defined in file, I get thrown an error stating "Units defined"
    • The library I choose is called esd451sparam_lib, this is the only library I can achieve any results with
    • I then receive this window:
    • and am presented with the following options:
    • I wish to use the 2 pins model, and upon selecting it I see this:
      • nettransDEBUG.txt
        Netlist Translator (*) 590.shp Aug  5 2023
        ADS Netlist translation log
        
        Input format: PSpice
        Input filename: C:/Users/a0507801/Documents/PSPICE_MODELS/ESD451/ESD451.lib
        
        Output format: ADS Netlist file
        Output filename: C:\Users\a0507801\Documents\PSPICE_MODELS\ESD451\esd451.net
        
        Special options:
            Processing first line as comment.
        
        Begin translation at Thu Nov  9 16:59:47 2023
        
        Creating netlist.
        Reading item definition file "C:\Program Files\Keysight\ADS2024/config\spctoiff.cfg"
        Subcircuits found in Spice Netlist:   1
        Subcircuits written to ADS Netlist:   1
        Translation completed at Thu Nov  9 16:59:47 2023.
        
    • I would like these to be in one module, similar to how the model is in PSPICE (picture shown below), but that is a lower priority. In a video tutorial I found online, it seems like upon importing the .lib file I should see these individual IO pins in addition to a singular module.
    • I would like to simulate the transient response of the device to confirm the file is working as expected, so I attempt to add circuit components to the IO pins to compare the simulation results
      • Upon attempting to place any component apart from ground, I receive this error (ERROR: (libraryBrowser.ael line 109, column 5 in lb_update_library_items)
        Failed to get cells in library "ESD4511_lib".: Received exception from oaDMFileSys plug-in when accessing library ESD4511_lib: #9014: oaException: #35: Unable to open directory C:\Users\a0507801\esd451sparam_wrk\ESD4511_lib due to OS error code: '3': "The system cannot find the path specified.). An image has been attached below.

I have not discovered a way to resolve this error, and I do believe this is a simple fix, I am just not experienced enough to understand where the issue lies. Any assistance would be greatly appreciated!

As this is an urgent matter, I would be happy to set a meeting with you Friday (11/10/2023) to discuss this over Webex or in person if possible/desired (I am in Dallas South Campus). My email is j-prushing1@ti.com if you need it.

Please let me know if I need to provide any additional files/information!

Best Regards,

Josh Prushing

ESD451.zip

  • Hi Josh,

    I'm not going to be much help here. I'd do just as you have done. I'm going to add John Miller as JC thinks he's our most knowledgeable person on ADS that he knows of.

    I've only used ADS for IBIS-AMI, not for PSpice.

    David

  • Josh,

    I haven't used ADS in some time, so am not up on the latest features and capabilities.
    The versions I was familiar would not correctly import & translate some Pspice syntax.
    So as a pre-import step, it was sometimes necessary to translate  Pspice statements in the text netlist into something the ADS translator could recognize. 
    A summary table of the translations can be found in the Pspice -> ADS table on the Model Translation Confi page.

    Also, if the ADS translator did not recognize a Pspice statement, it didn't always give an error.
    ADS circuit structures & netlist syntax is quite different from Spice syntax. 
    When the ADS translator encountered something that it didn't recognize, it frequently did a best-guess that resulted in minimal changes so it was still close to using  Pspice syntax. The translator would (I think...) insert a comment as well, but I can't recall the details.

    At any rate, after the translation, inspect the ADS netlist and look for cryptic comments that weren't in your original Pspcie netlist, as well as syntax that is still  Pspice-like.  That will let you know if the translation was successful.

    Regards,
    John

  • Hi John,


    Thanks for the reply! Looking at the Confluence page, the .lib file for ESD451 does not contain any of the issues mentioned in the thread. The netlist file for the ADS project seems to contain information on the testing parameters, not the ESD451 parameters. I have attached it below. Do I need to manually add the .lib file to this document? I did not see any new comments or anything of that nature.

    netlist.log
    ; Top Design: "ESD4513_lib:esd451:schematic"
    ; Netlisted using Hierarchy Policy: "Standard"
    
    Options ResourceUsage=yes UseNutmegFormat=no EnableOptim=no TopDesignName="ESD4513_lib:esd451:schematic" DcopOutputNodeVoltages=yes DcopOutputPinCurrents=yes DcopOutputAllSweepPoints=no DcopOutputDcopType=0
    #ifndef inc_ESD4513__lib_3aesd451_3aschematic__C_3a_5cUsers_5ca0507801_5cesd451sparam__wrk_2fesd451_2enet
    #define inc_ESD4513__lib_3aesd451_3aschematic__C_3a_5cUsers_5ca0507801_5cesd451sparam__wrk_2fesd451_2enet 1
    #include "C:\Users\a0507801\esd451sparam_wrk\esd451.net"
    #endif
    V_Source:SRC1  Vin 0 Type="V_DC" Vdc=VIN SaveCurrent=1 
    DC:DC1 StatusLevel=2 DevOpPtLevel=0 UseFiniteDiff=no PrintOpPoint=no Restart=1 \
    SweepVar="VIN" SweepPlan="DC1_stim" OutputPlan="DC1_Output" 
    
    SweepPlan: DC1_stim Start=VIN Stop=VEND Step=VSTEP 
    
    OutputPlan:DC1_Output \
          Type="Output" \
          UseNodeNestLevel=yes \
          NodeNestLevel=2 \
          UseEquationNestLevel=yes \
          EquationNestLevel=2 \
          UseSavedEquationNestLevel=yes \
          SavedEquationNestLevel=2 \
          UseDeviceCurrentNestLevel=no \
          DeviceCurrentNestLevel=0 \
          DeviceCurrentDeviceType="All" \
          DeviceCurrentSymSyntax=yes \
          UseCurrentNestLevel=yes \
          CurrentNestLevel=999 \
          UseDeviceVoltageNestLevel=no \
          DeviceVoltageNestLevel=0 \
          DeviceVoltageDeviceType="All"
    
    
    VIN=1
    VEND=10
    VSTEP=0.1
    Short:PinShort__GND  "0__GND" 0 Mode=0 SaveCurrent=no
    

    I also thought I attached the ADS project folder but apparently, I did not. Here is the .zip:

    7215.esd451sparam_wrk.zip

    Please let me know if you have any other suggestions!

    Best Regards,

    Josh Prushing

  • Thanks for the add'l info Josh.

    I will look at this and let you know any feedback I have.
    Models and ADS are outside of the my day-to-day activities, so I am not sure how much help can be offered.

    I'll update this thread by the end of th week.


    John

  • Hi John, 

    Thanks for helping me with this! In the meantime, is there anyone else I should also reach out to?

    Best Regards,

    Josh Prushing

  • Josh,

    If you haven't done it already, you could try reaching out on the TI E2E forum that supports parts like the ESD451.
    One of apps engineers may be fluent in ADS and be able to help.

    Regards,

    John

  • Hi John,

    I luckily was able to upload the .lib file from PSPICE using an older version of ADS.

    Unfortunately, me and the other apps engineers for INT-PD do not have very much experience with model creation in ADS. We are still running into some issues, but the device itself seems to be fully in ADS, which was the main goal I wanted to accomplish. Thanks for your help!

    Best Regards,

    Josh Prushing