Hallo zusammen, ich grüble schon länger an einem Problem, werde mir aber über die "richtige" Realisierung nicht klar und hoffe auf Ansätze die ein sicheres Design ermöglichen. Aufgabe ist 3 asynchrone Eingangssignale (100ns Glichtfilter vorhanden, im Regelfall ändert sich nur eines dieser Signale) so schnell wie möglich auszuwerten und je nach Zustand diverse Ausgangssignale zu schalten. Da in max. 20ns (möglichst konstant) auf eine Änderung reagiert werden mss und nur ein 20Mhz-Takt zur Verfügung steht, ist eine synchrone Lösung ausgeschlossen. Die Signale folgen idR einer fixen Sequenz von 6 Zuständen, z.b.: 001, 101, 111, 110, 010, 011 (und wieder von vorn) Parallel wird der korrekte Ablauf dieser Sequenz in einer (getakteten) FSM (mit synchronisierten Eingängen) für Diagzwecke überwacht. Da dies allerdings für das Schalten der Ausgänge zu langsam ist, sollte die Sequenz auch durch Kombinatorik gewahrt sein. (Wohl nur mit Latches realisierbar?) Das Design soll zunächst in einem MaxII-CPLD getestet und später mit mgl. wenigen Anpassungen in ein ASIC portierbar sein. Wie würdet ihr an das Problem gehen? Was muss ich bei einer rein kombinatorischen Lsg. beachten, um ein stabiles Design zu bekommen? Kann man den (Fehler-)Fall abfangen, dass sich doch >1 Eingangsignal zeitglich ändert? Vielen Dank im voraus für alle Ideen. Gruß, Mike
@ Michael K. (Gast) >Aufgabe ist 3 asynchrone Eingangssignale (100ns Glichtfilter vorhanden, 100ns Glitchfilter und >schalten. Da in max. 20ns (möglichst konstant) auf eine Änderung >reagiert werden mss 20ns Reaktionszeit passen nicht zusammen. >allerdings für das Schalten der Ausgänge zu langsam ist, sollte die >Sequenz auch durch Kombinatorik gewahrt sein. (Wohl nur mit Latches >realisierbar?) ?? >Das Design soll zunächst in einem MaxII-CPLD getestet und später mit >mgl. wenigen Anpassungen in ein ASIC portierbar sein. Asnchron und ASIC-Portierung schreit nach Problemen ;-) >Wie würdet ihr an das Problem gehen? Was muss ich bei einer rein >kombinatorischen Lsg. beachten, um ein stabiles Design zu bekommen? Kann >man den (Fehler-)Fall abfangen, dass sich doch >1 Eingangsignal >zeitglich ändert? Es gibt Prinzipen für asynchrone Logik. Nein, keine wilden Bastelkonstruktionen sondern fundierte Reglen. Damit wurden schon Mikroprozessoren gebaut. Das ist dann auch sicher. Allerdings ist es ein gewisser Aufwand und eine etwas andere Logik. Also die Sache mal rechercieren und anwenden. NICHT wild drauflosmurksen! MFG Falk
Michael K. schrieb: > Was muss ich bei einer rein kombinatorischen Lsg. beachten, Dass die Zeitangaben im Datenblatt nur den Worst Case Fall abdecken. Dein CPLD kann jederzeit schneller sein... > Da in max. 20ns (möglichst konstant) auf eine Änderung > reagiert werden mss und nur ein 20Mhz-Takt zur Verfügung steht, > ist eine synchrone Lösung ausgeschlossen. Du willst also irgend eine Logik in ein CPLD hacken und die darf dann max. 20ns brauchen? Kein Problem, das kann sogar die langsamste Gurke. Und auch die Durchlaufzeit zwischen ist dabei ziemlich konstant, weil ja die selben Produktterme verwendet werden. Allerdings kann sich diese Durchlaufzeit abhängig von der Temperatur ändern. > Kann man den (Fehler-)Fall abfangen, dass sich doch > 1 Eingangsignal zeitglich ändert? Nicht sinnvoll. Denn da mußt du zum Speichern des letzten Zustands mit Latches arbeiten, und das hat idR. unschöne Nebeneffekte...
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.