[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Universal Card



There are some ASICs out there with buffers that claim to be PCI compliant and Universal (meet both the 3.3V and 5V specs), yet they do not connect to the Vi/o voltage pins.

They are not PCI complaint.  Almost, but not quite.  Not quite doesn't make it if you want to do it right.

Using an FPGA's ordinary 3.3V LVTTL or CMOS buffers does not work for making a Universal card, because the buffers do not like being driven with full 5V signal levels (from another 5V PCI card on the same bus); i.e., they are not "5V tolerant."

Using 3.3V buffers that are "5V tolerant" ALMOST works for PCI, but not quite.  This is where some of those ASIC vendors get in trouble.

If you examine the PCI electrical specs, you'll find that a Universal (dual voltage) PCI buffer MUST clamp overshoots above 3.3V when the Universal card is plugged into a 3.3V PCI bus, but MUST NOT clamp overshoots above 3.3V (not until >5V anyway) when the card is plugged into a 5V PCI bus.  Therefore, the overshoot clamping on a Universal PCI card MUST somehow change, depending on which kind of PCI bus it is plugged into.

To tell which kind of bus a Universal card is plugged into, you must use Vi/o.  An ASIC on a Universal card that doesn't connect to Vi/o, can't change its overshoot clamping, and isn't PCI compliant.

Buffers for Universal cards don't need to be actually powered by the Vi/o voltage.  They can be powered by 3.3V all the time.  But there has to be something in there that also looks at Vi/o, to make the clamping work right.  Otherwise it can't meet specs.

And no, you can't "fix" it by adding series resistors on all the lines.

Regards,
Andy