Servus, Ich beschäftige mich seit derzeit zum ersten Mal mit dem Programmieren eines CPLD/FPGA und bitte deshalb um Verständnis falls meine Fragen bisschen "dumm" klingen sollten. Seit einiger Zeit arbeite ich nun an meinem Quartus-Modell, welches ich im Block-Editor erstellt habe und dieses funktioniert auch soweit in der "Functional Analysis". Nun wollte ich in dieser Woche einen Logikbaustein wählen und diesen bestellen umd mein Design auch am Oszi testen zu können. Dabei sind einige Fragen aufgekommen, welche ich euch auf diesem Wege stellen würde und hoffe, dass ihr mir weiterhelfen könnt. 1) Ich habe mich dazu entschieden, dass ich einen CPLD der Sorte MAX II bestellen werde, was auch der "Fitter" in Quartus akzeptabel findet. Nun habe ich im Quartus Handbuch gelesen, dass es sich auf jeden Fall empfielt auch eine "Timing Analysis" durchzuführen und dabei auf jedem Pfad z.B. Setup & Hold-Zeiten anzugeben um dann entweder die Classic Timing Analysis oder Time Quest Analyzer anzuschmeissen. Ich weiß allerdings bloß, dass ich meinen einzigen Clock in meiner Quartus-Schematic File mit einer Frequenz von 40 MHz laufen lassen möchte. Dazu weiß ich auch, mit welcher Frequenz sich die Eingabedaten von meinen Inputs ändern. Allerdings hänge ich im Moment dabei festzustellen welche zusätzlichen zeitlichen Beschränkungen ich brauche. Ich habe bisher immer gedacht, dass ich meine CLockfrequenz eingebe und Quartus dann von alleine überprüft ob das mit deinen Setup&Hold-Zeiten meines CPLD's hinhaut. Könnt ihr mir vielleicht da auf die Sprünge helfen? 2) Meine Frage bezieht sich auf ein Funktionselement, welches ich eingebaut habe und ich fragen wollte, ob ihr der Meinung seid, dass das vom Design her in Ordnung ist. Und zwar soll es in etwa so wie ein RS-FF funktionieren, d.h. solange am Eingang eine Null anliegt wird auch am Ausgang eine Null ausgegeben, liegt eine Eins am Eingang dann wird diese gespeichert und solange am Ausgang ausgegeben bis, der Speicher manuell geresetet wird. In meinem Design habe ich dabei ein DFF bzw. Latch benutzt, bei dem sowohl der D- als auch der Clk bzw. Gate-Eingang das gleiche Signal kriegen und an den CLRN-Eingang mein Reset-Signal negiert angelegt. Funktioniert auch soweit in der "Functional Analysis", ich weiß allerdings nicht, ob das vom Design her so "schön" ist und es deshalb vllt. schlauere Möglichkeiten gibt diese Funktionalität zu realisieren. Vielen Dank für eure Hilfe! Gruß P.S.: Ich habe die Fragen auch im Altera-Forum gestellt, bisher allerdings noch keine Antworten erhalten. Deshalb probiere ich es auch auf diesem Weg.
Newbie schrieb: > Nun habe ich im Quartus Handbuch gelesen, dass es sich auf jeden Fall > empfielt auch eine "Timing Analysis" durchzuführen ..... Das kannst du die ersten paar Tage im Leben als FPGA-Programmierer mal aussen vor lassen. Wichtiger ist, dass du konsequent auf ein synchrones design setzt und alle externen Signale einsynchronisierst. Allerdings geht damit schon dein erster Schaltungstrick in die Hose: > In meinem Design habe ich dabei ein DFF bzw. Latch benutzt, bei dem > sowohl der D- als auch der Clk bzw. Gate-Eingang das gleiche Signal > kriegen Damit verletzt du garantiert die Setupzeit des FFs. Das wird in der Praxis nicht stabil laufen. > Funktioniert auch soweit in der "Functional Analysis" Dort werden noch keine Laufzeiten durch Routing usw. und auch keine Setup-Zeitanforderungen berücksichtig.
Vielen Dank für deine Antwort! Gut für das Flipflop habe ich mittlerweile eine andere Lösung implementiert, die besser funktionieren sollte und auch synchron ist. Ich wollte die Timing Analysis eigentlich in der Hinsicht durchführen, damit ich weiß, welchen Geschwindigkeitsgrad mein CPLD haben sollte, da der MAX II in 3 verschiedenen Arten vorliegt und diese unterschiedlich schnell sind. Daher habe ich mir gedacht, dass die Timing Analysis mir vielleicht darüber Aufschluss bringt, ob der langsamere C4/C5 reicht oder ich den schnelleren C3 benötige. Aber vielleicht ist es schlauer, dass ich mir den schnelleren bestelle und ich damit auch im Nachhinein mein Design upgraden/schneller takten kann, wenn nötig. Gruß!
40MHz ist gar nichts. Das sollte reichen. Auch fuer 16bit Zaehler. Mit der langsamen Ausfuehrung.
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.