Is there any model for Analog Multiplexer compatible with LTSpice or Cadence Virtuoso?
A simple 2:1 multiplexer is implemented in LTSpice as a SPDT switch. So how to implement a 4:1, 8:1 or 16:1 multiplexer?
cadenceltspicemultiplexer
Is there any model for Analog Multiplexer compatible with LTSpice or Cadence Virtuoso?
A simple 2:1 multiplexer is implemented in LTSpice as a SPDT switch. So how to implement a 4:1, 8:1 or 16:1 multiplexer?
Best Answer
Another solution is to use a behavioural source with
table()
, such as this:table( V(ctl), 1, V(1), 2, V(2), ... )
where
V(ctl)
is the controlling voltage supplying various voltage levels, fixed here for clarity, and the nodes labeled as1
,2
, etc, from which the voltagesV(1)
,V(2)
, etc, are taken are the inputs.It's not an ideal solution because behavioural sources tend to suffer from dynamic range fidelity, especially when higher quantities are involved (hundreds of Volts and above), and temporal if the signal has a very large bandwidth. A minor solution is the two hidden parameters,
tripdv
andtripdt
(see manual, or ltwiki), but they can only do so much.Considering you mentioned VCSW, it should be fairly trivial to implement the switch with more than two switches, for example a complementary pair for each input, or one switch for every input, driven by logic. Not home right now but here's a very quick attempt at the 2nd suggestion:
The pink voltage is the control, the upper pane has the inputs, for comparison with the output below. I've done it so because it seemd to me you're after a behavioural attempt, not a full, real-life scenario; if that's the case, use the 4-pin MOS to build your own transmission gates, for example.