cheap way of interfacing  5V PCI to Spartan 6 - Page 1
Forum section: electronics / general

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: March 05, 2017, 09:37:40 am
content: HiI have used 330ohm series resistors in the PCI signals and connect it directly to Spartan 6, Does it a viable option? I do not wanna use level shifter chips to save cost.Do you have any other idea?

author: legacy
author_rank: Super Contributor
timestamp: March 05, 2017, 03:25:26 pm
content: Quote from: ali_asadzadeh on March 05, 2017, 09:37:40 amI say -No!

author: asgard20032
author_rank: Regular Contributor
timestamp: March 05, 2017, 03:32:33 pm
content: A resistance only limit current, you need a voltage divider if you want to limit the voltage.Also, high speed digital (everything above 20 MHz) don't like any such thing, such as voltage divider and other low cost / easy thinking way of voltage conversion. Those usually limit the transition speed of the signal, because of capacitance and inductance effect. Almost everything is a Mosfet... if you put a resistance, you also limit the gate charge and discharge time. There must be a better way to connect 5V PCI to Spartan 6... Doesn't PCI use LVDS interface ? There exist transceiver for that, and in fact, I never heard anything connected to PCI or PCIe without a transceiver. Some FPGA even got the transceiver, so no need for an external one.EDIT: PCI doesn't use LVDS. It use 3.3 V signaling. Just use a voltage converter.EDIT EIDT: PCI can either be 3.3V or 5V. Check your system to be sure. Also, you will need some bidirectional converter for some of the line.

author: legacy
author_rank: Super Contributor
timestamp: March 05, 2017, 04:05:02 pm
content: Quote from: asgard20032 on March 05, 2017, 03:32:33 pmwhich ones?

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: March 06, 2017, 06:41:12 am
content: I'm designing a universal card, So I might assume some motherboards have 5V signaling, the series resistors with the internal clamp diodes server as 5V down conversion to 3.3V and I think the outputs with 3.3V high state would be enough for driving the inputs of the motherboard bridge. and 33MHz is not a fast signal, any one has done it this way before?

author: poorchava
author_rank: Super Contributor
timestamp: March 06, 2017, 08:06:49 am
content: You need to remember thatmaximum voltage level is not all. I bet 3.3V and 5V variants of the bus have different thresholds for logic high and low. For CMOS to guarantee reading input as high it typically needs to be >0.7*VDD or >3.5V which is obviously not possible to achieve with a 3.3V-powered FPGA.You will either have to use an FPGA that supports PCI natively (and perhaps allows you to switch voltage powering the IO buffers at runtime) or use some dual-supply buffers which work at both 5V and 3.3V.

author: nctnico
author_rank: Super Contributor
timestamp: March 06, 2017, 11:45:19 am
content: Quote from: ali_asadzadeh on March 05, 2017, 09:37:40 amIIRC Xilinx had some aplication notes on this issue and their solution might be using series resistors to limit the current going into the clamping diodes in the FPGA.

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: March 06, 2017, 12:37:12 pm
content: QuoteThen powering the FPGA with 3.6V would solve this issueQuoteDo you happen to know the App-note number?

author: nctnico
author_rank: Super Contributor
timestamp: March 06, 2017, 12:41:58 pm
content: I think the Spartan3 application notes for their PCI core may have some info on how to deal with this. I don't know the numbers so better use Google or Xilinx' search engine on their website. It will take some digging/reading though to get the answer.

author: Scrts
author_rank: Frequent Contributor
timestamp: March 06, 2017, 01:36:23 pm
content: Quote from: ali_asadzadeh on March 06, 2017, 06:41:12 amPCI is not fast, but the timing is really critical there. You have to be sure to meet setup and hold requirements.