Hallo,
ist es möglich, dass die logischen Zellen im FPGA/CPLD ab Werk defekt
sein können? Ich meine, nicht alle, sondern eine oder zwei, die irgendwo
in der Chip-Mitte sitzen... also, z.B. ein CPLD mit 64 Makrozellen und
eine davon ab Werk defekt?
Ich denke schon.
Die Frage ist, ob diese CPLD überhaupt ab Werk getestet werden oder ob
man sich bei den Technologien auf die eigentlich sehr hohe Ausbeute
verlässt.
Gruss
Axel
Der Testauffand muss bei den FPGAs (mit Tausenden logischen Zellen) wohl
enorm sein.
Und wie könnte man eigentlich jede Zelle prüfen? Gibt es dafür ein
spezielles Design, das man auf den FPGA hochlädt und dann schaut, ob an
den Pins das richtige rauskommt?
Bei 64 Makrozellen sollte das kein Problem sein.
Bei ASICs wird normalerweise ein spezieller Testmodus implementiert, in
dem das ASIC getestet werden kann. Dabei werden über einen Testpin alle
Flip-Flops als Schieberegister geschaltet, so dass man darüber Zustände
in das ASIC hinein- und herausschieben kann, was das Testen enorm
vereinfacht. Ich vermute, dass man bei FPGA das Gleiche macht. Für die
Flashspeicher gibt es vermutlich auch spezielle Testlogik auf dem FPGA.
Habe übrigends mal nachgesehen, bei Altera werden angeblich alle
Bausteine getestet. Allerdings kommt es generell bei elektronischen
Bausteinen zu einer erhöhten Ausfallrate zu Beginn des Lebenszyklus.
Auch wenn das eher im Bereich von 1/10.000 oder so ist, kann es
natürlich immer mal sein, dass man so einen erwischt. Irgendwer muss den
ja erwischen :-)
Gruss
Axel
Meines Wissens gibt es von Xilinx auch die Möglichkeit vergünstigt Chips
zu erwerden bei denen nur die EIgnung für ein spezielles Design getestet
wird. Wie man diese allerdings von den vollwertigen Chips unterscheidet
und ob es da auch 'Fälschungen' gibt weiß ich nicht
Ein namhafter Hersteller, der ungepruefte Chips verkauft, ist nicht mehr
lange namhaft.
Wenn man einen Chip bezahlt, dann bezahlt man
- das Design des Chips
- die Chipflaeche
- die Technologie
- die Anzahl der Pins, die nach aussen gefuehrt sind
- den Testaufwand
@Alex: Bist Du sicher, dass Du kein ESD Problem hattest? Kein
Schaltungsproblem? Nicht vielleicht zu lange an einem Pin
herumgebrutzelt? Nicht mit der Testspitze abgerutscht?
@Tom: Xilinx liefert fuer dir Chips, die fuer Deine (Volumen)
Applikation getestet sind ("Easy Path"), aber getestet sind die Chips
trotzdem.
Vor drei oder vier Jahren hatte ich mal ein Eval-Kit mit einem Virtex 2
und 40 irgendwas bestellt. Da war ein DCM defekt. Als Anfänger habe ich
ewig gebraucht das zu merken und zu beweisen. Der Händler oder Xilinx
wollten das erst nicht so recht glauben. Schließlich mußte ich das Board
einschicken und nach noch einer Weile wurde meine Vermutung bestätigt.
(Es war noch ein ES-Typ - aber die sollten doch auch in Ordnung sein!)
Leider war ein 1:1 Tausch auch nicht mehr möglich weil es dieses Board
nur noch mit einem Virtex 2 und 1000 irgendwas gab. Das wollte ich dann
aber nicht. Ja ich hätte es schon gerne gemocht, aber die kostenlos
Software hat diesen Typ nicht mehr unterstützt....
Außerdem hatte ich Mühe ein Design vom ALTERA 1K10 mit 576 LC in den
Virtex 2 und 40 irgendwas zu fitten. Da mußte ich zum ersten mal
feststellen, daß ALTERA und XILINX verschiedene Zählweisen für ihre
Gatterequivalente haben.
Leider gibt es da keine festen Umrechnungsgrößen. Das ändert sich
ständig.
Jedenfalls hat mich das ganze irgendwie in die Fänge von ALTERA
getrieben.
Das soll jetzt keine Wertung sein ob ein Hersteller besser oder
schlechter ist - es ist einfach nur erlebt.
Viele Grüße
TobiFlex
>@Alex: Bist Du sicher, dass Du kein ESD Problem hattest? Kein>Schaltungsproblem? Nicht vielleicht zu lange an einem Pin>herumgebrutzelt? Nicht mit der Testspitze abgerutscht?
nein, ich glaube, es liegt ein Missverständnis vor, Probleme in dieser
Hinsicht hatte ich bis jetzt keine, die Frage mit den defekten Zellen
ist mir nur so aus Neugier eingefallen und da dachte ich, ich frage mal
nach, ob andere damit vielleicht Erfahrungen gemacht haben...
Xilinx wirft Errata's raus, macht also (einige?) Fehler öffentlich.
http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?iLanguageID=1&category=-1210909&sGlobalNavPick=&sSecondaryNavPick=
Es passiert schon das defekte chips rausgehen. Dann ist (A) der test bei
xilinx nicht gut genug und (B) eine Slicium Charge "madig" produziert
worden. Produktionsfehler passieren immer, Intel schmeisst wohl ca. 30%
der produktion weg. Und für den test ist wenig zeit (hab mal was von 2
sec pro chip gelesen). da werden mal micht alle betriebsfälle getestet
und dann "kann" es beim Chipkäufer krachen.
Eine prozentzahl kann ich nicht sagen, aber es ist mir mehr als einmal
passiert, das produkte wegen fehlerhaften FPGA's umgearbeitet wurden,
bzw. im Eingangslager FPGA's unter Quarantäne gestellt wurden. Das waren
meist keine Sofort- und Totalversager (das wäre Xilinx aufgefallen)
sondern bei manchen Chips ging irgendwann immer die selbe Ecke nicht
mehr.
Errata betreffen aber eher grundsätzliche Fehler, die nicht gefixt
wurden, weil sie als nicht wichtig genug erachtet werden.
Und die Tests können prinzipbedingt nicht 100% aller denkbaren Fehler
abdecken, sonst wird das Ganze unwirtschaftlich. Es rutschen also immer
mal ein paar Chips durch, die irgendwo einen Fehler haben. Übrigends
kann so ein Fehler ja auch unter bestimmten Bedingungen auftreten, z. B.
ein Transistor, der langsamer ist als gedacht. So etwas ist fast
unmöglich zu finden. Für die Automobilfirmen versucht man auf unter 1
ppm zu kommen, was aber schon ganz schön schwierig ist.
Und wenn Intel 30% der Produktion wegschmeissen würde, wären die Pleite
:-) . Das passiert höchstens bei ganz neuen Technologien.
"Eine prozentzahl kann ich nicht sagen, aber es ist mir mehr als einmal
passiert, das produkte wegen fehlerhaften FPGA's umgearbeitet wurden,
bzw. im Eingangslager FPGA's unter Quarantäne gestellt wurden. Das waren
meist keine Sofort- und Totalversager (das wäre Xilinx aufgefallen)
sondern bei manchen Chips ging irgendwann immer die selbe Ecke nicht
mehr."
Das solche Fehler eine ganze Charge betreffen, halte ich für
unwahrscheinlich.
Gruss
Axel
Und wenn Intel 30% der Produktion wegschmeissen würde, wären die Pleite
:-) . Das passiert höchstens bei ganz neuen Technologien.
Lt CT 22/06 S.30 kann Xilinx aus einem Wafer 320 gute Chips gewinnen.
Insgesamt können 430 Cips auf einen Wafer passen (Schätzung der ct) also
ca 25 Ausschuss.
Das solche Fehler eine ganze Charge betreffen, halte ich für
unwahrscheinlich.
Ist üblicherweise eine Vorsichtsmassnahme die gesamte charge
auszusondern:
-> Gleiche Charge -> gleiche Produktionsbedingungen -> gleiche
defektwahrscheinlichkeit.
Ich denke gerade an eine Vorlesung "Zuverlässigkeit und Sicherheit.." -
da gab es mal ein Beispiel mit einer kleinen digitalen Schaltung, die
durch zusätzliche Gatter erweitert wurde, um mögliche Fehlzustände der
eigentlichen Schaltung zu erfassen und ein Fehlersignal auszugeben... -
Als Beispiel ein D-FF, der eigentlich nur zwei Ausgänge ein Q und nicht
Q hat, und wenn beide Ausgänge aus welchen Gründen auch immer nur (1,1)
oder nur (0,0) ausgeben, was nicht sein darf, dass dann ein Fehlerbit
gesetzt wird oder so?
Wie sieht es in der Praxis aus, wird ähnlich vorgegangen, um defekte
logische Zellen zu bestimmen oder eigenes Design gegen so was
abzusichern?
Nein, in der Praxis wird wohl sowas nicht gemacht (zumindest nicht bei
FPGAs/CPLD). Wer garantiert dann überhaupt, dass diese Zusatzbeschaltung
auch richtig funktioniert?
Kest
Ach so, stimmt, die Zusatzbeschaltung könnte auch eine defekte logische
Zelle enthalten und im schlimmsten Fall immer ein gutes Ergebnis
liefern.
Sich dagegen absichern kann man wohl kaum...
Bei den ganz neuen Technologien wird das bei RAM zunehmend gemacht. Das
Problem ist, dass bei diesen kleinen Geometrien, wo ja nur noch wenige
Elektronen über 1 oder 0 entscheiden, die Wahrscheinlichkeit steigt,
dass normale Umgebungsstrahlung die Werte eines RAM kippen lässt. Aus
dem Grund wird zunehmend bei den RAM Fehlerkorrektur eingesetzt.
Das ist bei den neuen FPGA, die ja ihre Konfigurierung im RAM
abspeichern zunehmend ein ernstes Problem. Bei einem Prozessor hat man
wenigstens die Chance, dass der falsche Wert nicht benutzt wird, bzw.
überschrieben. Aber ein FPGA wird ja normalerweise im Betrieb nicht
umprogrammiert.
Ich habe mal eine Statistik von Xilinx gesehen, wo die für ein Virtex 2
einen Ausfall in 54 Jahren gemessen haben. Hört sich erstmal nicht nach
viel an, aber wenn man eine Serie mit 100.000 Stück baut, ist das ein
Ausfall alle 5 Stunden.
Ich bin aber nicht sicher, ob die aktuellen Virtex 4 tatsächlich schon
eine Fehlerkorrektur eingebaut haben. Die Virtex 2 offensichtlich nicht.
Gruss
Axel
Hab mal mit einem Infineon Mitarbeiter gesprochen, der meinte, die
yield-rate bei Intel und AMD liegt deutlich über 90%. Grund hierfür ist
unter anderem, dass moderne CPUs flächenmäßig zum größten Teil aus
Speicher bestehen. Darin enthaltene Fehler können über Redundante
Schaltungen teilweise toleriert werden.
Die Prüfprozeduren sind schon recht umfangreich, trotzdem kann es
vorkommen das defekte Mikrocontroller / CPLD usw. auftauchen, manchmal
sind diese von Anfang an defekt oder sie sterben in der Garantiezeit.
Diese Chips werden dann nochmal beim Hersteller geprüft und mit
Rückantwort bestaetigt oder nicht bestaetigt mit einem Fehler.
Die Qualitaetsabteilungen und Labore dieser Firmen sind sehr
interessiert an diesen Ausfaellen um Ihre Prüfprozeduren zuverbessern,
aber überwiegend liegt es am Handling des Kaeufers das die IC's defekt
sind.
Gruß,
Dirk
ich hatte mal Probleme mit PEELs, ne alte Charge ging, die neuen nicht
mehr.
Es änderte sich ein Ausgang synchron mit einem Eingang, die überhaupt
nicht miteinander verknüpft waren, quasi ein Übersprechen.
Der Hersteller hat sich nicht mehr dazu geäußert, dann habe ich ihn eben
durch einen ATTiny26 ersetzt. Ist sogar billiger und stromsparender.
Manche Aufgaben kann eben ein MC besser und zuverlässiger erledigen.
Peter