UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer zooplibob
Observer
35,556 Views
Registered: ‎08-02-2008

Unassigned Pin Behavior

Jump to solution

Can someone tell me what the expected behavior is for an FPGA I/O pin that is not assigned in the UCF? Is the output Hi-Z, low, high, or unknown?

 

The reason I ask is because one FPGA had I2C signals going to two unassigned pins. After I programmed the FPGA, it pulled both lines low. I had to create the signals in the VHDL code and assign 'Z' to them, and add them to the UCF on those pins. Only then did it not pull the lines low after programming the FPGA.

 

Thanks,

Jeff

0 Kudos
1 Solution

Accepted Solutions
Participant jared.chen
Participant
44,543 Views
Registered: ‎05-12-2008

Re: Unassigned Pin Behavior

Jump to solution

There is an option to decide the state of unused IOBs after configuration.

Write click the "Generate Programming File" in process tab -> properties -> configuration option -> Set Unused IOB Pins to what you want.

Here is the words about this option in ISE Help:

Unused IOB Pins

Specifies the configuration for any unused IOB pins. This is the serial data outputs for all JTAG instruction and data registers.

Select an option from the drop-down list.

  • Pull Down
  • Adds a pull-down resistor to the unused Pin.

  • Pull Up
  • Adds a pull-up resistor to the unused Pin.

  • Float

No connection is made to either a pull-up or pull-down resistor.

By default, the property is set to Pull Down.

8 Replies
Scholar austin
Scholar
35,547 Views
Registered: ‎02-27-2008

Re: Unassigned Pin Behavior

Jump to solution

Jeff,

 

In http://www.xilinx.com/support/documentation/user_guides/ug191.pdf, apge 18, the HSWAPEN pin  if pulled to ground, will enable the weak pullups on all IO pins prior to configuration.

 

After configuration, a pin may be set to pull up, or pull down, or to remain floating (effectively tri-state) or be driven high or driven low, depending on the IO standard chosen.  It does no harm to have pins float.

 

The default in the software is probably not something you would like to rely on.  It is far better to design the IO to do what you want it to do and state it explicitly.

 

I believe the default is a weak pull down for unused pins, however.

 

The weak pull up and weak pull down may often be too weak:  a resistor of the proper value is recommended if there is a standard that you are trying to meet, as opposed to relying on the weak internal pull up or down.

 

Austin

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Participant jared.chen
Participant
44,544 Views
Registered: ‎05-12-2008

Re: Unassigned Pin Behavior

Jump to solution

There is an option to decide the state of unused IOBs after configuration.

Write click the "Generate Programming File" in process tab -> properties -> configuration option -> Set Unused IOB Pins to what you want.

Here is the words about this option in ISE Help:

Unused IOB Pins

Specifies the configuration for any unused IOB pins. This is the serial data outputs for all JTAG instruction and data registers.

Select an option from the drop-down list.

  • Pull Down
  • Adds a pull-down resistor to the unused Pin.

  • Pull Up
  • Adds a pull-up resistor to the unused Pin.

  • Float

No connection is made to either a pull-up or pull-down resistor.

By default, the property is set to Pull Down.

Instructor
Instructor
35,522 Views
Registered: ‎08-14-2007

Re: Unassigned Pin Behavior

Jump to solution

It bothers me that you say "not assigned in the .UCF".  There is a difference between unused

pins and pins that are not assigned a location.  If for example you have an output port in your

top level module, and don't provide any code for that port, ISE will drive that port low and

if there is no LOC assignment for the pin, it will pick an available pin for it.  In that case the

default settings for unused pins will not apply to the pin ISE picked for your "unused" port.

-- Gabor
Observer zooplibob
Observer
34,884 Views
Registered: ‎08-02-2008

Re: Unassigned Pin Behavior

Jump to solution

Thanks for that Info, I was not aware it did that. If it randomly picks an unused pin and assigns the output to that pin, chances are it didn't happen to land on those 2 pins I was probing, so changing the default settings would probably have fixed it.

 

By the way, is there any way to prevent it from picking a random available pin for unassigned output ports? That doesn't seem very useful and might cause problems like this during code development.

0 Kudos
Instructor
Instructor
34,877 Views
Registered: ‎08-14-2007

Re: Unassigned Pin Behavior

Jump to solution

zooplibob wrote:

Thanks for that Info, I was not aware it did that. If it randomly picks an unused pin and assigns the output to that pin, chances are it didn't happen to land on those 2 pins I was probing, so changing the default settings would probably have fixed it.

 

By the way, is there any way to prevent it from picking a random available pin for unassigned output ports? That doesn't seem very useful and might cause problems like this during code development.


As you pointed out this behavior is not good in a production environment when the board pinout has already been locked.

My workaround is to check the place&route report to make sure all IOB's have been located.  Here's the lines from one

of my recent builds:

 

   Number of External IOBs                 442 out of 480    92%
     Number of LOCed IOBs                 442 out of 442   100%
 

This information is right near the top of the report.

 

HTH,

Gabor

-- Gabor
0 Kudos
Visitor sparenteau1
Visitor
29,696 Views
Registered: ‎02-21-2013

Re: Unassigned Pin Behavior

Jump to solution

Does this discussion is still applicable for any FPGA, especially with Spartan 6 (XC6SLX45-3CSG324I) using ISE v14.2 for development?

 

I have an interface with two FPGA (Spartan 6) for which not all the signals are used but are physically connected. What would be the best design approach to prevent any un-want behavior, signal contention and predictable (known) results?

 

Thanks!

0 Kudos
Scholar austin
Scholar
29,668 Views
Registered: ‎02-27-2008

Re: Unassigned Pin Behavior

Jump to solution

Yes,

 

Leaving pins unused, with weak pullups enabled should be just fine (all FPGA devices have this feature).

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Observer raccoon777
Observer
11,287 Views
Registered: ‎02-12-2016

Re: Unassigned Pin Behavior

Jump to solution

is that solution useful to turn off all the leds???, I tried that solution without success, I have no one pin assignment in my UCF file for the LEDs, just for the clock, how do I do to turn off the 7 LEDs in the board???,  help me please I have to turn off the LEDs because the power I need to measure have nothing to do with LEDs and other resources in the board, I don't understand how the LEDs are turned ON for default  :/  

0 Kudos