Wir haben eine Schaltung von einem alten FPGA (JG 2009) auf ein Neueres (JG 2016) umgestellt und mussten feststellen, dass die Signalqualität sich verschlechtert hat. Dies ist bereits beim Einladen der alten VHDL-Schaltung, also ohne eine Vergrösserung oder Erweiterung derselben, der Fall. Die Stromaufnahme des Chips ist etwas größer, als bei dem alten, kleinen, was Ich als normal einstufen würde, wegen a) besserer PLL und b) "längere" Taktnetze und c) mehr Schaltgeschwindigkeit Was mir aber nicht klar ist: Warum sind die Signale (bei gleichen Signalstandards z.B. LVCMOS33) schlechter? "Schlechter" heißt hier konkret mehr Überschwinger, trotzdem schlechtere Anstiege und vor allem mehr Einfluss des Nachbarsignals. Die Verdrahtung auf dem PCB ist praktisch die gleiche. Der Chip wurde nur raus genommen und in einer Testversion genau so verdrahtet, also mit ähnlich vielen GND-Anbindungen über LOW-PINs (zusätzlich zu den eigentlichen GNDs) und auch der gleichen Anzahl von Block-Kondensatoren. Kann es sein, dass die kleineren Strukturen im FPGA dazu führen, dass mehr Schaltungsaufwand getrieben werden muss, um die IO-Leistung hinzubekommen und damit intern mehr Verluste entstehen? Was z.B. auffällig ist: Beim Laden des FPGAs mit der leichen Geschwindigkeit, dauert es 50% länger (was bei 80% mehr Logik im Chip plausibel ist) aber während er lädt, braucht er 30% weniger Strom, als der alte. Ist das Teil aber geladen, braucht es 60% mehr Ruhestrom, ohne Takte. D.h. die Leckströme sind größer. Ich möchte jetzt die konkreten FPGAs nicht bennen, es geht mir nur um das Verständnis, weil wir eh nicht drum herum kommen zu migrieren. Ich nehme nur erstaunt zur Kenntnis, dass der Einsatz eines neueren FPGAs nicht zwangsläufig beser ist. Es gibt übrigens einen Testaufbau mit der kleineren Ausführung im gleichen Gehäuse, die in etwa die gleiche Menge Logik hat, wie der alte - auch da kann man sehen, dass Leckströme und Betriebsströme steigen und die Signalqualität schlechter wird.
Und die nächste Frage hinterher: Wir haben jetzt das Problem, dass die Signale SO schlecht sind, dass wir entweder mehr stützen, mehr blocken oder das design verändern müssen. Die nächste Frage wäre also, wie man das machen kann: Die Kondensatoren auf und unter der Platine sind schon packedicht gesetzt. Es sind nicht ganz so viele, wie in den Designvorschlägen, aber es hat beim alten immer prima gereicht. Ich würde jetzt darauf setzen, mehr Pins zusätzlich zu grounden. Kommentar? Welche Manahmen gäbe es nicht? Tiefpassfilter an die Ausgänge? Unser Problem ist die nachfolgende Baugruppe und deren Eingänge / Taktung und Empindlichkeit. Die soll nicht angefasst werden und bleiben, wie sie ist.
Neu und modern heißt in der Tat nicht gleich gut! Das habe ich leider auch schon festgestellt. Um dir bei deinem konkreten Problem weiter helfen zu können, müsste man aber schon ein paar mehr Details wissen. - Hast du an allen unbenutzen Pins den internen Pullup aktiviert? (-> reduziert die Stromaufnahme) - Was für Signale sind das (Bus?) Gleichzeitiges schalten vieler Pins kann zu nem Ground-Bounce führen (ggf Slewrate verändern, falls einstellbar)
Ich bin kein FPGA Fachmann, habe mit sowas noch nie gearbeitet. Grundsätzlich muss man aber bei neueren Chip-Generationen, die kleinere Strukuren aufweisen, mit steileren Schaltflanken rechnen, welche in etwa die beschriebenen Probleme machen können (das ist nicht nur bei FPGAs so). Du schreibst allerdings, die flanken wären weniger steil? Das passt irgendwie nicht dazu.
Karl schrieb: > Wir haben eine Schaltung von einem alten FPGA (JG 2009) auf ein Neueres > (JG 2016) umgestellt und mussten feststellen, dass die Signalqualität > sich verschlechtert hat. Das neuere FPGA hat vermutlich schnellere Treiber und die dadurch steileren Flanken sieht man auf grenzwertigen Layout durch die Überschwinger. Jetzt sagst du natürlich: "Ich sagte doch flachere Flanken!" Aber das könnte sein, dass die steile Flanke so früh reflektiert wird, dass diese Reflektion noch in die Flanke fällt und diese abflacht. Zeig doch mal, wie die Signale aussehen. Ich gehe bei diesen Messungen dann davon aus, dass da mit einer Massefeder gemessen wurde. > Tiefpassfilter an die Ausgänge? Sieh mal, ob du die Treiberstärke im neuen FPGA ändern kannst. Und wie sich das auswirkt... > Unser Problem ist die nachfolgende Baugruppe und deren Eingänge / > Taktung und Empindlichkeit. Die soll nicht angefasst werden und bleiben, > wie sie ist. Serienterminierung hast du bei diesen Signalen hoffentlich schon drin? Beitrag "Re: Kabelart für PWM-Übertragung" Beitrag "Re: Signalproblem bei langem Kabel"
Karl schrieb: > von einem alten FPGA (JG 2009) auf ein Neueres (JG 2016) umgestellt Ist das dieselbe Chipfamilie? Oder was neueres mit kleinerer Strukturbreite? Duke
> Was mir aber nicht klar ist: Warum sind die Signale (bei gleichen > Signalstandards z.B. LVCMOS33) schlechter? Zwei Gruende: 1. Wegen hoeherer Geschwindigkeit faellt ein ungenuegendes Layout staerker auf. 2. Wegen hoeherer Geschwindigkeit braucht er beim Schalten ein besseres Blocking/entkopplung an der Versorgung als der alte. Olaf
Lothar M. schrieb: > Jetzt sagst du natürlich: "Ich sagte doch flachere Flanken!" > Aber das könnte sein, dass die steile Flanke so früh reflektiert wird, > dass diese Reflektion noch in die Flanke fällt und diese abflacht. Sowas in der Art, ja. Denn: Olaf schrieb: > 1. Wegen hoeherer Geschwindigkeit faellt ein ungenuegendes Layout > staerker auf. > > 2. Wegen hoeherer Geschwindigkeit braucht er beim Schalten ein besseres > Blocking/entkopplung an der Versorgung als der alte. Die Taktgeschwindigkeit ist die gleiche.
Karl schrieb: > Die Taktgeschwindigkeit ist die gleiche. Aber die Flankensteilheit nicht. Und die verursacht das Klingeln...
Olaf schrieb: > 1. Wegen hoeherer Geschwindigkeit faellt ein ungenuegendes Layout > staerker auf Drücken wir es mal freundlicher aus: Ist ein zuvor ausreichendes Layout nun nicht mehr ausreichend. Ich glaube, wenn wir lange genug auf den Nach-Nach-...-folger eines ICs in unserem Design warten (sofern er denn im passenden Gehäuse verfügbar wird), können wir das mit jedem Layout erleben.
Ich denke auch, dass es die Treiber sind. Gfs hilft es, den Strom runter zu stellen. Bei Xilinx haben einige Bausteine QUIET_IO, was abhelfen kann. Die Thematik ist nicht zu unterschätzen. Ich habe einen Fall, wo glitches im FPGA nicht behandelt wurden und diese in einem neueren Baustein zu derartigen spikes geführt haben, dass nachfolgende Eingänge gekillt wurden, weil man auf Zwischenterminierung verzichtet hatte. > Ich würde jetzt darauf setzen, mehr Pins zusätzlich zu grounden. Das hilft nur bedingt, weil der Treiber einen endlich geringen Widerstand hat und nur einen schlechten GND darstellt. Er kompliziert aber den komplexen Ausgangswiderstand des Pins und damit die Wellenreflektion. In seltenen Fällen kann das zu schlechteren Ergebnissen führen, als ohne- > Welche Manahmen gäbe es nicht? Tiefpassfilter an die Ausgänge? Eher eine richtige serielle Terminierung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.