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
Visitor jtravers
Visitor
10,222 Views
Registered: ‎10-22-2009

Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

 

Hi,

 

I am having a strange issue with configuring the internal flash in an XC3S400AN part.  The part configures fine and operation is as expected but I can't get the outputs to tristate during configuration by asserting the PUDC_B pin.  The setup is as follows:

 

  • I/Os used to control FETs to switch power components all with 10k pulldowns.
  • DONE tied to 3.3V with 220Ω
  • PROG_B tied to 3.3V with 4.7kΩ
  • PUDC_B floating on board
  • Default configuration options in ISE

So, as I understood with PUDC_B undriven and default config the pin will be pulled up thus tristating the outputs.  I verified that this is the case by monitoring PUDC_B during config and it does maintain a 3.3V level.  

 

Pre-configuration the I/Os are indeed HiZ and are pulled-up by switching PUDC_B to ground.  The voltage level seen indicates that the pullups equate to around 5kΩ when forming a divider with my 10kΩ on-board components, in agreement with the values given in the UG332.  So far, so good.

 

When I actually program the device flash, however, with the PUDC_B pin pulled-up internally all outputs get pulled up.  I have seen that it is advised in more recent documentation to drive this pin so I tried also with the pin directly connected to 3.3V with the same result.  Note that only programming the FPGA and not the flash does not produce this effect and nor does the normal configuration of the device over Internal Master SPI mode after the flash is programmed.  I have tried with various settings of the mode pins with no change.  

 

Also I have noticed that any access of the internal flash causes this pulling-up of the I/Os: verify, readback, erase, etc.  Is there some quirk of the 3AN devices that the flash needs these pullups somehow?  I have searched the docs but drawn a blank.

 

Thanks in advance,

Jamie

 

 

 

0 Kudos
1 Solution

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

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

Hi Jamie,

 

I have sent you the .cor file to your email. Test it and let us know the results.

 

--Krishna

20 Replies
Moderator
Moderator
10,218 Views
Registered: ‎01-15-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

Hello Jamie,

 

I belive your issue is I/'sO getting pulled high during programming of the internal flash.

Yes this will happen since the indirect programming logic which is downloaded to the FPGA part drives the non configuraiton I/O's to logic High.

PUDC_B pin will come into consideration when the interfnal flash(mcs file already downloaded) is configuring the fpga.

Let us know if you need the I/O's to be pull none during programming of the ISF, we can send an file which you will need to replace in the ISE install directory to make the I/O's pull none.

 

--Krishna

 

 

 

0 Kudos
Visitor jtravers
Visitor
10,216 Views
Registered: ‎10-22-2009

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

 

Hi Krishna,

 

Many thanks for the quick reply - I was thinking there was something specific to the internal SPI flash going on.

 

I do need the pins to be undriven during flash programming so would much appreciate that file if you could forward it.

 

Best Regards,

Jamie

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

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

Hi Jamie,

 

I have sent you the .cor file to your email. Test it and let us know the results.

 

--Krishna

Instructor
Instructor
10,201 Views
Registered: ‎08-14-2007

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

This isn't the first time this issue has come up.  How hard would it be for Xilinx to "fix" the indirect programming cores so that Impact uses the correct pull value (pullup or none) based on the state of the PUDC_B or HSWAPEN pin?  I understand that the pull value is a config option, so this couldn't be done in a single core file, but Impact does have access to the current pin value of the PUDC_B or HSWAPEN signal, so it should be able to intelligently use the correct core file.

-- Gabor
Historian
Historian
10,181 Views
Registered: ‎02-25-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

@gszakacs wrote:

This isn't the first time this issue has come up.  How hard would it be for Xilinx to "fix" the indirect programming cores so that Impact uses the correct pull value (pullup or none) based on the state of the PUDC_B or HSWAPEN pin?  I understand that the pull value is a config option, so this couldn't be done in a single core file, but Impact does have access to the current pin value of the PUDC_B or HSWAPEN signal, so it should be able to intelligently use the correct core file.


Oh, but iMPACT, along with the rest of ISE, has been deprecated, and no such updates will be made.

----------------------------Yes, I do this for a living.
0 Kudos
Moderator
Moderator
10,169 Views
Registered: ‎01-15-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

we are considering this options(selecting .cor files) in Vivado programmer and will be able to see in future versions of vivado programmer.

 

--Kirshna

0 Kudos
Visitor jtravers
Visitor
10,167 Views
Registered: ‎10-22-2009

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

 

Hi again,

 

Got sidetracked there, but tried the new core file and it worked as intended.  I agree with Gabor though that this should be fixed in some way.  Failing that it should at least be clearly documented in the configuration User Guide that Pull-up During Configuration does not always mean that - I lost quite a bit of time chasing this as the pin description seemed unambiguous.

 

On another note, we configure FPGAs on our current boards from a number of standalone PCs.  Is the only way of implementing this company-wide to manually update the core file on each PC?

 

Best Regards,

Jamie

0 Kudos
Historian
Historian
10,118 Views
Registered: ‎02-25-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

@kkn wrote:

we are considering this options(selecting .cor files) in Vivado programmer and will be able to see in future versions of vivado programmer.

 

--Kirshna


What part of SPARTAN-3AN WAS NOT CLEAR?

 

Unless you're hinting that Spartan-3AN support was being added to Vivado, which would be welcome.

----------------------------Yes, I do this for a living.
0 Kudos
Moderator
Moderator
10,113 Views
Registered: ‎01-15-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

currently the vivado programmer is for 7 series and ultrascale and the .cor file selection option for these devices is in the roadmap and you might see in the future versions.

currently Spartan-3an devices are not supported in Vivado programmer and we might look into this in future.

So incase you need a .cor file to make the i/o's float during programming for any of the older devices it would be adviced to open a technical support case or patch request through web.

https://secure.xilinx.com/webreg/register.do?group=download_req

 

--Krishna

 

Historian
Historian
8,442 Views
Registered: ‎02-25-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

@kkn wrote:

 

currently Spartan-3an devices are not supported in Vivado programmer and we might look into this in future.

 


So this is a new thing? Because we've been told over and over that non-series-7 devices would never be supported in Vivado, ever. I'm sure you can understand where I'm coming from.

----------------------------Yes, I do this for a living.
0 Kudos
Historian
Historian
8,442 Views
Registered: ‎02-25-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

@kkn wrote:

Hi Jamie,

 

I have sent you the .cor file to your email. Test it and let us know the results.

 


Can you send it to me, as well? I have a Spartan-3AN design which talks to 1.8V-rail LVDS-output devices so having the FPGA input pins pull to 3.3V during programming is bad.

----------------------------Yes, I do this for a living.
0 Kudos
8,281 Views
Registered: ‎08-17-2014

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

hello!    I am using the devicexc3s400an.   when I  wanted  to program the device by internal flash,     I  found   that there is no file of  xc3s400an_spi.cor.      please send  the   s400an_spi.cor  to  my  email ( 215953543@qq.com),      thanks  a  lot  !!

0 Kudos
Newbie pavant
Newbie
7,776 Views
Registered: ‎12-23-2014

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

We've got the same problem with the xc3s200an part. PUDC_B is tied to 3.3V but I/O pins happen to be pulled up during internal flash configuration cycle. Can we somehow make I/Os float? Do we need patched .cor file for this?

0 Kudos
Instructor
Instructor
7,757 Views
Registered: ‎08-14-2007

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

@pavant wrote:

We've got the same problem with the xc3s200an part. PUDC_B is tied to 3.3V but I/O pins happen to be pulled up during internal flash configuration cycle. Can we somehow make I/Os float? Do we need patched .cor file for this?


Yes, you do.  If you don't get an official response here, start a new thread or better yet ask your FAE for help.

-- Gabor
0 Kudos
Visitor lydialiu
Visitor
3,837 Views
Registered: ‎02-27-2014

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

Hi Krishna,

 

Could you please send me the .cor file to solve the unexpected io pull-up during programing the spartan3an-400 ISF?

My email is 455389261@qq.com

Thanks so much for you help!

 

 

Best Wishes,

Lydia

0 Kudos
Moderator
Moderator
3,829 Views
Registered: ‎01-15-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

check your email and hope that helps

 

0 Kudos
Visitor lydialiu
Visitor
3,811 Views
Registered: ‎02-27-2014

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

Hi Krishna,

Thanks for sending me the email. The question is you have sent me a .bit file(jspi_xc3s400an_io_float.bit). According you previous comments, maybe I need a .cor file(maybe a new xc3s400an_spi.cor). Please correct me if I misunderstood something. Thanks!

Looking forward for your reply!

 

 

Best Wishes,

Lydia

0 Kudos
Moderator
Moderator
3,806 Views
Registered: ‎01-15-2008

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

HI Lydia,

 

you need to change the extension from .bit to .cor and replace in the install directory

 

--Krishna

0 Kudos
Visitor bloct1
Visitor
1,551 Views
Registered: ‎07-12-2018

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

Hi Krishna

i think i meet the same problem,Could you please send me the .cor file to try solving the unexpected io pull-up during programing the spartan3an-400 ISF? My email is qhjunxiao@163.com

Thanks so much for you help!

0 Kudos
Visitor ebi1359
Visitor
1,023 Views
Registered: ‎07-01-2018

Re: Spartan 3AN PUDC_B not tristating during flash configuration

Jump to solution

Hi Krishna

i think i have the same problem,Could you please send me the .cor file to try solving the unexpected io pull-up during programing the spartan3an-700 ISF? My email is etag1384@gmail.com

Thanks so much.

0 Kudos