Es ist scheinbar sinnvoll, den Zustand eines Pins über mehrere FlipFlop Stufen abzufragen: 1. pin => ff3 => ff2 => ff1, Flankenerkennung über ff2='1' and ff1='0' Unter rein logischen Gesichtspunkten scheinen mir zwei FlipFlops zu genügen, also 2. pin => ff2 => ff1, Flankenerkennung über ff2='1' and ff1='0' aber ich habe mir sagen lassen, dass das Eingangsflipflop zum Schwingen neigen kann und deshalb ein zusätzliches FlipFlop nötig sei. Macht Ihr das auch so wie unter 1 ?
Du vermischst Synchronisation und Flankenerkennung. Das "Schwingen" ist ein Thema instabiler Flipflops, die in seltenen Fällen extrem langsam schalten und sich solange in einem Zwischenbereich (meta) aufhalten. Nach einem Xilinx-Seminar aus dem Jahre 2009 ist das aber kein reales Problem mehr, weil die Schaltzeiten angeblich in den budget Analysen des timings untergehen, da sie in der Technologie von heute im ps-Bereich liegen. Die Flankenerkennung also solche ist eben nur mit wenigstens einem alten Wert zu machen, soll es ein synchrones design sein. Also braucht es 1 FF.
>Du vermischst Synchronisation und Flankenerkennung.
Gut, ich habe beides Zusammen erwähnt. Eigentlich kann ich es ganz gut
auseinanderhalten.
Mir wurde gesagt, dass es zum Schwingen eines flankengetriggerten
D-FlipFlops kommen kann, wenn die Eingangsflanke nahe bei der CLK Flanke
liegt. Dieses Schwingen soll nach dem zweiten FF verschwunden sein.
Außerdem soll der Effekt Technologie-übergreifend, also nicht nur bei
Xilinx, sein.
Das ungewollte Schwingen der FFs soll zur verfrühten Zerstörung des
Bausteins führen können.
chris schrieb: > aber ich habe mir sagen lassen, dass das Eingangsflipflop zum Schwingen > neigen kann und deshalb ein zusätzliches FlipFlop nötig sei. Vergiss das "Schwingen" (gemeint ist damit "Metastabilität"). Weil sich die Flipflops in heutigen FPGAs sehr schnell stabilisieren reicht prinzipiell 1 Flipflop zum Synchronisieren aus. Böse wird es dann, wenn dieses Flipflop von der Toolchain verdoppelt wird (Stichwort: Register Doubling). Dann kann es nämlich sein, dass du in deinem Design ein unterschiedliches Bild von der Umwelt hast und dieses seltsam darauf reagiert. > Macht Ihr das auch so wie unter 1? Ja. Immer. Sieh dich hier im Forum mit dem angegebenen Stichworte um. Du findest sicher ein paar Beispiele aus dem Leben. chris schrieb: > Das ungewollte Schwingen der FFs soll zur verfrühten Zerstörung des > Bausteins führen können. Jetzt wirds aber urig. Sei dir versichert: das ist nicht der Fall. Das Gerücht ist etwa auf dem Niveau, dass man sich die Reifen kaputt macht, wenn man auf die weißen Linien auf der Autobahn fährt... ?
:
Bearbeitet durch Moderator
chris schrieb: > Mir wurde gesagt, dass es zum Schwingen eines flankengetriggerten > D-FlipFlops kommen kann, wenn die Eingangsflanke nahe bei der CLK Flanke > liegt. Dieses Schwingen soll nach dem zweiten FF verschwunden sein. > Außerdem soll der Effekt Technologie-übergreifend, also nicht nur bei > Xilinx, sein. > > Das ungewollte Schwingen der FFs soll zur verfrühten Zerstörung des > Bausteins führen können. Bitte gib zu, das du uns verarscht, so ein Schmarrn kann man doch nicht ernsthaft glauben. Da schwingt nichts - da kommt höchsten ein FF-Q für ein paar ps recovery time in den mestastabline Zustand - das kann dazuführen das die FF's die von dem metastabilen FF getrieben werden unterschiedliche Pegel erkennen, also eins '1' das andere '0', was wiederum eine schlecht codierte FSM in einen state ohne fortführende transition stürzen kann. Unter verfrühter Zerstörung versteht man was anderes - lies man nicht soviel über planned obsolence und HAARP-Verschwörungen - das bekommt Dir nicht gut.
An F. schrieb: > Nach einem Xilinx-Seminar aus dem Jahre 2009 ist das aber kein reales > Problem mehr, weil die Schaltzeiten angeblich in den budget Analysen des > timings untergehen, da sie in der Technologie von heute im ps-Bereich > liegen. Stimmt nicht ganz, nach diesem Post erholen sich moderne FPGA's langsamer als ältere: https://forums.xilinx.com/t5/PLD-Blog/Metastable-Delay-in-Virtex-FPGAs/ba-p/7996 Das Post endet allerdings bei Virtex-5, das könnte inzwischen wieder besser ausschauen.
>Weil sich die Flipflops in heutigen FPGAs sehr schnell stabilisieren >reicht prinzipiell 1 Flipflop zum Synchronisieren aus. Wenn das stimmt, wäre das hier nicht nötig: >> Macht Ihr das auch so wie unter 1? >Ja. Immer. >Sieh dich hier im Forum mit dem angegebenen Stichworte um. Du findest >sicher ein paar Beispiele aus dem Leben.
>Sieh dich hier im Forum mit dem angegebenen Stichworte um. Du findest >sicher ein paar Beispiele aus dem Leben. Ein Beispiel aus dem Leben: http://www.lothar-miller.de/s9y/archives/32-Einfacher-SPI-Slave.html MOSI direkt verdraht. Also eher wie in 2.:
1 | dsr <= dsr(dsr'left-1 downto 0) & MOSI; -- wird MOSI eingetaktet |
> Ein Beispiel aus dem Leben: > http://www.lothar-miller.de/s9y/archives/32-Einfacher-SPI-Slave.html Alles lesen:
1 | Auch hier gilt: |
2 | Diese Implementation ist für CPLDs ausgelegt! Für FPGAs ist die Umsetzung mit asynchronem Reset und zusätzlichen Taktdomänen (SS, SCLK) äusserst ungünstig. Hier sollte eher der Ansatz mit einer Überabtaktung des SCLK mit anschliessender Flankenerkennung gewählt werden. Etwa so wie dort auf dem uC.net im Beitrag Erfahrung mit SPI Slave und Spartan 6 FPGA? |
Man müsste hierbei aber FPGA-alt mit FPGA-neu bei der gleichen Taktfrequenz betrachten und das ist kaum möglich, weil die neueren generell höher Takten, was seine Ursache darin hat, dass sie mit einem anderen Prozess arbeiten, der mit kleineren Strukturen arbeitet und diese sind möglicherweise absolut nicht so schnell, wie sie relativ sein könnten, wenn man technisch maximal bauen würde. Es könnte daher schon sein, dass die Verfallszeit der Metazustands im Laufe der Zeit nicht mit der Verringerung der minimalen Taktperiode der FPGAs mitgeschrumpft ist. Das ändert aber nichts an dem Umstand, dass metastabile Zustände in FPGAs heute ein untergeordnetes Thema sind. Letztlich bekommt man ein solches theoretisches Problem auch mit noch so vielen Flipflops nicht weg sondern nur kleiner und klein ist es eigentlich schon. Wir hatten dazu ja schon etliche threads. Da gibt es FMEA-mässig ganz andere Probleme, die es sich anzusehen lohnt.
Rotwang schrieb: >chris schrieb >> Das ungewollte Schwingen der FFs soll zur verfrühten Zerstörung des >> Bausteins führen können. >Bitte gib zu, das du uns verarscht, so ein Schmarrn kann man doch nicht >ernsthaft glauben. Die Aussage über die frühzeitige Zerstörung von FPGAs durch internes Schwingen der FlipFlops stammt von jemandem mit über 10 Jahren Erfahrung und Designgrößenordnungen von 100.000 LUTs auf die Frage, ob es möglich sei, ein FPGA durch Programmierung zu zerstören ( indem man z.B. interne Kurzschlüsse programmiert ). Die Antwort war, dass die Programmierung von internen Kurzschlüssen durch den Compiler verhindert wird, dass aber das Problem der schwingenden FlipFlops zu einer frühzeitigen Zerstörung führen könnten ( z.B. Funktion nur 5 Jahre statt 10 Jahre ). >Da schwingt nichts - da kommt höchsten ein FF-Q für ein paar ps recovery >time in den mestastabline Zustand - das kann dazuführen das die FF's die >von dem metastabilen FF getrieben werden unterschiedliche Pegel >erkennen, also eins '1' das andere '0', was wiederum eine schlecht >codierte FSM in einen state ohne fortführende transition stürzen kann. >Unter verfrühter Zerstörung versteht man was anderes - lies man nicht >soviel über planned obsolence und HAARP-Verschwörungen - das bekommt Dir >nicht gut. Da ich relativ neu beim Umgang mit FPGAs bin, versuche ich Möglichst viele Informationen von erfahrenen Leuten zu sammeln. Ich denke mal, es macht einen Unterschied, ob jemand Designs für Sattellitenanwendungen mit extremen Anforderungen an die Standzeit, entwickelt, oder ob es eher Designs für kleinere Bastelbuden sind. Bei kleineren Consumer-Anwendungen könnte es ja sein, dass der Ausfall nach 5 Jahren sowieso keinen interessiert, in einem Satellit hingegen aber schon. Es könnte natürlich aber auch sein, dass sich das Schwingen der FFs auf ältere Technologien bezieht und man aber bestimmte Design-Rules als "Best Practice" einfach beibehält, obwohl sie eigentlich nicht mehr notwendig sind, weil sie sich früher bewährt haben. Deshalb meine Frage: In welcher Leistungsklasse bewegen sich Deine Designs, damit ich Deine Aussage einordnen kann?
chris schrieb: > Deshalb meine Frage: In welcher Leistungsklasse bewegen sich Deine > Designs, damit ich Deine Aussage einordnen kann? Ich mach seit 20 jahren FPGA's, der größte war bisher ein Kintex-7 Anwendungsgebiete von Automotive bis medizintechnik/Avionik nahezu alles. Und statt meine Kompetenz in Frage zu stellen kannst du ja meine Aussage mit eine Internetrecherche nach den genannten stichworten recovery time, metastabil etc überprüfen. Und Lehrlinge werden gern vom Meister ins Lager geschickt den Eichsatz Gewichte für die Wasserwaage aus dem Lager zu holen. Und gleich 3 Stück Siemens Lufthaken mitbringen.
chris schrieb: > Die Aussage über die frühzeitige Zerstörung von FPGAs durch internes > Schwingen der FlipFlops stammt von jemandem mit über 10 Jahren Erfahrung > und Designgrößenordnungen von 100.000 LUTs Dann sollte er sich eben nochmal zum Thema informieren. Sein Wissen ist falsch. > Ich denke mal, es macht einen Unterschied, ob jemand Designs für > Sattellitenanwendungen mit extremen Anforderungen an die Standzeit, > entwickelt, oder ob es eher Designs für kleinere Bastelbuden sind. Nicht für das FPGA. > Es könnte natürlich aber auch sein, dass sich das Schwingen der FFs auf > ältere Technologien bezieht Flipflops haben noch nie geschwungen. Sie habe nur länger in der Metatstabilität verharrt (wobei wir beim "Verharren" hier vom ps- bis ns-Bereich reden!!). Es ist aber sicher noch kein Flipflop durch Metastabilität kaputt gegangen. Und der Witz daran ist: es wäre nicht mal kaputt gegangen, wenn es tatsächlich "geschwungen" hätte. Denn ein Flipflop ist prinzipiell dafür ausgelget, dass es seinen Pegel wechselt. Siehe dazu auch die hier: http://www.lothar-miller.de/s9y/archives/62-Testaufbau-Metastabilitaet.html Und dann das, wo sich dein Kollege mal die Nase eingeklemmt hat und seither Angst vor "schwingenden Flipflops" hat: http://www.lothar-miller.de/s9y/archives/64-State-Machine-mit-asynchronem-Eingang.html
:
Bearbeitet durch Moderator
chris schrieb: > Ich denke mal, es macht einen Unterschied, ob jemand Designs für > Sattellitenanwendungen mit extremen Anforderungen an die Standzeit, > entwickelt, oder ob es eher Designs für kleinere Bastelbuden sind. > Bei kleineren Consumer-Anwendungen könnte es ja sein, dass der Ausfall > nach 5 Jahren sowieso keinen interessiert, in einem Satellit hingegen > aber schon. Möglicherweise revidierst Du deine Aussage nach dem Lesen von dem hier: http://www.esa.int/Our_Activities/Space_Engineering_Technology/Microelectronics/The_use_of_reprogrammable_FPGAs_in_space Ich habe hier die Einstiegsseite verlinkt, die interessanten PDFs sind oben rechts auswählbar. Einein Satz aus den "lessons learned..."-Dokument finde ich aber höchst aussagekräftig: "FPGAs should be forbidden in space applications until the designers learn how to design with them."
>Siehe dazu auch die hier: >http://www.lothar-miller.de/s9y/archives/62-Testau... >Und dann das, wo sich dein Kollege mal die Nase eingeklemmt hat und >seither Angst vor "schwingenden Flipflops" hat: >http://www.lothar-miller.de/s9y/archives/64-State-... Hevoragende Links, Danke :-) C. A. Rotwang (Gast) >Und statt meine Kompetenz in Frage zu stellen Ich habe nicht Deine Kompetenz in Frage gestellt sonder die Frage "nach Deiner Kompetenz gestellt", das ist ein Unterschied. Aus Deine bisherigen Posts hatte ich den Eindruck, dass Du relativ viel Erfahrung hast. Es gibt hier allerdings auch viele mittelklassige Entwickler, die relativ laut sind, und da hilft es, zu wissen, was einer wirklich schon gemacht hat. Aber 20 Jahre in den von Dir genannten Gebieten heißt schon was, insofern: gut, ich nehme Deine Posts ernst. >Und Lehrlinge werden gern vom Meister ins Lager geschickt den Eichsatz >Gewichte für die Wasserwaage aus dem Lager zu holen. Und gleich 3 Stück >Siemens Lufthaken mitbringen. Kannst Du die blöden Sprüche bitte lassen? Die nerven mich. Es wäre schön, wenn das FPGA-Unterforum einen angenehmen Ton beibehält.
Lothar M. schrieb: > Dann sollte er sich eben nochmal zum Thema informieren. Sein Wissen ist > falsch. Wahrscheinlich hatte er die Abnutzung des Siliziums im Sinn. Wenn das FF schwingt, dann liegt ja ein permanenter Schaltvorgang statt, weil die beteiligten P-N-Transistoren ständig überlappend arbeiten und damit hohe Verluste produzieren. Die Überlegung ist an sich zwar zunächst richtig, weil durch die maximale Belastung die Alterung des Chips maximal ist und dessen Ende relativ früher erreicht wird, allerdings sind die Chips ja fürs Schalten gebaut und die Metafälle vergleichsweise selten. Die Schlussfolgerung, dass das praktisch relevant gefährlich sei, ist damit sicherlich falsch. Zudem kann man dieselbe Rechnung ja auch für selbstschwingende Oszillatoren aufmachen, die aus Inverterketten gebaut werden, welche ebenfalls so arbeiten und das führt ja nur zu einer starken Erwärmung, je nachdem was dranhängt. In einem design, das keinen Takt und eigene PLL hatte, habe Ich mal sowas einbauen müssen, um Chipscope ans Laufen zu bekommen. Der Chip wurde dann gehörig warm, wenn er minutenlang lief. Die Taktfrequenz war ein Drittel des Inverterloops und kam auf 300MHz. Die Kette muss also auch 900MHz gelaufen sein. Ausgefallen ist das nie. Man musste nur etwas kühlen. Dass durch das ständige Schalten / Schwingen ein hot spot entstehen kann, der auch ohne nennenswerte Erwärmung außen - dann innen zu einer starken Alterung führen kann, sehe Ich definitiv nicht. In jedem Fall ist aber seine Schlussfolgerung falsch, dass man deshalb etwas einsynchronisieren müsse, weil das ja ein mögliches Schwingen gar nicht verhindert, sondern nur die Weitergabe der falschen Information an die nachfolgende Schaltung unterbunden wird. Ich bin sogar der Ansicht, dass ein Einbringen eines FFs die Wahrscheinlichkeit und Dauer aufgrund der erhöhten Frequenz eines Metafalls verschärfen könnte, weil durch das FF der fanout des betreffenden Inverters reduziert wird. Diese Entlastung gegenüber dem anderen Fall mit einer nachfolgenden Kombinatorik sollte sich auf die interne Rückkopplung der Information im FF auswirken und damit ein schnelles Schwingen sogar unterstützen! Heißt auf Deutsch: Das Absichern gegen falsche Informationsweitergabe bei Meta führte sogar zu einem längeren und intensiveren Metazustand. Das ist aber eine reine theoretische Schlussfolgerung meinerseits und nicht gesichert. Wenn man sich das aber als Analogschaltung mal vorstellt, wäre mir das plausibel. Kommentare?
:
Bearbeitet durch User
chris schrieb: >>Und Lehrlinge werden gern vom Meister ins Lager geschickt den Eichsatz >>Gewichte für die Wasserwaage aus dem Lager zu holen. Und gleich 3 Stück >>Siemens Lufthaken mitbringen. > > Kannst Du die blöden Sprüche bitte lassen? Die nerven mich. > Es wäre schön, wenn das FPGA-Unterforum einen angenehmen Ton beibehält. Du hast angefangen mit blöden Sprüchen wie "verfrühte Zerstörung"! OK, war vielleicht ne Stilblüte. Aber alles was in die Richtung geht "kann man mit Programmierung Hrdware kaputt machen" klingt eben nach groben Unfug den man gerne Lehrlingen während eines Initiationsrituals aufbindet. "Zerstörerische Schwingungen" sind so eine Floskel die mancher viertelschlauer Ingenieur in den Mund nimmt um Kompetenz vorzutäuschen. Nicht das Schwingungsneigung kein Problem beim Schaltungsentwurf ist, aber eben nicht beim Digitalentwurf sondern im Analogbereich. vor 70 Jahren haben die Ingenieure noch heftig mit PN-Diagrammen versucht das Nyquist-Kriterium zu bannen und auch ruckgekoppelte Digitalfilter (IIR) sind nicht frei davon, das das aber zu eine Resonanzkatastrophe im FPGA wie bei der Tacoma-Narrows-Brücke kommt wäre mir völlig neu. Schwingungsneigung in Digitaltechnik wird eigentlich nur bei (asynchronen) Logicgattern mit unbeschalteteen (Floating) oder gerade hochohmig (tristate) geschalteten Eingängen erwähnt. In diesem Zusammenhang findet man es noch in Literatur zu GAL und CPLD. https://books.google.de/books?id=t-v0EokHCfIC&pg=PA79&dq=offene+Eing%C3%A4nge+schwingen&hl=de&sa=X&ved=0ahUKEwiB1N-EuuDWAhXC0RoKHWV7ACwQ6AEIJjAA#v=onepage&q=offene%20Eing%C3%A4nge%20schwingen&f=false . Da die Eingänge eines FPGA aber dafür ausgelegt sind mit mehreren hundert MHz zu schalten kann das nicht zu einer Verkürzung der Lebensdauer führen. Problematisch ist aber wenn der Strom langer über bauteile fliesst die nicht dafür ausgelegt sind bspw Clamping-dioden bei DualUse (JTAG-Pins) oder 5V toleranten 3v3 Eingängen, das kann die lebensdauer herabsetzen, aber dem ist nicht durch Sync-FF beizukommen sondern mit Strombegrenzung bspw durch Serienwiderstände. Aber wie bereits gesagt, deine Eingangsfrage hat nix mit Schwingungen zu tun, sondern mit metastabilen Zuständen - Recherchier darüber.
Jürgen S. schrieb: > Wenn man sich das aber als Analogschaltung mal > vorstellt, wäre mir das plausibel. Gelangt der DFF im Metafall eher durch Schwingen oder durch Schleichen (Ausgang zwischen definierten Logikpegeln) zu seiner Entscheidung? In letzterem Fall würde der Fanout wohl eher keine Rolle spielen.
C. A. Rotwang schrieb: > Schwingungsneigung in Digitaltechnik wird eigentlich nur bei > (asynchronen) Logicgattern mit unbeschalteteen (Floating) oder gerade > hochohmig (tristate) geschalteten Eingängen erwähnt. Sollte im Fall "floating" nicht der Ausgang auf undefiniertem Pegel liegen? D.h. beide Ausgangstransistoren schalten durch, wodurch der Gesamtstrom nur noch durch deren Ron begrenzt wird: der Baustein heizt auf.
C. A. Rotwang schrieb: > Da schwingt nichts - da kommt höchsten ein FF-Q für ein paar ps recovery > time in den mestastabline Zustand Laut unserer Asic-Spezis ist es dadurch gekennzeichnet, daß die Schaltzeit = Spannungsanstieg in der (Regel-Schleife) der RÜckkopplung genau der Schaltflanke vor entspricht. Dies kommt dadurch zustande, daß die gerade herrschenden Frequenzen der Ansteuerung, Reflektionen und was auch immer sich gerade unglücklich addieren, daher kann man durchaus von Schwingen sprechen, auch wenn es in Summe eine Antischwingung ist. > von dem metastabilen FF getrieben werden unterschiedliche Pegel > erkennen, also eins '1' das andere '0', Das ist nicht der Fall, weil ein Flipflop, das in einen solchen Zustand gerät zwar intern sich nicht entscheiden kann, weil der Pegel "in der Mitte" liegt, nach Aussen aber einen Pegel abgibt, der eindeutig ist. Das Flipflop liest ja nicht sein Ausgangssignal zurück. > was wiederum eine schlecht > codierte FSM in einen state ohne fortführende transition stürzen kann Sowas sollte es nicht geben, weil es Tausend Gründe geben kann, warum sich eine FSM verläuft. Daher wären die immer ausreichend sicher zu codieren.
Burkhard K. schrieb: > Gelangt der DFF im Metafall eher durch Schwingen oder durch Schleichen Zweiteres. Da schwingt nichts, der Ausgang ist einfach eine Zeit lang "unentschlossen": https://www.google.de/search?q=flipflop+metastable+scope&tbm=isch Auch das hier: https://www.tek.com/sites/default/files/media/image/A000_0710-L.jpg
:
Bearbeitet durch Moderator
Burkhard K. schrieb: > C. A. Rotwang schrieb: >> Schwingungsneigung in Digitaltechnik wird eigentlich nur bei >> (asynchronen) Logicgattern mit unbeschalteteen (Floating) oder gerade >> hochohmig (tristate) geschalteten Eingängen erwähnt. > > Sollte im Fall "floating" nicht der Ausgang auf undefiniertem Pegel > liegen? D.h. beide Ausgangstransistoren schalten durch, wodurch der > Gesamtstrom nur noch durch deren Ron begrenzt wird: der Baustein heizt > auf. Vielleicht bei TTL,NMOS,PMOS, aber nicht bei CMOS weil da technologiebedingt nur ein Transistor leitet?
C. A. Rotwang schrieb: > aber nicht bei CMOS weil da > technologiebedingt nur ein Transistor leitet? Aber klar doch bei CMOS! (Wir reden hier nicht vom Normalfall). Ich zitiere mal TI ("Implications of Slow or Floating CMOS Inputs", http://www.ti.com/general/docs/lib/getliterature.tsp?baseLiteratureNumber=scba004 , 2016): "However, when switching from one state to another, the input crosses the threshold region, causing the N-channel and the P-channel to turn on simultaneously, generating a current path between Vcc and GND. This current surge can be damaging, depending on the length of time that the input is in the threshold region (0.8 to 2 V)." Was durchaus ein zu beachtender Punkt beim Design von FPGA-Anwendungen sein kann - wechselt das (einzusynchronisierende) Signal seinen Pegel nur langsam, dann könnte ein dazwischen geschalteter Schmitt-Trigger angebracht sein.
:
Bearbeitet durch User
Burkhard K. schrieb: > Aber klar doch bei CMOS! (Wir reden hier nicht vom Normalfall). Ich > zitiere mal TI ("Implications of Slow or Floating CMOS Inputs", > http://www.ti.com/general/docs/lib/getliterature.tsp?baseLiteratureNumber=scba004 > , 2016): > > "However, when switching from one state to another, the input crosses > the threshold region, causing the N-channel and the P-channel to turn on > simultaneously, generating a current path between Vcc and GND. This > current surge can be damaging, depending on the length of time that the > input is in the threshold region (0.8 to 2 V)." > Sorry aber in der Diskussion um das Design von IO-Pads heutiger FPGA, sind Appnotes von Herstellern diskreter Logik aus dem Jahre 1994 nicht relevant. > Was durchaus ein zu beachtender Punkt beim Design von FPGA-Anwendungen > sein kann - wechselt das (einzusynchronisierende) Signal seinen Pegel > nur langsam, dann könnte ein dazwischen geschalteter Schmitt-Trigger > angebracht sein. ich bezweifle das ein Signal dessen Flankenzeiten innerhalb der FPGA-specs liegen diesen zerstören können. Wie gesagt diese sind ausgelegt millionen mal in der sekunde die thresholdphase zu durchqueren. Ich lasse mich gern von einer entsprechenden Appnote eines FPGA-Herstellers vom Gegenteil überzeugen. Und wenn tatsächlich Gefahr im Verzug ist, dann würde ich vor der Schaltungsänderung mit einem Schmitt-trigger vor dem FPGA die internen Pull's aktivieren.
C. A. Rotwang schrieb: > Sorry aber in der Diskussion um das Design von IO-Pads heutiger FPGA, > sind Appnotes von Herstellern diskreter Logik aus dem Jahre 1994 nicht > relevant. Die Thematik ist prinzipiell noch immer die selbe. Aber da schreibt heute keiner mehr was von "damage". Das einzige Thema heute bei diesem erhöhen Querstrom von Vcc nach GND ist "Energieverbrauch". Und das ist ja nur interessant, wenn (mehrere oder viele) hochohmige Eingänge offen gelassen werden. Wer das bei CMOS tut ist aber eh' selber schuld.
C. A. Rotwang schrieb: > sind Appnotes von Herstellern diskreter Logik aus dem Jahre 1994 nicht > relevant. "Revised 2016"! Zitiert um die Aussage eines Mitdiskutierenden: "CMOS technologiebedingt kein Querstrom" richtig zu stellen. BTW: Xilinx sagt irgendwo im Forum, dass dies bei bei Ihren FPGAs oder SoCs kein Problem sei: "ASIC and ASSP they often warn against slow inputs, as they may cause appreciable cross-currents as the input CMOS stages have both n and p type FET's ON at the same time. That is not a concern with the FPGA (or SoC) Xilinx devices." Wie sie das hinkriegen, verraten sie dort nicht. Abgesehen von "erhöhter Stromaufnahme" ist die Flankenanstiegszeit externer Signale durchaus ein wichtiger Aspekt beim Einsynchronisieren. Actel benennt z.B. minimale Slew Rates für ihre Devices SX-A and RTSX-S in Appnote AC161: "Using Schmitt Triggers for Low Slew-Rate Input".
C. A. Rotwang schrieb: > Vielleicht bei TTL,NMOS,PMOS, aber nicht bei CMOS weil da > technologiebedingt nur ein Transistor leitet? Nein, die leiten durchaus beide gleichzeitig, weil sie überlappende Kennlinien haben, wie auch weiter oben schon geschrieben wurde. Daher verbrauchen sie da ja auch viel Strom. Burkhard K. schrieb: > Was durchaus ein zu beachtender Punkt beim Design von FPGA-Anwendungen > sein kann - wechselt das (einzusynchronisierende) Signal seinen Pegel > nur langsam, dann könnte ein dazwischen geschalteter Schmitt-Trigger > angebracht sein. FPGAs haben meines Wissens Schmitttrigger-Eingänge, bzw welche mit zumindest hoher Verstärkung.
Burkhard K. schrieb: > C. A. Rotwang schrieb: >> sind Appnotes von Herstellern diskreter Logik aus dem Jahre 1994 nicht >> relevant. > > "Revised 2016"! Zitiert um die Aussage eines Mitdiskutierenden: "CMOS > technologiebedingt kein Querstrom" richtig zu stellen. 1. Kein Mitdiskuttant hat behauptet es CMOS hätte technologiebedingt keinen Querstrom, - da steht lediglich das bei CMOS im Gegensatz zu anderen Familien ein Transistor leitend ist. 2. revised heisst lediglich das Pillepalle angepasst wurde, die Grundaussage beziehen sich auf die Eingangsstufen damaliger Logicfamilien. Die Bibel wird auch alle Jahre redigiert und immer noch steht der Schmarrn von Erschaffung der Welt in 7d drin. 3. die Eingangsstufen eines FPGA sind so gestaltet das sie auf mehrere Signalfamiliien anpassbar sind, Aussagen diese betreffend aus den Popel-Stufen von auf billig getrimmten 74* Gatter herzuleiten, halte ich gelinde gesagt für grob fahrlässig. Demnächst leitet noch einer die Fahreigenschaften eines Tesla aus einem Testbericht bzgl. eines Elektrorollstuhls von 1995 ab. 4. wie schon mehrfach betont kein Signal innerhalb der Spec führt zur IC-Zerstörung. Also nix mit "Das ungewollte Schwingen der FFs soll zur verfrühten Zerstörung des Bausteins führen können." -> damit sollte doch zum wiederholten Male alles zu den Thema gesagt sein.
Thomas U. schrieb: > C. A. Rotwang schrieb: >> Vielleicht bei TTL,NMOS,PMOS, aber nicht bei CMOS weil da >> technologiebedingt nur ein Transistor leitet? > Nein, die leiten durchaus beide gleichzeitig, weil sie überlappende > Kennlinien haben, wie auch weiter oben schon geschrieben wurde. > Daher verbrauchen sie da ja auch viel Strom. Nein, CMOS ist im Vergleich zu den Vorgängerfamilien gering im Stromverbrauch, deshalb haben sie ja die Stromschlucker TTL vom Markt gedrängt. Ich zitiere mal die allwissende Müllhalde: "Since one transistor of the pair is always off, the series combination draws significant power only momentarily during switching between on and off states. Consequently, CMOS devices do not produce as much waste heat as other forms of logic". Die älteren von uns erinnern sich vielleicht noch an den CMOS-RAM, der extra als batteriegepufferter Langzeitspeicher in den PC's der achtziger verbaut war. Das im dynamischen Betrieb mehr verbraucht wird, wurde schon mehrmals gesagt, auch das die Stufen gerade für den "sehr dynamischen" Betrieb (mehere Hundert Millionen Schaltvorgänge pro sec) ausgelegt sind.
Nachdem nun die Unbedenklichkeit der Verwendung hoher Taktraten von Dr Rotwang verbindlich festgestellt wurde und die Nutzlosigkeit des Unterfangens, dies durch Hinzufügen zusätzlicher FFs zu bekämpfen von gleich mehreren Experten herausgestellt wurde, käme nun Teil 2 der Diskussion zum Tragen, nämlich die nach der Taktflankenerkennung. Eigentlich reicht ein rückgekoppeltes XOR, das einen Impuls erzeugt und man hätte einen Puls als Indikator der wechselnden Flanke und eigentlich schon einen Takt, mit dem sich die weitere Schaltng antickern liesse.
C. A. Rotwang schrieb: > Since one transistor of the pair is always off, the series combination > draws significant power only momentarily during switching between on and > off states Das ist erst mal nur eine Beschreibung, dass nur zum Umladen der Gates Strom nötig ist. Worum es hier und im Zusammenhang mit der Metastabilität aber geht, ist das: an offenen CMOS Eingängen stellt sich genau so ein Pegel ein, der diesen "Moment" zum Dauerzustand werden lässt. Und dann fließt tatsächlich dauernd ein Strom durch die halb aufgesteuerten FETs. Probiers einfach mal aus: 50 unbenutzte FPGA Pins auf Eingang schalten und abwarten. Dein FPGA wird heiß werden... Und befürchten könnte man, dass durch Metastabilität "halb angesteuerte" Eingangsstufen ebenfalls sowas passierrn kann.
:
Bearbeitet durch Moderator
Thomas U. schrieb: > Eigentlich reicht ein rückgekoppeltes XOR, das einen Impuls erzeugt und > man hätte einen Puls als Indikator der wechselnden Flanke und eigentlich > schon einen Takt, mit dem sich die weitere Schaltng antickern liesse. Nur wenn man den bereich der Metastabilität und die Grundlagen des synchronen designs vernachlässigt. BTW: Ich maße mir nicht, an einen Doktortitel zu führen.
Lothar M. schrieb: > C. A. Rotwang schrieb: >> Since one transistor of the pair is always off, the series combination >> draws significant power only momentarily during switching between on and >> off states > Heißt aber damit logischerweise auch: wenn dieser "momentane" > Umschaltvorgang sehr langsam geht, dann zieht sich der "Moment" beliebig > hin. Nö heisst es nicht, man könnte ja eine "harte" Rückkopplung nutzen um den Umschaltvorgang zu beschleunigen wie bei Klasse-D Endstufen. > Und im Besonderen stellt.sivh an offenen CMOS Eingängen genau so ein > Pegel ein, der diesen "Moment" zum Dauerzustand werden lässt. Zumindest behauptet man dass ... > Und dann > fließt tatsächlich dauernd ein Strom durch die halb aufgesteuerten FETs. > Probiers einfach mal aus: 50 unbenutzte FPGA Pins auf Eingang schalten > und abwarten. Dein FPGA wird heiß werden... Ja mach ich mal wenn ich ein Board habe an zwar dem 50 FPGA- Eingänge unbeschaltet sind, aber trotzdem die IO-Bank-Stromversorgung anliegt. Ich will jetzt nicht für den Versuch Kupferbahnen durchtrennen müßen.
C. A. Rotwang schrieb: > Ja mach ich mal wenn ich ein Board habe an zwar dem 50 FPGA- Eingänge > unbeschaltet sind, aber trotzdem die IO-Bank-Stromversorgung anliegt. > Ich will jetzt nicht für den Versuch Kupferbahnen durchtrennen müßen. Das wird nicht nötig sein, weil die Eingänge deshalb heiss werden, weil die sehr viel Leistung schalten. Interne Gatter brauchen ein Hundertstel des Stroms zum schalten. Deshalb denke Ich, dass die Erwärmung in diesem Fall nicht besagt, dass man durch schnell toggelnde FFs ein Problem bekommt.
Thomas U. schrieb: > FPGAs haben meines Wissens Schmitttrigger-Eingänge, bzw welche mit > zumindest hoher Verstärkung. Siehe dazu: * https://www.microsemi.com/document-portal/doc_details/130021-ac161-using-schmitt-triggers-for-low-slew-rate-input-app-note?tmpl=component (Actel/Microsemi: Spezifiert minimale Slewrate für Eingangssignale). * https://www.xilinx.com/support/answers/10548.html (Virtex/Spartan II - zugegebenermaßen schon etwas angegraut: Tin max = 250 ns) * https://www.xilinx.com/support/answers/39681.html (Spartan 6): "As long as the design can meet timing with the input signal *once it has gone past the Vih or Vil point* in its transition, the signal should be detected correctly."
C. A. Rotwang schrieb: > da steht lediglich das bei CMOS im Gegensatz zu > anderen Familien ein Transistor leitend ist. Da steht: "nicht bei CMOS weil da technologiebedingt nur ein Transistor leitet". Was den Querstrom im betrachteten pathologischen Fall ausschliessen würde. Leider hat auch der Rest Deiner "Erwiderung" mit meinem vorhergehendem Beitrag inhaltlich nur noch wenig zu tun. Trotzdem, vielen Dank für das Gespräch!
Burkhard K. schrieb: > Da steht: "nicht bei CMOS weil da technologiebedingt nur ein Transistor > leitet". Das gilt für den stabilen Zustand, aber nicht für die Transition. Da leiten nämlich "technologiebedingt" beide. Das steht in diesem Werk lediglich deshalb, weil da CMOS mit anderen Technologien verglichen wird. Thomas U. schrieb: > FPGAs haben meines Wissens Schmitttrigger-Eingänge, bzw welche mit > zumindest hoher Verstärkung. Quellen? Es ist eigentlich einfach eine Technologiefrage, und die Antwort darauf lautet: alle Eingangsstufen bestehen aus einem p und einem n Kanal Fet. Eine Mitkopplung ist bestenfalls der "Keeper"-Widerstand (sofern vorhanden).
Ich weiß nicht, worüber hier immer noch diskutiert wird :-) WIE WILL MAN ES DENN VERHINDERN? In jeder Schaltung wird irgendwo etwas einsynchronisiert - oftmals hat es mehrere Taktdomänen - und da kann ein internes FF von einem internen Signal betroffen sein, das wechselt. Der Fall tritt also auf, wenn er auftritt und kann nicht vermieden werden. Behandeln kann man nur die möglichen Folgen einer eventuellen Fehlfunktion. Kaputt geht da aber nichts. Auch an den Eingängen nicht. Natürlich kann Ich die auf einen Pegel legen, bei dem der Umschaltpunkt getroffen wird und ausreichend dimensioniertes Rauschen zum ständigen Aufenthalt im Schaltbereich führt. Das wird auch warm, aber die Eingänge sind dafür ausgelegt und können bequem mit GHz gefahren werden, weil sie SERDES oder GTP können (müssen). Wo also sollte da eine Zerstörung herkommen? Selbstredend tragen diese zur Gesamterwärmung des Chips bei aber dies muss generell untersucht werden. Die Poweranalyse oder Messungen schaffen Klarheit. Wir haben als Bestandteil eines Projektes in einem sicherheitskritischen Umfeld schon FPGAs mit Kombinatorik vollgestopft und die Eingänge getrieben, um Leistung zu erzeugen, die man Messen kann, um das abzuschätzen. Solange der Chip ausreichend weit von der Degradationsgrenze weg ist, passiert da nichts. Problematisch wird es nur, wenn die Eingänge ständig mit zuviel Leistung (Spannung leicht über Bankspannung und Treiber niederohmig) oder auch einmalig mit absolut zuviel Spannung überfahren werden und die Clamp-Dioden leiden. 3.3V an einer 2.5V Bank sind da gfs ein Problem, wenn es Überschwinger hat.
Burkhard K. schrieb: > C. A. Rotwang schrieb: >> da steht lediglich das bei CMOS im Gegensatz zu >> anderen Familien ein Transistor leitend ist. > > Da steht: "nicht bei CMOS weil da technologiebedingt nur ein > Transistor leitet". Was den Querstrom im betrachteten pathologischen > Fall ausschliessen würde. Nein das ist nicht der pathologische sondern der dynamische Fall. und dafür sind die Transitoren ausgelegt. > Leider hat auch der Rest Deiner "Erwiderung" mit meinem vorhergehendem > Beitrag inhaltlich nur noch wenig zu tun. Doch der steht sehr wohl in Beziehung zu deinem Inhalt - er widerspricht den dort aufgestellten Behauptungen von Zerstörung der FPGA-Transistoren durch den erhöhten Stromverbrauch der CMOS-Technologie. Und die Aussage "Sollte im Fall "floating" nicht der Ausgang auf undefiniertem Pegel liegen?" verstehe ich so, das es möglich wäre durch offen lassen der Pins auf Dauer (sehr viel länger als 1 µs) einen metastabilen Zustand im FPGA zu erzeugen. Dafür fehlt mir jegliche Empirik, diese aussage halte ich daher (für FPGA) für falsch. Ich gehe davon aus dass metastabile Zustände ausschliesslich durch timingverletzung entstehen und innerhalb einer nanosekunde wieder im zulässigen Bereich sind. Ich kann mit auch gut vorstellen das man die Bahnwiderstände durch Dotierung so gestaltet das auch im (verzögerten) Umschaltfall eine Spannung entsteht die von den nachgeordneten Transistoren sicher interpretiert wird. die Schaltschwelle/signalstandard der nachgeordneten Transistoren muss auch nicht gleich der Eingangsstufe sein, da kann jeder FPGA-Hersteller seinen eigenen Kram machen. Gatterhersteller dagegen sind an die Vereinbarungen des TTL/CMOS-Standards gebunden.
Thomas U. schrieb: > FPGAs haben meines Wissens Schmitttrigger-Eingänge, bzw welche mit > zumindest hoher Verstärkung. Bei Lattice (z.B. MachXO2) ja. Bei Xilinx gibt es Schmitt-Trigger nur im CoolRunner-II. Sonst finde ich da in den Datenblättern zur 7er-Serie keinen Hinweis, wie langsam ein Input geschaltet werden darf und wie groß die Hysterese ist. Duke
Die Stromaufnahme des guten, alten 74HC14 Schmitttriggers kann in der Übergangsphase erstaunlich hoch werden: https://assets.nexperia.com/documents/data-sheet/74HC_HCT14.pdf ( S.10 ).
Sind denn die ST dieser Serien überhaupt mit modernen Digitaleingängen vergleichbar? Und ist das nicht völlig normal, daß sie dann Strom ziehen, wenn sie ihre Arbeit tun, als schmitt-triggern? Wann sollen sie denn sonst Strom ziehen?
chris schrieb: > Die Stromaufnahme des guten, alten 74HC14 Schmitttriggers kann in der > Übergangsphase erstaunlich hoch werden: > https://assets.nexperia.com/documents/data-sheet/74HC_HCT14.pdf Liegt an der Pegelsteuerung und den Übergängen der langsamen Technologie. Das ist heute stark limitiert.
chris schrieb: > Unter rein logischen Gesichtspunkten scheinen mir zwei FlipFlops zu > genügen, also Wenn es nur "logik" sein soll, dann reicht eines. Ein FF allein differenziert das Signal.
Rolf S. schrieb: > Ein FF allein differenziert das Signal. Was heisst denn hier "differenziert"? Das scheint mir nicht die Aufgabe des FF zu sein. Vielmehr: chris schrieb: > Die Aussage über die frühzeitige Zerstörung von FPGAs durch internes > Schwingen der FlipFlops stammt von jemandem mit über 10 Jahren Erfahrung > und Designgrößenordnungen von 100.000 LUTs Von wem kommt das? > ... dass ... das Problem der schwingenden FlipFlops zu einer > frühzeitigen Zerstörung führen könnten Und wie soll das vonstatten gehen?
Noch einer schrieb: >> ... dass ... das Problem der schwingenden FlipFlops zu einer >> frühzeitigen Zerstörung führen könnten > Und wie soll das vonstatten gehen? Elektromigration? Da fließt ja dann ständig Strom hin und her... https://de.wikipedia.org/wiki/Elektromigration Duke
Duke Scarring schrieb: > Elektromigration? > Da fließt ja dann ständig Strom hin und her... Nach meinem Wissen ist das in erster Line eine Sache einer zu hohen Spannung, weil die Feldstärke relevant ist. Ansonsten gibt es eine Degradation infolge von zu hoher Erwärmung. Diese kann durchaus bei einem hot spot der Fall sein, wenn ein Schaltungsteil zu heiss wird, während der Chip insgesamt noch kühl genug ist. Das hatte ich öfters bei meinen rückgekoppelten selbstschwingenden Oszillatoren. Dort rattern bis zu 1GHz und heizen die Schaltung binnen Sekunden in unakzeptable Regionen. Da so eine META-Zustand nur kurz anhält und selten auftritt, zudem nur einen minimalen Schaltungsteil betrifft, treffe ich mal die Aussage, dass der Effekt Null ist.
Jürgen S. schrieb: > Da so eine META-Zustand nur kurz anhält und selten auftritt, zudem nur > einen minimalen Schaltungsteil betrifft, Auch wieder wahr...
C. A. Rotwang schrieb: > Stimmt nicht ganz, nach diesem Post erholen sich moderne FPGA's > langsamer als ältere: > https://forums.xilinx.com/t5/PLD-Blog/Metastable-Delay-in-Virtex-FPGAs/ba-p/7996 Das finde ich bemerkenswert. Steht im Widerspruch zur Seminarwerbung
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.