Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20735 Discussions

How to check whether a Cyclone IC is defect

Altera_Forum
Honored Contributor II
1,257 Views

Dear Members! 

 

I am working since 5 years with Cyclone II EP2C8 simple boards, I am developing some hobby projects at home. 

Yesterday some strange thing happened to me, as I improved my VHDL code by using Quartus II, compiled and downloaded it into the fpga. 

(more background: I added some new signals, thus the exploitage of the device was higher about from 42% to 43%) 

After configuration, one of the multiple adding function (8 times 16bit) was not able to produce a value other then zero. There was no timing problem, because the result of the simultaneously working adder was taken after 100us. The inputs was stable and also appropriate latched. 

This adder was worked before, and the changes what I made was not related this part. (I would like to point out, that during the using of the old code, I had some issues, that the result of the adder was sometimes 0 but only very rarely and only for a fraction of a second) 

 

I thought first, that my code was wrong, but after 1 hour searching and trying, I did not get any result, the result was still zero. 

Finally I changed the board, and I configured the other board, and that solved my problem, the adder worked. So I think inside the IC some gates was defect, and as I changed the code, this defect part of array was used. 

 

Now the question: Anyone knows about a procedure, how to test a new shipped (or an old) Cyclone IC, whether every gate array inside the IC is completely working? I would imagine a checksum code, which goes all the gates thru, and if one of them not working, the result is other than expected. 

 

Do Quartus II has a built in IC test feature? 

 

Thank you for your answer in advance!
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
407 Views

I don't know, and assume you already did, but what happens when you rollback your changes?

0 Kudos
Altera_Forum
Honored Contributor II
407 Views

 

--- Quote Start ---  

I don't know, and assume you already did, but what happens when you rollback your changes? 

--- Quote End ---  

 

 

I did not do a rollback. But the question was rather how to test a Cyclone device. The backgrund story was only example what can be occure in that situation. 

Every electronic device has a lifetime span, maybe it gets a damage during the normal working situation, and sometimes it is necessery to make a "selftest" somehow, to avoid loosing developement time due to defect gates. 

 

I could write a code with more thousand or million of XOR gates to check whether the coming out result is expected, but don't belive there is no already working solution for that problem.
0 Kudos
Altera_Forum
Honored Contributor II
407 Views

 

--- Quote Start ---  

I did not do a rollback. But the question was rather how to test a Cyclone device. The backgrund story was only example what can be occure in that situation. 

Every electronic device has a lifetime span, maybe it gets a damage during the normal working situation, and sometimes it is necessery to make a "selftest" somehow, to avoid loosing developement time due to defect gates. 

 

I could write a code with more thousand or million of XOR gates to check whether the coming out result is expected, but don't belive there is no already working solution for that problem. 

--- Quote End ---  

 

 

In my experience (working for a large company that did a high $$ volume in FPGA devices) when we had failures in either manufacturing or field returns, we would remove the part (usually professional rework equipment) and send it back to Altera for failure analysis. BGA parts would need to be reballed. 

 

Altera obviously has complete capability to test and validate parts to meet production functionality standards. A few weeks or so later we would get a report on the failure nature (or if no problem found, we would get the part back and put it on a new board to retest it ourselves using our device program(s).) 

 

I get the impression that you are either just a hobbyist or a small volume manufacturer, so your options I suspect are very limited. Toss the board and get another, or else be prepared to write some chip specific device test images yourself (like a full device snake test, etc). Most likely it will cost you much more in time and resource to try and test a device yourself than just buying a new board (or getting the FPGA device professionally replaced via a rework contractor).
0 Kudos
Reply