Ich finde überall den Konstrukt:
1 | if CLK'event and CLK='1' then |
Ich verwende schon immer:
1 | if rising_edge(CLK) then |
Gibt es denn da wirklich keinen Unterschied? Wenn doch, wo?
|
Forum: FPGA, VHDL & Co. CLK'EVENT die 17.teIch finde überall den Konstrukt:
Ich verwende schon immer:
Gibt es denn da wirklich keinen Unterschied? Wenn doch, wo? > if rising_edge(CLK) then
Das kostenfreie Xilinx-Synthesewerkzeug in der ISE kennt das nicht,
ansonsten ist es egal.
Bürovorsteher schrieb: >> if rising_edge(CLK) then > > Das kostenfreie Xilinx-Synthesewerkzeug in der ISE kennt das nicht, > ansonsten ist es egal. so ein quatsch, xilinx kann das schon lange Bin mir nicht ganz sicher, aber ich glaube das die Funktion rising_edge() nur für Datentypen vom Typ std_logic definiert ist. >nur für Datentypen vom Typ std_logic definiert
Kann man denn eine Clock mit noch etwas anderem definieren, als
std_logic?
> so ein quatsch, xilinx kann das schon lange
Hm, eben noch mal probiert, jetzt geht es...
Hatte ich wohl immer einen Syntaxfehler drin.:-((
(Klammern vergessen?)
Peter schrieb:
>Gibt es denn da wirklich keinen Unterschied?
Doch, den gibt es schon ist aber in der Praxis eher theoretischer Natur:
rising_edge bezeichnet den Uebergang von 0 auf 1, wohingegen CLK'event
and CLK='1' z.B. auch beim Uebergang von 'X' nach '1' erfuellt ist.
Je nach Modellierung des Clocks und Aufbau der Testbench koennen sich
also Differenzen zur Hardware ergeben ( welche ja nur zwei Zustaende
einnehmen kann, Metastabilitaeten mal ausgenommen ;)
Gruss
Busy
Busy schrieb: > wohingegen CLK'event and CLK='1' > z.B. auch beim Uebergang von 'X' nach '1' erfuellt ist. Oder sogar von 'H' nach '1'... :-o Und das kann durchaus einen 'Unterschied machen (zwar nicht bei FPGAs aber z.B. bei ASICs). Was hinter der Funktion rising_edge() steckt kann man sich ja einfach mal im std_logic Package anschauen. Bürovorsteher schrieb: > Das kostenfreie Xilinx-Synthesewerkzeug in der ISE kennt das nicht, > ansonsten ist es egal. Oh, die XST kann einiges, was andere erst hinterher konnten... ;-) Speziell in der Beschreibung von Takten und Clock-Enables wundert man sich da manchmal: http://www.lothar-miller.de/s9y/archives/47-wait-im-Prozess.html http://www.lothar-miller.de/s9y/archives/16-Takt-im-Prozess.html http://www.lothar-miller.de/s9y/archives/1-Clock-Enable-in-einer-ISE-VHDL-Beschreibung.html Weltbester FPGA Pongo schrieb im Beitrag #1870900: > Du beschreist clks generell mit waits? Beschreien? :-o Wie auch immer: ich beschreibe Takte lieber über das wait until(); Nur bieten sich manchmal andere Beschreibungsarten an, weil sich irgendwas einfach eleganter oder besser darstellen lässt. Deshalb gilt mein Motto: Ich beschreibe es generell so, dass das herauskommt, was ich will. 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
Noch kein Account? Hier anmelden.
|
|