S
Svenn Are Bjerkem
Guest
Hi,
In an older thread a solution was suggested to make a switch symbol that
change position dynamically when setting the position property. This works
nicely in spectre which has the instance 'switch' in its internal function.
Now I am working with an in-house simulator that has cadence integration,
but not the 'switch' element. (This must be implemented with VHDL-A
internal in the simulator, but is irrellevant to this question).
I was thinking of modifying the spectre version of the dynamical switch to
replace the symbol with a short-circuit between the nodes in the netlist.
left *--+/ +--* right (open switch)
left *--+--+--* left (closed switch)
By this I mean: If switch is closed, then replace the node name of the right
side with the node name on the left side in the netlist. If the switch is
open, then leave both node names untouched.
I picture two possible solutions, but I don't know where to start:
1) The pcell code place the short. (I have tried to fool Composer with patch
cords, but she always discover that I try to short signals with different
names to each other and complains) So I cannot place physical wires.
2) During netlist, when hitting a 'switch' instance, perform a special
netlisting callback that resolve the node renaming.
I see from the integration that many special cells have their own netlister
callbacks in the CDF form for the different simulators that have cadence
integration. I was hoping that I could write an easy netlister callback,
but need an advice where to start my readup on the topic 'write your own
netlister callback for your vintage symbol'
The reason why I want to do it this way is again ease of reconfigurability
of the testbench paired with the fact that the visual position of a switch
is important for other team-members to quickly understand what the
testbench is doing without the need of walking through a large number of
switches to get the positions.
--
Svenn
In an older thread a solution was suggested to make a switch symbol that
change position dynamically when setting the position property. This works
nicely in spectre which has the instance 'switch' in its internal function.
Now I am working with an in-house simulator that has cadence integration,
but not the 'switch' element. (This must be implemented with VHDL-A
internal in the simulator, but is irrellevant to this question).
I was thinking of modifying the spectre version of the dynamical switch to
replace the symbol with a short-circuit between the nodes in the netlist.
left *--+/ +--* right (open switch)
left *--+--+--* left (closed switch)
By this I mean: If switch is closed, then replace the node name of the right
side with the node name on the left side in the netlist. If the switch is
open, then leave both node names untouched.
I picture two possible solutions, but I don't know where to start:
1) The pcell code place the short. (I have tried to fool Composer with patch
cords, but she always discover that I try to short signals with different
names to each other and complains) So I cannot place physical wires.
2) During netlist, when hitting a 'switch' instance, perform a special
netlisting callback that resolve the node renaming.
I see from the integration that many special cells have their own netlister
callbacks in the CDF form for the different simulators that have cadence
integration. I was hoping that I could write an easy netlister callback,
but need an advice where to start my readup on the topic 'write your own
netlister callback for your vintage symbol'
The reason why I want to do it this way is again ease of reconfigurability
of the testbench paired with the fact that the visual position of a switch
is important for other team-members to quickly understand what the
testbench is doing without the need of walking through a large number of
switches to get the positions.
--
Svenn