Only the simulation front end (SFE) parser recognizes and processes the AMS statements that you can use in an amsd block. You can use AMS statements only in an amsd block, which has the following form:
amsd{
AMS_statements
}
parameter=value assignments in AMS statements.amsd block statements, you must escape any characters that are not legal characters in the Spectre namespace using a backslash. For example: busdelim=\+The following AMS statements can appear in an amsd block:
|
Statement |
Description |
|---|---|
|
|
The |
|
|
The |
|
|
The |
|
|
The |
|
|
The |
For example:
* AMS control file -- amsdControl.scs
include "./source/design.scs" //analog netlist
include "./models/model.scs" //device model file
include "./models/diode.scs" section=dio
// diode.scs is the model file; "dio" is the section to use
include "./models/pmos1.scs" section=nom
// pmos1.scs is the model file; "nom" is the section to use
include "./analogControl.scs"
//analog control file
//amsd block
amsd{
portmap subckt=pll_top autobus=yes
config cell=pll_top use=spice
ie vsup=2.0
}
You can put a single amsd block in a separate file. You can also have one or more amsd blocks in one or more Spectre or SPICE input files. For example:
// file1.scs
amsd{
portmap subckt=s1 autobus=yes
config cell=s1 use=spice
}
amsd{
portmap subckt=s2 autobus=yes
config cell=s2 use=spice
}
// file2.scs
amsd{
portmap subckt=subcx autobus=yes
config cell=subcx use=spice
}
