Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

FPGA Xilinx XC3S400A

Status
Not open for further replies.

Jane11

Member
I have the same, two devices that use XC3S400A (FPGA made by Xilinx). One device is working, the other not because the XC3S400A seems to be faulty.
I can not find already programmed XC3S400A.
Is it possible to read out the code from that working XC3S400A, then write the code to a brand new XC3S400A ?
How can I do that? What programmer do I need?
Thank you for your help
 
The XC3S400A is field programmable, so its program is stored in small ROMs some where near the FPGA.
So you should be able to replace the FPGA.
BUT
The XC3S400A has a serial number so it is possible to make the program only work with the right serial number. So you could not replace the part.
SO
Maybe yes and maybe no.

I have found that much of the FPGA problems are in solder joints to the PCB. You can try to re-solder the old part.
 
Thanks you for your reply.
Do you mean it is not possible to replace the faulty FPGA with a new one because of security features?
Or how can it be done?( you say Maybe yes and maybe no. )
 
I am saying the program is not stored inside the FPGA.

I do not know if security was set.
If no security they you can replace it.
If yes for security then you can not replace it and make it work.
 
I don't know how how. There is a very large data sheet on the part.

Why do you think then FPGA is bad?
 
As a user of Altera FPGA, it is very likely that you have shorted gate(s) within your faulty device.
A replacement FPGA is generally a blank device containing hundreds/thousands of configurable gates that will not do anything until it has been pre-loaded with a configure file for a specific application. There are several types. Most newer chips do have memory blocks that retain the configuration file.

In my case, the replacement chip from manufacturer is completely blank. It must be loaded with the file. Technically you can do it outside the circuit but it is impractical due to the huge number of pins. Therefore it is programmed in circuit.

Once loaded it is like a flash that remembers the configuration and your newly configured circuit city is ready for use.
As far as programming the FPGA, it is a bit involved; First you must have a good copy of the file. Use the JTAG pins for accessing the chip. Utilize the vendor's own software that is usually free at their site. You may have to buy/make some sort of an interface for JTAG connections. Also, depending on application, it may have to be in a specific mode.

I my case, JTAG interface or the software configuration was not a problem. The biggest issue was not having a copy of the file which the vendor would not provide before a disclosure statement which literally took months. Even though it is used in a rather expensive equipment,(+$20k) I later found out that it was not copy protected after all. (copying such specifics are useless in non competitor world)
Of course, if available, you can always try reading the file from a working unit in circuit. It may or may not be copy protected depending on the application it is used on.
 
Of course, a lot of products allow the user/technican to load new (updated) firmware while the product is in service - if you're lucky there might be a simple procedure which will re-flash the FPGA or its EEPROM.

From your statement:
... the device says, it could not initialize FPGA....
I presume that there is a processor/computer involved elsewhere in the system? It's possible that such a processor could have the ability either to program the FPGA's flash memory or to load the FPGA's configuration at power-up.

To summarise what Ron said in #2, have a look at the small chips surrounding the FPGA, look up their part numbers, and see if any is a "serial eprom" or something similar. If you find one, chances are the program is in there and you won't need to program the FPGA itself.

Could I ask what the product/system is that you are trying to repair? Perhaps someone here knows something specific about it.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top