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.

THS3201 import issue

Other Parts Discussed in Thread: THS3201, THS3202, TINA-TI

Hi,

 

I'm trying to import THS3201 into Agilent ADS. I'm getting the following error when I try to simulate.

"

Simulation / Synthesis Messages

Error detected by hpeesofsim during netlist flattening.

    While evaluating expression `X22.x_u5.gout.I':

        function is not defined.

 

Status / Summary

hpeesofsim (*) 332.400 Sep 18 2008 (built: 09/18/08 17:16:08)

Copyright Agilent Technologies, 1989-2008.

NXP SiMKit (ver. 3.1a (3.1a))

--------------------

Simulation terminated due to error."

 

Could you please let me know the problem?

 

Ajay

  • Hi Ajay,

    This is line 138 of the model file THS3201.lib:

    Gout 3 4 value={limit(V(5,6)/12.4,0.88,-0.88)*limit(I(v1),IL,-IL)} ;

    Based on the error message, my guess is that ADSsim does not understand the function "limit".

    I don't have ADS right now, my suggestion is to take a look at the PSPICE manual to understand the syntax of this function, then find an equivalent that ADSsim supports.

    REgards,
    JC

  • Hi,

     

    The limit function PSPICE has to be replaced by "if then" in ADS. I tried it once. It didn't work. Will try again.

    Thanks for the reply

     

    Regards,

    Ajay

  • Ajay,

    I am a modeling engineer in the Analog eLab team and wanted to follow up with you on your inquiry.

    Was your problem resolved? If the problem is still open and you would like us to take a deeper look at it, please let me know.

    I have ADS and am familiar with the THS3201 and importing models like it into the application.

    Regards,

    John Miller
    Modeling Engineer

  • Hi John,

    I tried replacing the limit function with the if then in ADS but I failed to do so. After statement replacement I can simulate without errors but I don't get desired results. So, I guess what I'm doing is not right. If you could post the solution, it would be appreciated.

    Thanks,

    Ajay

  • Hi,

     

    I replaced the  limit function in 'cswii' block with '(if _v2/12.4<-0.88 then -0.88 elseif _v2/12.4>0.88 then 0.88 else _v2/12.4 endif) * (if _c1<-il then -il elseif _c1>il then il else _c1 endif)'... It seems to work fine.

     

    I guess the issue has been resolved. Correct me if I'm wrong.

     

    Regards,

    ajay

  • Ajay,

    Thank you for the update. 

    The only suggestion at this point is to validate the overall model behavior with some basic sims before you move ahead with your design.

    For example, Figure 55 in the data sheet shows a basic reference circuit used to generate the AC response curves in the plots of Figure 1.

    If the revised macromodel is okay, sims using this circuit should give quiescent current, AC response, etc. that are very close to what is shown in the data sheet.

    Please let me know if you have any questions or concerns.

    Regards,

    John Miller

  • Hi, 

    I try to import THS3201 PSpice model into ADS Agilent. Unfortunately translation is completed with warnings and errors, for example: 

    WARNING Cannot locate pin or wire for connector HIZ at 52.000000 -15.500000 

    WARNING Cannot locate pin or wire for connector VCC at 52.000000 -15.250000

    Could you please advice how may I solve this problem.

  • Kate,

    I am a modeling engineer in Analog eLab.

    When you say "translation", does that mean when you import the netlist into ADS?

    I tried importing the netlist, but did not get any error messages.

    Regards,

    John

  • Hi John,

    Thank you for you reply. 
    Yes, I had a problem when I was importing the netlist to ADS, fortunately I have already solved this problem. For some reason 'cswil.dsn' was not created.....
    Subsequently I have faced the problem which was described above  ( `X22.x_u5.gout.I'). If you have already evaluated  THS3201 model, could you please confirm that it works fine with the following function '(if _v2/12.4<-0.88 then -0.88 elseif _v2/12.4>0.88 then 0.88 else _v2/12.4 endif) * (if _c1<-il then -il elseif _c1>il then il else _c1 endif)' in 'cswil' block? 
    Regards,
    Kate

  • Hi Kate,

    I reported this problem before. Using the replacement function in 'cswii' block I could get the simulations going but I've not verified if the results concur with the datasheet.

     

    Now I'm working with THS3202 and it has a similar issue. I replaced the 'limit' function by 'if else' statement. The simulations go through fine but the results do not match the datasheet. 

    for ex. if I simulate a circuit to get a non-inverting gain of 5, I get a gain of 1. the gain never changes. The same circuit works fine in TINA. i.e. the circuit is fine but the replacement function seems to have a problem.

     

    John, if you could confirm the working of the model with the replacement function, it would be very helpful (Also for THS3202).

     

    Regards,

    Ajay

     

     

  • Dear John,


    I would like to ask if there are any chances to receive a valid replacement function for THS3201 model? There is definitely a problem with this model, when I simulate it for inverting gain of 10, I get a gain of 5, simulating gain of 5 I get a 2,etc. 
    Unfortunately I can not check my circuit in TINA, since I am a MAC user. 

    I will appreciate any advice on how to solve this problem.

  • Kate,

    I can't comment on the model but it does give the proper gains in TINA. I am a Mac user too and TINA-TI runs just fine using CrossOver or in a virtual machine - I use Virtualbox for this. I actually use both solutions - CrossOver is nice because it doesn't need a Windows license to use (although the product is not free) and its windows are more Mac-like. Virtualbox is nice because it's free (although you need a Windows license to install Windows in it) and it has that Windows look (it's how I generate videos and screenshots for our TINA-TI documentation).

  • Kate,

    I will be glad to troubleshoot the model in ADS, but some useful results will most likley take until the end of the week.
    Is this time frame aceptable?

    If this time frame is okay, some additional information that will help:

    1. Which version of ADS are you using?
      - We have only limited access to ADS versions before 2009.
    2. Which operating system do you use for ADS?
    3. What circuit configurations will you use in your simulations?
      - Inverting/non-inverting gain, power supplies, resistor values, load resistance?
      - Is it possible to share your  schematics that show the THS3201 circuit configurations?
    4. What type of simulations will you be doing with the model?
      - Spice-type transient/AC/DC sims or some of the other ADS sim modes like s-parameters?

    Thank you for your patience.

    Regards,

    John

  • Kate,

    The THS3201 Spice model seems to be working in my version of ADS (2011), after some mods to the CSWIL function/subcircuit.

    The AC response seems to be okay for a G=+2 configuration (f-3dB  = 670MHz) and is a little less than is shown in the data sheet (f-3dB = 725MHz).

    The slew rate was about 2x what is shown in the data sheet for the G=+2 configuration.

    The change to the CSWIL function was per Ajay's earlier suggestion in this thread. His earlier description is copied just below:

        "  I replaced the  limit function in 'cswii' block with
    (if _v2/12.4<-0.88 then -0.88 elseif _v2/12.4>0.88 then 0.88 else _v2/12.4 endif) * (if  _c1<-il then -il elseif _c1>il then il else _c1 endif)
    ... It seems to work fine. "

    The function Ajay described just above was literally  copied-and-pasted into the ADS equation window for the CSWIL subcircuit. That seemed to eliminate the errors.

    AC and transient sims seem to run fine. I haven't tried any RF-type sims yet like S-parameters.

    A zipped version of the ADS workspace (from Windows 7) has been uploaded to this thread.

    Please let me know any comments or questions you have.

    Regards,

    John

    THS3201_ADS2011_Workspace.zip
  • John,

     

    Same kind of modification for the model THS3202 doesn't work. I'm using ADS 2009. Would you be able to check at your end? If you want me to, then I can create a separate thread for this problem.

     

    Regards,

    Ajay

  • Ajay,

    I'd be glad t take a look at the THS3202 in ADS.

    Would it be okay if we  provide some feedback by the end of the week?

    Regards,

    John

  • Thanks John.

    End of week is OK.

    If you look at the following discussion, Kristofer Flares suggest me a circuit which is implemented in TINA. If I try to do the same in ADS I get no gain at all from the op-amp. May be you can use this as a reference. I suspect some issue with the version of ADS. May be you can tell

    http://e2e.ti.com/support/amplifiers/high_speed_amplifiers/f/10/p/113201/405453.aspx#405453

     

    Regards,

    Ajay

  • Ajay,

    As it turns out, the netlists of the THS3201 and THS3202 models are almost identical.
    The only difference I can find is in the cswil subcircuit and a 2pf cap on the THS3201 output node (C_C33) that appears to be missing in the THS3202 model.

    A THS3202 model was created by modifying & using the if{} function you proposed earlier.
    Another ADS workspace has been uploaded to this page.

    It is a circuit of eight THS3202 models operating in parallel as was shown in Kris Flores' TINA schematic:
    http://e2e.ti.com/support/amplifiers/high_speed_amplifiers/f/10/p/113201/405453.aspx#405453

    The ADS2011 schematic shows the amps as THS3201s. The THS3202 amp models in the schematic were created by using the THS3201 models as a starting point.
    The details follow.
    Please let me know if you are unable to open this workspace with your version of ADS.

    The cswil subcircuit in the THS3201 model has the two limit functions we talked about earlier:
              Gout 3 4 value={limit(V(5,6)/12.4,0.88,-0.88)*limit(I(v1),IL,-IL)} ;
    As you found, ADS objects to the limit{} function, and your proposal to use two if{} functions works well:
              (if _v2/12.4<-0.88 then -0.88 elseif _v2/12.4>0.88 then 0.88 else _v2/12.4 endif) * (if _c1<-il then -il elseif _c1>il then il else _c1 endif))

    The main goal of the cswil subcircuit is to control the model's max slew rate by limiting the current into and out of the capacitor C_C1 (430ff) on the HIZ node.

    In the THS3202 model, the cswil subcircuit statement is simpler and limits only the current:
              Gout 3 4 value={limit(I(v1),IL,-IL)}

    This was replaced in the THS3202 ADS model by part of your if{} statment:
             (if _c1<-il then -il elseif _c1>il then il else _c1 endif))
    which limits the current to 3mA through a monitoring voltage source.
    The 2pF capacitor on the output node as changed to 2ff.

    So the model seems to simulate okay, although it gives slightly different results than Kris's TINA circuit.

    Hope this helps. Please let me know if you have any more questions.

    Regards,

    John

     

    THS3202_ADS2011_Workspace.zip
  • Hi John,

    Thanks a lot.. The workspace doesn't work in ADS 2009/2008.. I don't have access to 2011 right now. I can try this may be in couple of days and will let you know how it went.

     

    Regards,

    Ajay

  • Thanks Ajay.

    I'm running ADS2011 because it will run on 64bit/Win7 without any complaints.
    It turns out that our IT group supports ADS back to 2009 so I installed it on my XP box and it seems to be running. okay.

     When a query is run on the version it comes back with: 350.500 Feb 19 2009

    If this is compatible with the version you are running and you can't find an ADS2011 work-around on your end, please let me know and we can create some ADS2009 projects with the models.

    regards,

    John

     

  • Hi John,

    I did verify on ymsystem. I workd fine. I cannot use the workspace in ADS versions below 2011.

    I still couldn't figure out why the same changes to cswii block doesn't work in ADS 2008/2009. If you ever do project files for ADS2008/2009, do upload them here..

    Thanks for the support.

     

    Regards,

    Ajay

  • Ajay,

    I am glad to hear the projects work on your system.

    Please let me know if you have any questions.

    Regards,

    John

  • Hi John,

    If possible could you please upload the project files compatible for ADS2009? Some of the models (non TI) in my design are not compatible with ADS2011 and I've to use ADS-2009. 

    Thanks

    Ajay

  • Ajay,

    After some research (e.g contacting Agilent) it seems there is no way to save existing ADS2011 projects in a way that is compatible with ADS2009.

    I'll have to re-build the projects from scratch in AS2009. This will take some time, and best guess for now is completion some time next week.

    Regards,

    John

  • Hi John,

    Don't worry about it. I've it working in my setup.

     

    Thanks

    Ajay

  • sir, 

    In ADS, in UWB transceiver , i have taken away the input signal and gave a ecg signal as input. but i have some problems reading the data file.

    error detected during netlist flattening

    while eveluating epression c1.level, expression has not been defined.

    unresolved reference :

    DAC1.

     please help me to rectify error.

  • Dheepika,

    Would you please upload the ADS project/wprkspce to this thread?
    The error might be associated with your signal source. I cannot reproduce the error with the standard test circuit.

    Regards,
    John

  • its a simple data file reading schematic. but am getting errors as dac1 unresolved reference. and error occured during netlist flattening. while evaluating expression c1.level expression undefined.

     

    .

    i couldnt upload the file here. but i have mailed with that attachment. please have a look and  please reply me at the earliest sir.