Dr Jefyll wrote:
On another subject, the sad truth is that increasing numbers of modern 5 volt CMOS devices (example: many RAMs, and at least one CPLD I'm aware of) do not produce rail-to-rail voltage swings on their outputs. The logic high falls short of Vcc, as BDD noted.
At what current though? A memory chip in a pretty large all CMOS environment might have a load of only 40 or 50 uA to push the lines high. Input load current on CMOS devices is typically 1uA or less.
Now if I look at the specs of an AMD AM27C010 (not all that new (1998), but the datasheet is here on my desk) it is specified to deliver a Voh of 2.4V or better at -400uA. You'd never see loads like that in a all CMOS environment unless there was severe bus contention or an outright short to another line. However, someone reading that spec sheet might think they can't be guaranteed things will work right in a CMOS environment because 2.4V is out of spec. That's simply not the case. As the load goes down, the voltage rises.
However, that -400uA is there to tell you this will be able to work in a TTL environment (read -
any environment). Some data sheets make this clearer. If you look at the sheet for the newer ST M27C1001 (2006), they spell it out clearly giving you two Voh figures. Voh TTL as 2.4V or better at -400uA and Voh CMOS as Vcc-.7V or better at -100uA. -100uA would be an enormous load in an all CMOS design.
Now, if a data sheet showed Voh of 2.4V at -100uA, I'd might start to get worried about using that device in my heart-lung machine. but for a hobby application where I have maybe 5 or 6 CMOS loads on a line, I wouldn't loose much sleep.