03-07-2019 02:54 PM
The "CFGBVS" seem to be a requirement during configuration as is specify in two places.
1) There is a CFGBVS pin in Bank0 that can be tie either to gnd or vcco. If we tie this to gnd, does this represent all my configuration signal to Bank0 should be in the 1.8v range?
2) But then the CFGBVS is also required in the xdc file when we declared it with set property as follow:
"set property CFGBVS GND [current design]"
my question is, if I already tie this to gnd at the fpga pin "cfgbvs" then is it necessary to declare this in the xdc file?
In addition, what if the user makes a mistake and tie the pin to ground and declare it as vcco in the xdc file then which one would take precedent?
03-08-2019 02:51 PM
03-07-2019 05:28 PM - edited 03-07-2019 05:30 PM
Caution: doing the wrong thing with the CFGBVS pin can damage your FPGA. My answers assume you are using a 7-Series FPGA. If you are not using a 7-Series FPGA then you should carefully read about CFGBVS in the Configuration Guide for specific FPGA.
There is a CFGBVS pin in Bank0 that can be tie either to gnd or vcco. If we tie this to gnd, does this represent all my configuration signal to Bank0 should be in the 1.8v range?
For 7-Series FPGAs, Table 2-5 of UG470 gives a nice clear answer and says “Caution! When CFGBVS is set to Low for 1.8V/1.5V I/O operation, the VCCO_0 and I/O signals to bank 0 must be 1.8V (or lower). VCCO_14 and VCCO_15 must also be 1.8V/1.5V if configuration I/O in those banks are used during configuration. Otherwise, the device can be damaged from the application of voltages to pins on these banks that are greater than the 1.8V operation maximum.”
I already tie this to gnd at the fpga pin "cfgbvs" then is it necessary to declare this in the xdc file?
Yes. In your XDC file you should have constraints that look like the following. According to UG912, DRC checks look at your XDC constraints for CFGBVS and for CONFIG_VOLTAGE to determine if the configuration mode/interface (eg. SPIx1) specified in your constraint for CONFIG_MODE is compatible.
set_property CFGBVS VCCO [current_design] set_property CONFIG_VOLTAGE 3.3 [current_design] set_property CONFIG_MODE SPIx1 [current_design]
For 7-Series FPGAs, Tables 2-6, 2-7, and 2-8 in UG470 show you what configuration modes/interfaces you can use when CFGBVS=GND.
what if the user makes a mistake and tie the pin to ground and declare it as vcco in the xdc file then which one would take precedent?
The physical connection to the CFGBVS pin is the most important. If you make the wrong physical connection to CFGBVS then the FPGA will probably be damaged.
However, the JTAG interface with the FPGA also uses pins found in FPGA bank-0. Thus, the Xilinx programming cable needs to know the CFGBVS setting so that proper voltage levels are used on the JTAG interface. I suspect that the Xilinx programming cable gets the CFGBVS setting from your XDC constraints – so, your XDC constraints are important too.
The Xilinx documentation is not clear what happens if you specify the wrong CFGBVS setting in your XDC constraints. -perhaps the JTAG interface to the FPGA is damaged? Maybe someone from Xilinx can help us with this question?
03-08-2019 10:58 AM - edited 03-08-2019 10:59 AM
...if you specify the wrong CFGBVS setting in your XDC constraints. -perhaps the JTAG interface to the FPGA is damaged?
No. I find from the datasheet, DS593, for the Xilinx programming cable that the output drive voltage depends directly on the voltage that you connect to the Vref pin of the programmer. So, to prevent damage to the FPGA during configuration, you must do the following:
03-08-2019 11:19 AM
Ok, thanks for the information on correct connection of the CFGBVS pin and VREF on the JTAG connection.
If that is the case then it seem like setting the CFGBVS property in the xdc file is a redundancy, does this make sense? Could this be for something else?
03-08-2019 02:51 PM