We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Visitor charabed
Registered: ‎05-07-2010

iostandard: Who takes precedence?

Hi all,

   I was wondering who takes precedence when setting iostandard for I/Os? The HDL code/Schematic buffer, the .UCF file, or the VCCO pins on the chip. I can imagin setting the VCCO pins to one voltage and making your .UCF set another could cause problems. Are there safeguards inplace to prevent this sort of thing?

But my main question: which of these is most important? For LVCMOS33, can I just connect VCCO to 3.3V and be done with it or do I need to specify that in the .UCF file as well? (NET "pin_name" IOSTANDARD = LVCMOS33;) And if I have both of those, do I need to change my HDL code or buffer symbol to IOSTANDARD = LVCMOS33 or will the .UCF overide anything I have in my code?

Thanks for any help,

0 Kudos
3 Replies
Registered: ‎02-25-2008

Re: iostandard: Who takes precedence?

I'm pretty sure the Constraints Guide has the answer to your question.

----------------------------Yes, I do this for a living.
0 Kudos
Scholar austin
Registered: ‎02-27-2008

Re: iostandard: Who takes precedence?



You should either put the standard type and all of its attributes in the .ucf file, or put it directly in the HDL (verilog or VHDL).


The tools will note if you choose an IO standard or an attribute that is incompatible with the Vcco, has multiple definitions,  the pin is not able to be used for what is desired, and so on.


It is best to be consistent:  place all of the pin and IO standards and attributes either in the .ucf, of the pins in the .ucf, and the standard and attributes in the HDL, for example.


If you look at some of the examples for the various demo boards, you can get an idea how its done.


Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Registered: ‎08-14-2007

Re: iostandard: Who takes precedence?

Just as an aside, the tools will have no idea what voltage is tied to your bank's Vcco pin,

unless you specify it in the .ucf file.  Normally specifying an IOSTANDARD for every

pin will cause the tools to check for consistency between IOSTANDARDs in the same

bank, however it is up to you to realize what Vcco voltage those IOSTANDARDs require

and hook up your hardware appropriately.  When you use an IOSTANDARD like LVCMOS25

but connect Vcco to another voltage like 3.3V, you will not have 2.5V CMOS outputs,

but rather 3.3V CMOS with a drive strength that doesn't match the selection.  Also

setting Vcco to the wrong voltage will result in timing that doesn't match the timing

reports, and in some cases can cause incorrect termination impedance or even

severe overheating.  Remember that the tools can only check what you tell them,

they are not omniscient. :-)

-- Gabor
0 Kudos