• 0
anshumantech

Xilinx PROM XCF02S not programming

Question

Hello,

On my FPGA board I have FPGA XC3S400-PQG208 and PROM XCF02S. I am using Digilent’s Adept to program my device by using HS1 cable. If I program only FPGA XC3S400-PQG208 by using HS1 then it program successfully and executes also. While if I choose to program XCF02S by using HS1 it shows massage “Programming Successfully” but it fails to execute. While by using Xilinx ISE 10.1 Impact to programs FPGA XC3S400-PQG208 and PROM XCF02S, it programs successfully and executes also, in this I used parallel cable to program.

I have tried .svf and .mcs both types of files.

All connections are same in both programming methods i.e using ISE 10.1 Impact and Digilent’s Adept.

Attaching screenshot of same please check.

Thank you.

adept.jpg

Share this post


Link to post
Share on other sites

19 answers to this question

Recommended Posts

  • 0

Hi @anshumantech,

I think this is one of those situations where Adept (in it's early days of development) had extra devices added to it's internal compatibility table in the thoughts that they would be programmed in the same way that other devices in their family would be, but that is not the case everything, such as for the PROM XCF02S. I believe Adept will be updated at some point so that it properly excludes these devices that are not actually compatible.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Hello @JColvin

That’s funny, something that is purchased & working to do specific function like programming PROM XCF02S through parallel port JTAG (ISE 10.1 Impact), you mean to say, Adept HS1 will endeavor to exclude it & make it lame programming tool! Please think and give proper solution & not such a cryptic reply expected.

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

The Adept GUI application was developed to provide a lightweight application for programming the FPGA and flash memories on Digilent system boards. It was not meant to be a general purpose programmer for all CPLD/FPGA/Flash combinations, and as a result we only tested the device combinations that were on Digilent system boards. We recommend using iMPACT 14.x with out plug-in for general purpose programming of older CPLD and Flash devices. For newer devices we recommending using Vivado. I don't think Vivado supports the XCF02S but I know it's supported in iMPACT. Have you tried using the HS1 and iMPACT with the Digilent Plugin to program the XCF02S on your board? You don't need a license to use iMPACT (part of ISE) for programming and you can download 14.7 here:
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html

https://store.digilentinc.com/digilent-plugin-for-xilinx-tools-download-only/

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

One thing I forgot: if you install ISE 14.7 and have it install the cable drivers then there shouldn't be any need to manually install the Digilent plugin.

Share this post


Link to post
Share on other sites
  • 0

@malexander

Hello,

Thanks for reply.

As you have mentioned I tried with ISE 14.7 and 14.2 Impact through HS1 cable. But problem is related to IDcode of device. Please check attached table

 

prom.jpg.e4b54f471efb977d2a0c713d6174d047.jpg

While programming XCF02S, I have got below problem.

PROGRESS_START - Starting Operation.

INFO:iMPACT:583 - '1': The idcode read from the device does not match the idcode in the bsdl File.

INFO:iMPACT:1578 - '1':  Device IDCODE :        00000000000000000000000000000000

INFO:iMPACT:1579 - '1': Expected IDCODE:    00000101000001000101000010010011

Please make sure that the version of the xc18v00 proms you are using are supported in iMPACTPROGRESS_END - End Operation.

then I have referred “#AR13529: iMPACT - "ERROR: iMPACT:583 - '2' The IDCODE read from the device does not match the IDCODE in the BSDL file" and changed TCK frequency.

 

 

So for 250Khz got below result,

 

PROGRESS_START - Starting Operation.

INFO:iMPACT:583 - '1': The idcode read from the device does not match the idcode in the bsdl File.

INFO:iMPACT:1578 - '1':  Device IDCODE :        00000000000000000000010001000000

INFO:iMPACT:1579 - '1': Expected IDCODE:    00000101000001000101000010010011

Please make sure that the version of the xc18v00 proms you are using are supported in iMPACTPROGRESS_END - End Operation.

Elapsed time =      0 sec.

 

For 1MHz got below result,

PROGRESS_START - Starting Operation.

INFO:iMPACT:583 - '1': The idcode read from the device does not match the idcode in the bsdl File.

INFO:iMPACT:1578 - '1':  Device IDCODE :        00001111111111111111111111111111

INFO:iMPACT:1579 - '1': Expected IDCODE:    00000101000001000101000010010011

Please make sure that the version of the xc18v00 proms you are using are supported in iMPACTPROGRESS_END - End Operation.

 

For more than 3MHz result is,

 

PROGRESS_START - Starting Operation.

INFO:iMPACT:583 - '1': The idcode read from the device does not match the idcode in the bsdl File.

INFO:iMPACT:1578 - '1':  Device IDCODE :        00000000000000000000000000000000

INFO:iMPACT:1579 - '1': Expected IDCODE:    00000101000001000101000010010011

Please make sure that the version of the xc18v00 proms you are using are supported in iMPACTPROGRESS_END - End Operation.

 

While all the connections on my boards are remain same, same thing happened with XCF04S. But if you will check above table in that XCF02S is programming by using parallel port cable.

So please give me suggestion on the same.

 

 

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

It's interesting that the ID code changes based on the chosen TCK frequency. This suggests that there may be some signal integrity issues. How are you attaching the HS1 to the board that contains the device that you are trying to program? Is it plugged directly into a header on the board? Does the board contain additional resistors in line with the JTAG signals? What voltage is the JTAG scan chain operating at, and is the VREF pin of the JTAG header, and more importantly JTAG HS1, being powered at the correct voltage?

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

@malexander

Let us concentrate on XCF02S, let me answer your latest queries as below:

In the same chain as XCF02S the board has XC3S400 FPGA & using HS1. It can be programmed as below. Now being the same chain, if its FPGA programs then it answers all your questions about operational voltage of JTAG, series resistors, VREF pin of JTAG header etc.

Please check below table.

image.png.8d88ab9573e0f78efa5d87cbee3657ff.png

Edited by anshumantech

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

You're impact results from above strongly suggest a timing or signal integrity issue and just because iMPACT claims to program have programmed the XCS3400 successfully doesn't dismiss the need to further investigate those issues. Can you send me a schematic that shows all of the JTAG scan chain and tell me the reference designator of the header that you are plugging the HS1 into?

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

@malexander

Thanks for your reply,

Since it is a part of bigger system, I am enclosing only relevant parts of schematic. Please refer below diagrams.

First diagram contains FPGA XC3S400 connected to XCF02S with JTAG chain. You can see onboard JTAG header in the same which is just a 6 pin relimate to connect HS1 cable. For configuring FPGA XC3S400 with PROM XCF02S mode selections pins are grounded using L4,L5,L6. For TDO signal,  we shorted 2-3 pins of J13 which is 3 pin header. When PROM is used/included in JTAG chain;  also keep J14 2 pin header shorted.

In second diagram, connection from Digilent’s HS1 cable to on board JTAG header is shown.

Please give suggestion on this. In the light of data as presented in the table above & know that we use 100s of FPGAs in various products, while presently issue is to upgrade to Win10 OS.

 

 

jtag header.jpg

fpgatoprom.jpg

Edited by anshumantech

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

Are the XC3S400 and XCF02S actually powered at 5V or are their JTAG signals referenced to 3.3V or some other voltage?

Are there any buffers/level translators omitted from this diagram?

I believe that you said you were able to successfully configure the XC3S400 with the HS1. If that's true, did you try configuring it with XCF02S in the scan chain or was it omitted from the scan chain by shorting pins 1 and 2 of J13? If you haven't tried configuring it with the XCF02S in the scan chain then it would be interesting to configure it with that device in the chain. Perhaps configuration would succeed but read back would fail.

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

@malexander

Thanks for reply.

XC3S400 and XCF02S are powered at 3.3V, while JTAG powered at 5V. There is no any buffer/level translator in this circuitry.

To configure only FPGA we shorted 1 and 2 of J13. When 2 and 3 of J13 shorted at that time FPGA and PROM both comes into picture.

It’s my two observations: under ISE impact through parallel port on XP, there is an option to bypass FPGA & select PROM which apparently ensures that code related PROM & stays there. While under Adept HS1 you can’t bypass FPGA but can select PROM in that case it seems that bit stream comes through PROM yet doesn’t stay there as bypass option is not seen on screen. Is it hidden under selection procedure itself?

 

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

I looked at the datasheet for the XC3S400 and it says that the JTAG pins are powered by VCCAUX. It also states that VCCAUX can be 2.5V or 3.3V. Further, it specifies an absolute maximum voltage of 4.6V for all dedicated pins. The VREF pin of the HS1 powers the high speed buffers that drive the TMS, TDI, and TCK signals from the module. If you power the VREF pin at 5V then those buffers have drive strength of up to +32/-32mA and will output approximately 5V on the line for a logic '1', which will violate the absolute maximum input voltage specified for the XC3S400 JTAG pins. Over driving the pins may be what's causing the erratic behavior that you are seeing with the HS1, as opposed with a parallel programmer, which may use different buffers. If at all possible I'd try disconnecting +5V from pin 1 of your JTAG header and replacing it with the onboard 3.3V supply or whichever supply you use to power VCCAUX.

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

@malexander

By mistaken I mentioned that JTAG is working on 5V, actually it is working on 3.3V.

Issue penetrating us is:

a)      Hardware module contains XC3S400 FPGA & PROM XCF02S.

b)      If you program either of two using Impact 10.1 (Parallel port cable on Win XP) it programs either of two devices correctly.

c)       If you program either of two using Adept(HS1module on Win XP) it programs only FPGA but can’t load PROM (check table already sent.

d)      If you program either of two under Win 10 with HS1 module using Impact 14.7 or Adept, only FPGA program but PROM fails to program.

e)      We tried to use Chipscope it couldn’t detect PROM.

Query: Let us not talk about signal integrity since same H/W has been working/programming under XP/Parallel port (see point (b) above).

What do you say?

 

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

I mentioned signal integrity because iMPACT was reading different ID codes for the flash each time. If I were going to debug this I'd use an oscilloscope to observe the JTAG lines at the JTAG header with the JTAG-HS1 plugged in and do so with J13 in each of the two positions to see what the difference is. I'm not convinced it's a software issue because we thoroughly tested the ability to program an image into an XCF04S that's attached to a Spartan XC3S500E in an identical manner to what you've described and the XCF02S. I can't explain why this works with a parallel JTAG cable and not the USB cable because I don't have the schematic for the parallel cable, nor have I seen oscilloscope captures with the parallel cable vs the HS1.

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

@malexander

Hello,

We have 2 different PROM XCF02S ICs, One is XCF02S V and another is XCF02S VG. I have checked datasheet of IC. In that it is mentioned VG version IC are Lead (Pb Free) Free.

XCF02S V version PROM IC is failed to program under ISE Impact 14.2/14.7 using Digilent’s HS1/HS3 cable. As I mentioned earlier i.e IDCODE does not match issue (tried on different TCK frequencies but same problem occurs). But same PROM is programmed successfully under ISE Impact 10.1 with parallel port cable and transfer program to FPGA.

While XCF02S VG version PROM IC is programmed successfully under ISE Impact 14.2/14.7 using Digilent’s HS1/HS3 cable and transfers data to FPGA. Also it is programmed successfully under ISE Impact 10.1 with parallel port cable and transfer program to FPGA.

What do you say on this?

Edited by anshumantech

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

I understand what your saying about the parallel cable but I still think there is a signal integrity issue when using the HS1 or HS3 and i've already told you how I would continue to debug this issue. Beyond that I have no further suggestions.

Share this post


Link to post
Share on other sites
  • 0

@malexander

OK thank you for reply.

I have another board  with spartan 6 XC6SLX4 connected to PROM XCF04S. I tried to program PROM using ISE Impact 14.7/14.2 with HS1&HS3. It is programming successfully and executes on Spartan 6.

But while programming PROM using Digilent's Adept it shows Programming successfully but execution of it on FPGA is failed.

Now there are two observations:

1) PROM XCF02S and XCF04S are programming successfully and executes well on Spartan 3 and Spartan 6  respectively using ISE Impact 14.2/14.7.

2) PROM XCF02S and XCF04S are programming successfully using Digilent's Adept but fails to execute on FPGA.

What do you say on this?

 

Share this post


Link to post
Share on other sites
  • 0

@anshumantech

1. That proves that your HS1 and HS3 work and that the Digilent Plugin for the Xilinx tools is working. If you have access to an oscilloscope then I strongly recommend performing the scope captures that I suggested in one of my previous comments to see if we can figure out why neither the HS1 or HS3 will work with your other board.

2. The Adept GUI application and djtgcfg both support programming many different CPLD, FPGA, and Flash devices. The only combination of devices that were ever tested would be ones used on Digilent system boards, and those combinations would have only been tested on Digilent system boards and not third party boards. We never intended for the Adept GUI application or djtgcfg to be used to configure a CPLD, FPGA, or FLASH device on a third party board. For general purpose programming of series 7 or newer devices we push everyone toward Vivado and for older devices we recommend ISE 14.x. Given the confusion that this has caused for people I'm going to recommend that we either stop publishing the Adept GUI application as part of the Windows installer or that we at least note that neither the Adept GUI application or djtgcfg are recommended for use with non-Digilent system boards.

Share this post


Link to post
Share on other sites
  • 0

@malexander

Thanks,

We comment as below,

Your pt no 2: Do not stop publishing Adept GUI. You do not know which one works where! Somebody somewhere may find it useful & it’s relevant in this complex field of FPGA, where many realities interact with our efforts. We have now reduced problem to Adept GUI not able to program PROM using HS1, HS3 that is all! So all is well, help if you can. Not so useful moderator! Ha,ha,ha!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now