Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20689 Discussions

What is the correct input voltage of PERST# from PCIe slot?

Altera_Forum
Honored Contributor II
13,005 Views

Hello, all! 

 

I am confused - what is the correct input voltage of PERST# from PCIe slot? 

PERST# is named as pcie_perstn in CYCLONE IV GX reference boards and is set to different voltages. 

 

1). In .qsf for Cyclone IV GX Transceiver Starter Kit pcie_perstn input is set as 2.5 V:  

set_instance_assignment -name IO_STANDARD "2.5 V" -to pcie_perstn 

 

2). In .qsf for Cyclone IV GX FPGA Development Kit pcie_perstn input is set as 1.8 V:  

set_instance_assignment -name IO_STANDARD "1.8 V" -to pcie_perstn 

 

In my design IO voltages 1.8 V and 2.5 V are not used and therefore I don't want to assign the whole bank to 1.8 V or 2.5 V only because pcie_perstn is either 1.8 V or 2.5 V. 

In my design all IO voltages are assigned as 3.3-V LVCMOS. 

Can I assign pcie_perstn to 3.3-V LVCMOS like this: set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to pcie_perstn ? 

 

Obviousely the answer could be found in PCI Express Card Electromechanical Specification. 

Here what it says about PERST# (pcie_perstn ): 

https://www.alteraforum.com/forum/attachment.php?attachmentid=7985  

 

Do I understand it correctly, that PERST# (pcie_perstn ) Input high voltage on the PCIe slot and thefore on the CYCLONE IV GX input pin is really between 2.0 V and at least 3.3 V and I can safely assign PERST# (pcie_perstn ) to 3.3-V LVCMOS like this: 

set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to pcie_perstn ? 

 

If Yes, then why in the Cyclone IV GX FPGA Development Kit PERST# (pcie_perstn ) is assigned to 1.8 V which seems to be too low to accept PERST# (pcie_perstn )?
0 Kudos
13 Replies
Altera_Forum
Honored Contributor II
7,796 Views

I agree with your assessment. The PCIe CEM (PCI_Express_CEM_20.pdf) indicates that PERST# is a 3.3V signal. 

 

Don't always "believe" what you see implemented on an evaluation kit, since they are for "evaluation" only :) 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

Thank You, Dave. 

But feeding 3.3V PERST# from PCIe slot to a Cyclone IV GX pin assigned to 1.8 V bank could damage it?
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

It's helpfulful to read the dev kit schematic thoroughly.  

 

I see PCIE_T_PERSTn, the 3.3V reset signal from PCIe connector and PCIE_PERSTn, the 1.8V signal going to the FPGA, and a MAX3378 level converter inbetween. 

 

Nevertheless, 3.3V won't damage the I/O cells of a 1.8V bank.
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

 

--- Quote Start ---  

 

But feeding 3.3V PERST# from PCIe slot to a Cyclone IV GX pin assigned to 1.8 V bank could damage it? 

--- Quote End ---  

 

 

No. If you read the Cyclone IV handbook "Table 1–2. Maximum Allowed Overshoot During Transitions over a 10-Year Time Frame for Cyclone IV Devices" indicates that you would not damage the input.  

 

However, since the logic levels for 1.8V are not the same as those of 3.3V, so there is a logic incompatibility. 

 

In the case of the PERST# signal, its driven low, and most likely pulled high by a pull-up. How "high" that pull-up will get will depend on the input buffer setting on the 1.8V logic input. Measure it, and see what the voltage is. Lets say the logic high was clamped to 1.8V plus a diode, i.e,, about 2.5V. That logic level is then above a LVTTL VIH(min) = 2.0V, so any other devices on the bus would see it as a logic high. 

 

Using a 1.8V input was a poor choice on that board. There are plenty of 3.3V to 1.8V level translation devices that would have been appropriate. 

 

This is not the first design error I've seen on Altera kits. I've seen many cases of 5V logic levels on FPGA or CPLD I/O pins, eg., many of the LCD displays that ship with the kits. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

 

--- Quote Start ---  

It's helpfulful to read the dev kit schematic thoroughly.  

 

I see PCIE_T_PERSTn, the 3.3V reset signal from PCIe connector and PCIE_PERSTn, the 1.8V signal going to the FPGA, and a MAX3378 level converter inbetween. 

 

Nevertheless, 3.3V won't damage the I/O cells of a 1.8V bank. 

--- Quote End ---  

 

Thank You , FvM! 

I didn't look into the Cyclone IV GX FPGA Development Kit schematic this time, just looked into the .qsf file. 

I couldn't think , that Altera used name PCIE_T_PERSTn for the signal from PCIe slot, I thought it was a direct connection and PCIE_PERSTn was coming directly directly from the PCIe slot. 

OK, use of level converter gives me an answer, that I wanted to know - that PERST# is really 3.3 V and I can safely connect it to 3.3 V bank.
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

But maybe there is a strong reason, that Altera even decided to use a dedicated level converter in order to put PERST# into 1.8 V bank?

0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

 

--- Quote Start ---  

But maybe there is a strong reason, that Altera even decided to use a dedicated level converter in order to put PERST# into 1.8 V bank? 

--- Quote End ---  

 

 

The bank most likely needed to be 1.8V to support a memory interface. The PCI RST# signal can be assigned to any pin on the FPGA, since its an asynchronous reset signal. 

 

As FvM commented above, read the schematic, most of these types of questions should be obvious by reviewing it, along with the FPGA pin planner view (to see the pins assigned in each bank). 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

 

--- Quote Start ---  

The bank most likely needed to be 1.8V to support a memory interface. The PCI RST# signal can be assigned to any pin on the FPGA, since its an asynchronous reset signal. 

Cheers, 

Dave 

--- Quote End ---  

 

I agree, but what makes developers ( Altera and others ) to route PCI RST# not to obvious 3.3 V bank of Cyclone IV GX, but to 1.8V bank ? 

 

Here is anoher development card ( http://devboards.de/en/home/boards/product-details/article/db4cgx15/ ) , which routes PCI RST# ( for strange reason they named it as PowerGood ) directly to 1.8 V Bank 7 of EP4CGX15. 

Here are screenshots to prove it: 

https://www.alteraforum.com/forum/attachment.php?attachmentid=7989  

https://www.alteraforum.com/forum/attachment.php?attachmentid=7988  

https://www.alteraforum.com/forum/attachment.php?attachmentid=7987
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

 

--- Quote Start ---  

I agree, but what makes developers ( Altera and others ) to route PCI RST# not to obvious 3.3 V bank of Cyclone IV GX, but to 1.8V bank ? 

 

--- Quote End ---  

 

You do not have to route the signal to a 3.3V bank. The PCI RST# signal is an input to the FPGA. So long as the FPGA resets its PCIe end-point when reset is asserted, the implementation details are subject to the designer's implementation constraints. 

 

Given that the designers had to use 1.8V for DDR memory interfaces, its reasonable to use spare I/O pins for miscellaneous inputs, eg., the 3.3V reset after passing it through a level translator. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

 

--- Quote Start ---  

 

 

Given that the designers had to use 1.8V for DDR memory interfaces, its reasonable to use spare I/O pins for miscellaneous inputs, eg., the 3.3V reset after passing it through a level translator. 

 

Cheers, 

Dave 

--- Quote End ---  

 

If this is the only reason and there are no other hidden reasons for routing PCI RST# to 1.8 V banks of Cyclone IV GX, then that brings me calm. :) 

 

This is my first project with Altera and PCIe and want to be sure , that everything is verified and no questions left unresolved. 

Dave and FvM, thank You again for Your assistance.
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

Considering why the dev kit has been designed as is probably won't bring you far. 

 

Instead you should refer to Cyclone hardware specification. Before Cyclone III, the "MultiVolt" IO specification included "overdriving" 1.5 and 1.8V banks with levels up to 3.3 V. Now, MultiVolt operation is only suggested for 2.5 to 3.3 and 1.5 to 1.8V. General recommended operation conditions still allow 3.6V static input level independent of bank supply voltage. 

 

Possible reasons for the additional restrictions might be  

- avoiding increased input leakage of new technologies 

- crosstalk avoidance 

- fear of input overshoot
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

The answer to my question is in AN447 ( Interfacing Cyclone III and Cyclone IV Devices with 3.3/3.0/2.5-V LVTTL/LVCMOS I/O Systems ): 

https://www.alteraforum.com/forum/attachment.php?attachmentid=7996  

other i/o standards do not require attention on the maximum input voltage, such as 1.8/1.5/1.2-v lvttl/lvcmos, 3.0-v pci/pci-x, 

voltage-referenced, and differential i/o standards. 

 

Apparently there is a typo since 1.8/1.5/1.2-V LVTTL/LVCMOS are not in the list of I/O Standards: 

http://quartushelp.altera.com/13.0/master.htm#mergedprojects/reference/glossary/def_iostandard.htm?gsa_pos=1&wt.oss_r=1&wt.oss=i/o%20standards 

and that phrase should sound like this: 

other i/o standards do not require attention on the maximum input voltage, such as 1.8/1.5/1.2-v , 3.0-v pci/pci-x, voltage-referenced, and differential i/o standards. 

 

If this is really a typo, then choosing 1.8/1.5/1.2-V banks for the input of 3.3V voltages is the the best solution in terms of that You have said: 

 

 

--- Quote Start ---  

 

Possible reasons for the additional restrictions might be  

- avoiding increased input leakage of new technologies 

- crosstalk avoidance 

- fear of input overshoot 

--- Quote End ---  

 

 

That's why some evaluation board manufacturers ( http://devboards.de/en/home/boards/product-details/article/db4cgx15/ ) feed 3.3V signal PCI RST# from PCIe slot directly into 1.8 V bank of Cyclone IV GX even without 3.3 V => 1.8 V Level translators. 

Am I right?
0 Kudos
Altera_Forum
Honored Contributor II
7,796 Views

The basic IO voltage specifications are in the device manuals, AN447 is a supplementing document. It's quite clear that the Cyclone IV specification does not suggest 2.5 to 3.3 V input levels in 1.8 V banks. I agree however to the consideration that there's no explicite reasoning why this shouldn't work as it has been suggested for Cyclone II before. 

 

Of course, avoidance of overshoots should be guaranteed by design, e.g. by state of the art source side impedance matching.
0 Kudos
Reply