I have a design with some nodes using bus syntax, for example some nodes labelled BL<1:2>.
I create a stimulation file (.scs) containing:
_BL1 (BL<1> 0) vsource type=dc dc=0_BL2 (BL<2> 0) vsource type=dc dc=3.3
but when it parses it it gives the following error:
"/home/sim/Cadence/Sim/SynMem_Test/spectre/schematic/netlist/stimuli/2010_04_14SynMem_Test.scs" 1: Unexpected operator "<". Expected end of file or end of line.ERROR (SFE-874):
2: Unexpected operator "<". Expected end of file or end of line.
I assume I have to write something special for it to accept the bus syntax. Looking in the netlist it normally produces without the stimulation file, I see, for example:
InvBL\<1\> (nBL\<1\> BL\<1\> 0 vdd!) INV1InvBL\<2\> (nBL\<2\> BL\<2\> 0 vdd!) INV1
However when I try using the backslash in my stimulation file, like this:
_BL1 (BL\<1\> 0) vsource type=dc dc=0_BL2 (BL\<2\> 0) vsource type=dc dc=3.3
I get the same error.
Can anyone suggestion a solution?
If you're using the stimulus file field in ADE, it gets passed through a pre-processing option to allow you to use "schematic" names in the netlist, which can then have any mapping applied to them that happened during netlisting.
Because of this pre-processing, the \ you are entering is being stripped off (you'd have to use a double backslash). A better approach is to use the OSS mapping syntax. For example, if you do:
v1 ([#bus<0>] 0) vsource type=sine freq=1M ampl=1
v2 ([#bus<1>] 0) vsource type=sine freq=2M ampl=1.5
v3 ([#bus<2>] 0) vsource type=sine freq=3M ampl=2.0
v4 ([#bus<3>] [#/gnd!]) vsource type=sine freq=4M ampl=2.5
You should then end up in the netlist as:
v1 (bus\<0\> 0) vsource type=sine freq=1M ampl=1
v2 (bus\<1\> 0) vsource type=sine freq=2M ampl=1.5
v3 (bus\<2\> 0) vsource type=sine freq=3M ampl=2.0
v4 (bus\<3\> 0) vsource type=sine freq=4M ampl=2.5
or whatever those bus names got mapped to during netlist. Note that there's a problem in IC613/IC614 where this (by default) doesn't work properly with busses (the backslashes get missed out). It's OK in IC5141. The CCR is 752498 - and the workaround is to switch back to the mapping scheme used in IC5141 - enter envSetVal("asimenv" "mappingMode" 'string "oss")
We also have a CCR to get the above [#...] syntax documented more clearly (it is right now, but hidden away in the Open Simulation System manuals, rather than being in the ADE manuals).