淘宝官方店     推荐课程     在线工具     联系方式     关于我们  
 
 

微波射频仿真设计   Ansoft Designer 中文培训教程   |   HFSS视频培训教程套装

 

Agilent ADS 视频培训教程   |   CST微波工作室视频教程   |   AWR Microwave Office

          首页 >> Ansoft Designer >> Ansoft Designer在线帮助文档


Ansoft Designer / Ansys Designer 在线帮助文档:


Using Component Libraries >
Using the Component Editor >
   The Component Netlist String Property >
       Netlist String Syntax Reference           


Netlist String Syntax Reference

The general form for a netlist string is:

<Simulator>Netlist=[netlist_string]

where

<Simulator> is Nexxim | System | Q3D | etc.

 

The netlist string may contain the following netlist property syntax:

%<terminal index, 0-based>

Which specifies the name of the net connected to terminal index. A syntax error will result if the terminal index is not a positive number, within range. Example:

%0, %1

 

%_<internal node index, 0-based>

Create a unique net for an internal node. Used when a component has nodes that are not associated with symbol terminals and are not tied to a global node. Syntax error if node index is not a positive number, within range. Example:

%_0, %_1

 

@<propname> | @(<propname>)

Value of property named propname. Syntax error if propname is empty or contains spaces. Example:

@R, @IDSS

 

?<propname>(<expr1>)[:(<expr2>)]

If property named propname exists, substitute expr1, else (optionally) expr2. Also, expr1 and expr2 may contain additional substitutions. Syntax error if propname is empty or contains spaces. Example:

?IDSS(IDSS = @IDSS):(IDSS = 0.05)

 

~<propname>(<expr1>)[:(<expr2>)]

If property named propname doesn’t exist, substitute expr1, else (optionally) expr2. Syntax error if propname is empty or contains spaces. Example:

~SUB(SUB = MS)

 

?(<propname>==<value>)(<expr1>)[:(<expr2>)]

?(<propname>!=<value>)(<expr1>)[:(<expr2>)]

~(<propname>==<value>)(<expr1>)[:(<expr2>)]

~(<propname>!=<value>)(<expr1>)[:(<expr2>)]

Same as "?" and "~" above except the first term is evaluated for equal to (==) or not equal to (!=) and if true, substitute expr1 else (optionally) expr2. Example:

?(sim==fullwave)(NSUM=@NSUM):(F0=@F0)

 

*<propname>(<expr1>)

If property named propname has changed from default definition value, then substitute expr1. Syntax error if propname is empty or contains spaces. Example:

*IDSS(IDSS = @IDSS)

 

&(<expr>)[^(pname1,pname2, . . . )]

Add all properties that have changed from default definition value, except those in the optional exclusion list. In expr, “$” can be used to represent the property name, and “#” the property value. Example:

&($=#)^(Model)

will netlist all properties that changed from their default value except the Model property.

 

\n

A new line marker to inform the netlister to insert a new line. Example:

R@ID %0 %_0 @R \n C@ID %_0 %1 @C

\

The backslash is used as an escape character. The character following the backslash is not processed but added to the netlist string as is. To add a single “\”, use “\\”. Example:

R:@ID %0 %1 R=\{\2\*@R\}

 

 

Defined Variables

• $SYSLIB will be expanded to <InstallationDirectory>/syslib upon netlisting, where <Installation Directory> is the directory into which Designer was installed during setup.

• $USERLIB will be expanded to <InstallationDirectory>/userlib upon netlisting.

• $PERSONALLIB will be expanded to <ProjectDirectory>/PersonalLib upon netlisting, where <ProjectDirectory> is the location you specified for your Designer projects.

 

 

Global Reference String in Designer

A global reference property will process its value the same way as the netlist string and will place the result in the top-level (global) part of the circuit file.

<Simulator>GlobalRef=[string]

where

<Simulator> is System | Q3D | etc.

 

 

Additional Examples

The following additional examples help to demonstrate netlist string syntax.

 

SystemNetlist=CPLE:@ID %0 %1 %2 %3 ?Z(Z=@Z) ?E(E=@E) ?F(F=@F) *A(A=@A)

“Z”, “E”, and “F” use the "?" conditional because the component definition values assigned to these parameters are different than those in the engine and should always be netlisted even if the user has not changed them. The “A” parameter uses the "*" conditional because its component definition value matches that of the engine and we just need to netlist it if the user changes the instance value.

 

SystemNetlist=R@ID %0 %1 @R ?TC1(TC1=@TC1 ?TC2(tc2=@TC2)) ?TJ(TJ=@TJ) ?TNOM(TNOM=@TNOM)

In this example, TC1 will be netlisted only if TC1 exists, and TC2 will be netlisted only if TC1 and TC2 exist.

 

SystemNetlist=MSBENDO:@ID %0 %1 w=@Length sub=@Substrate

“w” and “sub” will always be netlisted.

 

SystemNetlist=MOSFET:@ID %0 %1 %2 %3 MODEL=@Model &($=#)^(Model)

Model will always be netlisted. The “&($=#)^(Model)” argument designates that all parameters should be netlisted as “name=value”, except for “Model”.

 

SystemNetlist =D@ID %0 %1 1N914

SystemGlobalRef =.LIB $SYSLIB/Vendor/D.lib

which may netlist to:

D22 net_3 net_4 1N914

< rest of design netlists ...>

.LIB $SYSLIB/Vendor/D.lib

 

SystemNetlist=R:@ID %0 %1 R=\{\2\*@R\

If ID is 1 and R is 100, the netlist will be:

R:1 net_0 net_1 R={2*100}

 




HFSS视频教学培训教程 ADS2011视频培训教程 CST微波工作室教程 Ansoft Designer 教程

                HFSS视频教程                                      ADS视频教程                               CST视频教程                           Ansoft Designer 中文教程


 

      Copyright © 2006 - 2013   微波EDA网, All Rights Reserved    业务联系:mweda@163.com