• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. RF Design
  3. Simulation with bbspice file or spectre file created from...

Stats

  • Locked Locked
  • Replies 15
  • Subscribers 63
  • Views 11867
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Simulation with bbspice file or spectre file created from touchstone/citi file

amitG22
amitG22 over 3 years ago

Hi Community,

Am I mistaken if I assume that Virtuoso doesn't allow you to directly use a already present bbspice file in the simulation? 

I know that a rfm file is accepted, we just need to choose "rfm" as the data format in the nport form. Is there no possibility to directly use a bbspice file in this way? 

Before you ask why I am not letting cadence generate the bbspice file for me, let me answer that question. The conversion seems to take really long when done in spectre. With ADS it is generated really fast.

Another question related to this, is the S-parameter data format "spectre" not supported as well? I can generate both a bbspice and a spectre file in ADS from an existing citifile. Can I not use this spectre file directly with the nport? At least the possibility seems to be present. But when I tried to do that, I am getting the following error.



The scs file looks ok to me. Here is a snippet : 


Any suggestions on what is going wrong here?

Regards,

Amit

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Amit,

    The spectre format for s-parameter files is just an alternative format to Touchstone. It's still in terms of real/imaginary or phase/magnitude for the matrices of s-parameters at each frequency; it does not just mean you can use a spectre sub circuit instance.

    You could use RFM if coming from an external rational model creation tool such as ADS broadband spice, or if including a spectre subckt model as you have here, that can't be done with an n-port. You need to create a component which has the right pins and netlists in the right order - maybe the Keysight integration can take care of that (that's a question for Keysight, not us).

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Andrew Beckett

    I would also suggest that you contact customer support about using the built-in bbspice. First of all, make sure you're using a current version of Spectre, and take a look at Tawna's 7 Habits of Highly Successful S-Parameters application note. If you're still seeing performance issues with the translation, then we'd welcome you to contact support so that we can investigate further.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • amitG22
    amitG22 over 3 years ago in reply to Andrew Beckett

    Andrew thanks. 

    So I understand you correctly, you are saying that we can't directly use a bbspice file in the nport for simulations. 

    It is also not possible to use the .scs file generated by ADS with the nport, like shown below.



    Correct? 

    Regards,

    Amit

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to amitG22

    Hi Amit,

    It rather depends what you mean by a "bbspice file". If the Keysight Broadband SPICE tool produces an RFM file, then you can use it with nport. The nport cannot however use a spectre netlist (i.e. a spectre subckt). The "spectre" format is  (as I said earlier) a spectre syntax file for s-parameters, and looks like this - it does NOT mean a spectre netlist:

    ; S-parameter data file spectre.s8p.
    ;
    ; Thu Jul  7 14:09:19 2022
    ; Number of ports is 8
    
    reference resistance 
    		 port8 = 50.000000 
    		 port7 = 50.000000 
    		 port6 = 50.000000 
    		 port5 = 50.000000 
    		 port4 = 50.000000 
    		 port3 = 50.000000 
    		 port2 = 50.000000 
    		 port1 = 50.000000 
    
    format freq:  s1:1(real,imag) 	 s1:2(real,imag) 	 
    	      s1:3(real,imag) 	 s1:4(real,imag) 	 
    	      s1:5(real,imag) 	 s1:6(real,imag) 	 
    	      s1:7(real,imag) 	 s1:8(real,imag) 	 
    	      s2:1(real,imag) 	 s2:2(real,imag) 	 
    	      s2:3(real,imag) 	 s2:4(real,imag) 	 
    	      s2:5(real,imag) 	 s2:6(real,imag) 	 
    	      s2:7(real,imag) 	 s2:8(real,imag) 	 
    	      s3:1(real,imag) 	 s3:2(real,imag) 	 
    	      s3:3(real,imag) 	 s3:4(real,imag) 	 
    	      s3:5(real,imag) 	 s3:6(real,imag) 	 
    	      s3:7(real,imag) 	 s3:8(real,imag) 	 
    	      s4:1(real,imag) 	 s4:2(real,imag) 	 
    	      s4:3(real,imag) 	 s4:4(real,imag) 	 
    	      s4:5(real,imag) 	 s4:6(real,imag) 	 
    	      s4:7(real,imag) 	 s4:8(real,imag) 	 
    	      s5:1(real,imag) 	 s5:2(real,imag) 	 
    	      s5:3(real,imag) 	 s5:4(real,imag) 	 
    	      s5:5(real,imag) 	 s5:6(real,imag) 	 
    	      s5:7(real,imag) 	 s5:8(real,imag) 	 
    	      s6:1(real,imag) 	 s6:2(real,imag) 	 
    	      s6:3(real,imag) 	 s6:4(real,imag) 	 
    	      s6:5(real,imag) 	 s6:6(real,imag) 	 
    	      s6:7(real,imag) 	 s6:8(real,imag) 	 
    	      s7:1(real,imag) 	 s7:2(real,imag) 	 
    	      s7:3(real,imag) 	 s7:4(real,imag) 	 
    	      s7:5(real,imag) 	 s7:6(real,imag) 	 
    	      s7:7(real,imag) 	 s7:8(real,imag) 	 
    	      s8:1(real,imag) 	 s8:2(real,imag) 	 
    	      s8:3(real,imag) 	 s8:4(real,imag) 	 
    	      s8:5(real,imag) 	 s8:6(real,imag) 	 
    	      s8:7(real,imag) 	 s8:8(real,imag) 	 
    	      
    
    0.00000000e+00:       0.0952347,              0          0.904765,              0     
     		    6.09073e-18,              0       4.73637e-18,              0     
     		    6.56501e-18,              0       6.89042e-18,              0     
     		   -2.57966e-17,    3.15917e-33      -2.54298e-17,    3.11425e-33     
     		       0.904765,              0         0.0952347,              0     
     		    4.80646e-18,              0       3.65391e-18,              0     
     		    7.50038e-18,              0       8.04044e-18,              0     
     		   -2.43549e-17,   -2.98261e-33      -2.38638e-17,   -2.92247e-33     
     		    6.09073e-18,              0       4.80646e-18,              0     
     		      0.0952347,              0          0.904765,              0     
     		   -1.19384e-17,    1.46203e-33      -1.11698e-17,    1.36791e-33     
     		   -4.53054e-17,    5.54831e-33      -4.51132e-17,    5.52477e-33     
     		    4.73637e-18,              0       3.65391e-18,              0     
     		       0.904765,              0         0.0952347,              0     
     		   -1.05454e-17,    1.29143e-33      -9.69719e-18,    1.18756e-33     
     		   -4.48846e-17,    5.49678e-33      -4.45961e-17,    5.46145e-33     
     		    6.56501e-18,              0       7.50038e-18,              0     
     		   -1.19384e-17,    1.46203e-33      -1.05454e-17,    1.29143e-33     
     		      0.0952347,              0          0.904765,              0     
     		   -2.69002e-17,    3.29432e-33      -2.73924e-17,     3.3546e-33     
     		    6.89042e-18,              0       8.04044e-18,              0     
     		   -1.11698e-17,    1.36791e-33      -9.69719e-18,    1.18756e-33     
     		       0.904765,              0         0.0952347,              0     
     		   -2.81865e-17,    3.45185e-33      -2.85554e-17,    3.49703e-33     
     		   -3.30526e-17,    4.04778e-33      -3.11881e-17,    3.81944e-33     
     		   -3.60507e-17,    4.41494e-33      -3.62503e-17,    4.43939e-33     
     		   -2.53231e-17,    3.10118e-33      -2.19563e-17,    2.68887e-33     
     		      0.0111921,              0          0.988808,              0     
     		   -1.81738e-17,    2.22564e-33      -1.70305e-17,    2.08563e-33     
     		   -5.43679e-17,    6.65815e-33      -5.32304e-17,    6.51885e-33     
     		   -2.89695e-17,    3.54774e-33      -3.47856e-17,    4.26001e-33     
     		       0.988808,              0         0.0111921,              0     
    1.00000000e+07:        0.095235,    0.000166635          0.904765,   -0.000485411     
     		    3.35158e-07,    0.000324742      -2.95556e-07,   -0.000191771     
     		    3.31927e-07,    0.000324743      -2.92301e-07,   -0.000191769     
     		    2.73369e-07,    0.000254719      -2.79749e-07,   -0.000208871     
     		       0.904765,   -0.000485411          0.095235,    0.000166636     
     		   -2.94364e-07,   -0.000191776       3.34661e-07,    0.000324746     
     		   -2.94614e-07,   -0.000191765        3.3401e-07,     0.00032474     
     		   -2.83248e-07,   -0.000208868       2.70455e-07,    0.000254722     
     		    3.35158e-07,    0.000324742      -2.94364e-07,   -0.000191776     
     		       0.095235,    0.000162908          0.904765,     -0.0004892     
     		    2.63366e-07,    0.000227881      -2.85141e-07,   -0.000219015     
     		    3.05974e-07,    0.000323221      -2.26308e-07,   -0.000145197     
     		   -2.95556e-07,   -0.000191771       3.34661e-07,    0.000324746     
     		       0.904765,     -0.0004892          0.095235,    0.000162899     
     		   -2.83792e-07,   -0.000219018       2.60768e-07,    0.000227887     
     		   -2.29735e-07,   -0.000145186       3.03962e-07,    0.000323232     
     		    3.31927e-07,    0.000324743      -2.94614e-07,   -0.000191765     
     		    2.63366e-07,    0.000227881      -2.83792e-07,   -0.000219018     
     		       0.095235,    0.000162897          0.904765,   -0.000489209     
     		    3.07694e-07,    0.000323227      -2.25929e-07,    -0.00014519     
     		   -2.92301e-07,   -0.000191769        3.3401e-07,     0.00032474     
     		   -2.85141e-07,   -0.000219015       2.60768e-07,    0.000227887     
     		       0.904765,   -0.000489209          0.095235,    0.000162897     
     		   -2.30516e-07,   -0.000145193       3.02943e-07,    0.000323223     
     		    2.73369e-07,    0.000254719      -2.83248e-07,   -0.000208868     
     		    3.05974e-07,    0.000323221      -2.29735e-07,   -0.000145186     
     		    3.07694e-07,    0.000323227      -2.30516e-07,   -0.000145193     
     		      0.0111921,   -4.81561e-05          0.988807,   -0.000597269     
     		   -2.79749e-07,   -0.000208871       2.70455e-07,    0.000254722     
     		   -2.26308e-07,   -0.000145197       3.03962e-07,    0.000323232     
     		   -2.25929e-07,    -0.00014519       3.02943e-07,    0.000323223     
     		       0.988807,   -0.000597269         0.0111921,   -4.81568e-05     

    (the example above is truncated - it's to show the principle).

    I can't answer as to what the available output formats are from the Keysight tool are.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tawna
    Tawna over 3 years ago in reply to amitG22

    Hi Amit,

    Everything you ever wanted to know about the nport is here:  7 Habits of Highly Successful S-Parameters, Spectre 21.1   (note that this is a more recent version than what Andrew mentioned) or in Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide -- Modeling for Signal Integrity 

    The nport takes the following types of s-parameter data format:

    • spectre (spectre's own s-parameter format as an alternative to the touchstone format)
    • touchstone (industry recognized s-parameter format)
    • citi ( Common Instrumentation Transfer and Interchange file format.  Used by many test and measure equipment tools - See Keysight for more info) 
    • bnp (Broadband Network Parameter, a binary format of Touchstone generated (only) by the Sigrity tools.) 
    • rfm (an HSPICE format).    It will contain a header (first 5 lines) which contains information on the number of ports, and the matrix type (S or Y for example).  The data fields consist of rational function coefficients. 

    As Andrew mentioned, this is really a question for Customer Support https://support.cadence.com .   Do not label any of these files with the suffix .scs

    Best regards,

    Tawna

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • amitG22
    amitG22 over 3 years ago in reply to Tawna

    Thanks Tawna. I have already gone through your "7 habits ... " pdf some time back. Although I believe it was an earlier version,not the 21.1. 

    As to the suffix of .scs, it is how ADS generates this spectre version of the sp file. To me it made sense as spectre does use .scs file extension. Anyways, below is a snapshot of all the different files ADS can generate from a touchstone file. 



    The suffix .bbn is the broadband spice file that I was trying to use. Tried the other file formats as well but nport can't read them. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • amitG22
    amitG22 over 3 years ago in reply to Andrew Beckett

    Unfortunately ADS cant generate a RFM file. We have to use a separate tool for that and there are very few licenses available for it. It's a nightmare to get transient simulations run for RF designers :D :P 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to amitG22

    As I've now said several times, nport is designed to read s-parameter-like data; it also support RFM (Rational Function Matrix) which is a rational model format. If you have a SPICE or Spectre sub-circuit, then the nport would be superfluous - all you need to do is instantiate the subckt.

    If you don't want to create your own symbol (which could easily be done by creating a spectre text view and pasting in the generated SCS file contents; you'll be prompted to create a symbol afterwards), you could use this approach: How to create pcell symbol with variable pins and write custom netlist procedure for spectre and then you can reference the file as a model file.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Tawna
    Tawna over 3 years ago in reply to amitG22

    Hi AmitG22,

    Read the latest version of the Appnote.  It's been updated.   Seriously - a Customer Support AE can assist you with this.  Please file a case on https://support.cadence.com .  Andrew and I answer questions in our "off work hours".  You'll get consistent, trackable support for the Customer Support team.  If it's past my dinner time, you'll get cranky responses from me.  Grin

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • amitG22
    amitG22 over 3 years ago in reply to Andrew Beckett

    Thanks. This is interesting, I have never used the spectreText view before. I gave it a try. Had a small issue and Customer support helped me. Could run the simulation with spectreText view, the output looks really patchy (more than the touchstone data), but that is probably another issue. 



    Thanks for all the support.  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
>

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information