Quartusrichtlinien für Procedure

Moderator (Firma: Titel) Persönliche Seite #2759719
Lesenswert?

Michael K^3 schrieb:
> weiß jemand wo man die Guidlines für den Quartus Compiler findet
Das hast du schon probiert?
http://www.google.de/search?q=quartus+synthesis+guide

> im speziellen wie und was er in Procedures unterstützt.
Im Prinzip unterstützt ein Synthesizer in Prozeduren all das, was er 
auch ausserhalb von Prozeduren unterstützt. Allerdings wirst du gern mal 
ein Problem bekommen, wenn du z.B. einen Takt in eine Prozedur einbaust 
und dann die Prozedur in einem getakteten Prozess aufrufst...

Was ist dein eigentliches Problem?
#2759746
Lesenswert?

Michael K^3 schrieb:
> Hallo,
>
> Frage weiß jemand wo man die Guidlines für den Quartus Compiler findet
> im speziellen wie und was er in Procedures unterstützt.
>
> Das Handbook gibt dazu nicht wirklich was her.

Hallo Michael,

ich nehme an das du wissen möchtest was Quartus als synthesetool an 
proceduren unterstütz, also welche Richtlinien es für synthese bzgl 
prozeduren gibt. Das Handbuch gibt dazu keine Antwort, weil die Frage 
falsch gestellt. VHDL ist eine Hardwarebeschreibungsprache: der 
Synthese-Guide beschreiben wie du VHDL schreiben musst um einen 
MUXER,RAM-Block, FF zu erhalten. Also in Hardware denken, proceduren 
sind nur Mittel zum Zweck

Ich setze Prozeduren ein, um Blöcke von identischen Zuweisungen zu 
strukturiern. Hat bspw eine FSM einen mehrfach vorkommenden Übergang 
(z.B. Übergang in den IDLE-Zustand, bei dem der Bus freigegeben wird, 
und der Abschluss der Transaktion signalisiert) kommt das in eine 
procedure mit griffigen Namen (P_free_Bus).


Zur modellierung und in Testbenches geht natürlich mehr, nämlich das was 
im Standard steht. Quick reference Cards ist ein guter Spickzettel.


Die Quartus Doku - Kapitelübersicht:
http://www.altera.com/literature/lit-qts.jsp

Kapitel zum Synthese Coding Style:
Kap11: Recommended Coding Style: 
http://www.altera.com/literature/hb/qts/qts_qii51007.pdf
Kap 14: http://www.altera.com/literature/hb/qts/qts_qii51008.pdf

Advanced Synthesec Cookbook:
http://www.altera.com/literature/manual/stx_cookbook.pdf

Quick reference Card:
http://www.eda.org/rassp/vhdl/guidelines/vhdlqrc.pdf

MfG,
Gast #2761370
Lesenswert?

Sorry das ich erst jetzt zurück scheibe, war mit modelsim-altera 
Problemen beschäftigt das dumme Ding startet nicht.

Danke für die viele Antworten.

Also, anfangs wollte ich eine Prozedur bauen die "pressed, release, 
state" eines Buttons erkennt. Ist aber nicht möglich da variablen ihrn 
Wert nicht behalten. (hinterher klar da es sich ja nicht um instanzen 
handelt....)

Ja und das andere Thema waren prinzipell Takte und was passiert wenn man 
getaktete Prozeduren in getakteten Umgebungen aufruft. Bzw werden Takte 
überhaupt unterstützt. So wie ich das Verstehe sind Prozeduren am besten 
als rapper für logik zu misbrauchen.

lg Michael
Moderator (Firma: Titel) Persönliche Seite #2761496
Lesenswert?

MichaelK schrieb:
> So wie ich das Verstehe sind Prozeduren am besten
> als rapper für logik zu misbrauchen.
Du meinst sicher "wrapper" (=Einwickler)...
Und wenn der Code synthesefähig sein soll, lautet die Antwort: Ja.

> Also, anfangs wollte ich eine Prozedur bauen die "pressed, release,
> state" eines Buttons erkennt.
Vergiss KOMPLETT diese Softwaredenkweise!!!!
(ich kann gar nicht genug Ausrufezeichen machen!!!).
Sonst wirst du da noch einige Male ganz dumm aus der Wäsche gucken.

Du musst dich fragen: wie würde ich das mit Gattern und FLipflops bauen. 
Und dann den VHDL-Code so hinschreiben, dass der Synthesizer deine 
Schaltung draus baut.

> eine Prozedur bauen die "pressed, release, state" eines Buttons erkennt.
Das wird aber ganz anders gemacht:
http://www.lothar-miller.de/s9y/categories/18-Flankenerkennung
http://www.lothar-miller.de/s9y/categories/19-SpikePuls
Und vergiss das Einsynchronisieren nicht:
http://www.lothar-miller.de/s9y/archives/64-State-Machine-mit-asynchronem-Eingang.html

Am besten machst du erst mal die blinkende LED:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html
Und das legendäre Lauflicht:
http://www.lothar-miller.de/s9y/archives/61-Lauflicht.html

> Ist aber nicht möglich da variablen ihrn Wert nicht behalten.
Natürlich tun sie das. Da sind schon einige auf die Nase gefallen...
Beitrag "Variable vs Signal"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren