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: 
Observer fhuettig
Observer
10,780 Views
Registered: ‎11-20-2011

Spartan6 - Certain pins don't work as user outputs?

Jump to solution

Greetings all,

 

I'm using a Spartan-6 LX45T FGG484, and I'm pin-limited so using the configuration pins M0 (AA21) and M1 (Y19) as outputs along with all other pins.  I have M0 pulled high and M1 pulled low, each with 1k resistors, for master serial configuration from an XCF16P.  I get no errors or warnings from ISE (originally using version 13.4, but later tried 14.6).  The FPGA configures fine, but after config the M0 pin is not driving while the M1 pin does.  In addition, two other pins that are supposed to be outputs are not driving either.

 

I've been over and over UG380 and the ISE options for bitgen, I must be missing something but don't know what!  Nothing in the errata as far as I've noticed.  Here are the three pins that fail:

 

1)  AA21 - IO_L1N_M0_CMPMISO_2

2)  V17 - IO_L2P_CMPCLK_2

3)  W18 - IO_L2N_CMPMOSI_2

 

Notice that all three have "CMPxxx" in the name, it seems to be a mystery SPI interface.  The only description I can find of those names is from UG385:

 

CMPMOSI,
CMPMISO,
CMPCLK
Reserved for future use. Use these pins as general-purpose I/O.

 

Was that supposed to say "DON'T use these pins as general-purpose I/O?"

 

I don't find any other description or warning about those specific pins, no mention in the configuration UG, but I would expect if this is a real problem then at least the 2 non-configuration pins would have been identified as problematic before.  So I must be doing something wrong, but I don't know what.  The -persist option is not set in bitgen (not enabled because I am not creating readback files) and I've tried disabling readback & reconfiguration just because I can't think of anything else to try.

 

I found one other thread where the user could not drive certain pins as outputs:

http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Can-t-set-IO-USERCCLK-pin-as-user-output-Spartan-6/m-p/398507#M23733

In that case the programming algorithm was set for spartan-3 instead of -6 so there weren't enough clocks at the end of config, but I don't see any options in bitgen or impact along those lines.  The tools should know what device I'm using.

 

As a simple test I have the output ports connected to a counter, all the other pins in that group are counting correctly (including M1) so I don't think there is a problem with the design or UCF, the pinout report shows those pins as outputs in the correct locations.  I have tested with four boards (and counting) so I'm sure it's not a failed output driver or open pin.  Also I've confirmed that the pin is genuinely floating, not just driving a constant value, even though the pinout file shows it as an output. The test project is attached.  the fact that it's only those three "CMP" pins seems very suspicious!

 

Thanks for any advice.  This is fairly critical because if there is no simple fix we have to respin the board and give up some functions in order to move the signals on those three pins and displace others.

 

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
17,794 Views
Registered: ‎01-15-2008

Re: Spartan6 - Certain pins don't work as user outputs?

Jump to solution

Hi,

 

Can you check in your schematic what the spartan-6 fpga CMPCS_B_2 pin is connected to.

In UG385 Table 1-6: you can find the connection details to this pin 

 

CMPCS_B_2 -  Input Reserved -  Leave unconnected or connect High (VCCO_2).

 

Do not ground this pin in your board.

 

--Krishna

View solution in original post

6 Replies
Moderator
Moderator
17,795 Views
Registered: ‎01-15-2008

Re: Spartan6 - Certain pins don't work as user outputs?

Jump to solution

Hi,

 

Can you check in your schematic what the spartan-6 fpga CMPCS_B_2 pin is connected to.

In UG385 Table 1-6: you can find the connection details to this pin 

 

CMPCS_B_2 -  Input Reserved -  Leave unconnected or connect High (VCCO_2).

 

Do not ground this pin in your board.

 

--Krishna

View solution in original post

Observer fhuettig
Observer
10,754 Views
Registered: ‎11-20-2011

Re: Spartan6 - Certain pins don't work as user outputs?

Jump to solution

Oh Nooooo!  Yep, it's grounded.  And both UG380 and UG385 say to leave it floating or pulled high.  No idea how I missed that.

 

So are you pretty confident that -not- pulling that pin to ground will allow those other CMP pins to function as outputs?  I will have to respin the board now :-( but don't want to take any chance that the problem might not be fixed simply by un-grounding that pin.  I have to ask...

 

Thanks for the quick and pertinent reply.

 

-Fred

 

0 Kudos
Xilinx Employee
Xilinx Employee
10,748 Views
Registered: ‎08-01-2012

Re: Spartan6 - Certain pins don't work as user outputs?

Jump to solution

Before de-soldering chip/re-spinning the board please checks board thoroughly. There could be some other problems in the board. If you find any other problems al together can be done in one cycle.

________________________________________________

Please mark this post as an "Accept as solution" in case if it helped to resolve your query. So that it will help to other forum users to directly refer to the answer.

Give kudos to this post in case if you think the information is useful and reply oriented.

0 Kudos
Moderator
Moderator
10,742 Views
Registered: ‎01-15-2008

Re: Spartan6 - Certain pins don't work as user outputs?

Jump to solution

Hi Fred,

 CMPCS_​​B_2 relates to other cmp* pins.

when CMPCS_B_2 is left unconnected or pulled high then the three multipurpose pins(CMPMOSI, CMPMISO, CMPCLK)  should be able to function as user I/O's after configuration in your board assuming there is no other dependencies.

.

 

--Krishna

0 Kudos
Moderator
Moderator
10,738 Views
Registered: ‎01-15-2008

Re: Spartan6 - Certain pins don't work as user outputs?

Jump to solution

dependency meanining there is no other interface driving these three pins in your board other the normal function you have used.

 

--Krishna

0 Kudos
Observer fhuettig
Observer
10,721 Views
Registered: ‎11-20-2011

Re: Spartan6 - Certain pins don't work as user outputs?

Jump to solution

Thank you Krishna and Kodali, it was definitely my mistake in grounding the CMP_CS pin.  I am sure all other functions are working properly and I was able to verify the functions assigned to the CMP pins by jumpering & modifying the ucf.  So the only change required is to un-ground that pin.  I appreciate your attention.  -Fred

 

0 Kudos