Gast
#1666142
Hi Leute, habe folgendes Problem:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Wie bekommt man diese UND-Verknüpfung hin ? vielen dank für eure hilfe.
|
Anzeige
|
AND-Verknüpfung
Gast
#1666142
Hi Leute, habe folgendes Problem:
Wie bekommt man diese UND-Verknüpfung hin ? vielen dank für eure hilfe. Hallo Sven, du musst die and Funktion überladen, so dass sie als Argumente ty_ar erwartet und einen ty_ar zurück gibt. Thomas
Gast
#1666199
Hallo Thomas, danke für deine hilfe. gruß, Sven Nebenbei bemerkt, >a <= (b and c) when rising_edge(clk); Dieses Konstrukt bewirkt sicher nicht das was du möchtest. a hat nur genau während der Flanke auf clk den Wert (b and c), zu allen anderen Zeiten ist es nicht definiert. Und die Flanke auf clk ist auch nur unendlich kurz... Beim Synthetisieren bekommst du damit eine "warning: found latch" und in Hardware wird sich diese Zuweisung im Allgemeinen anders verhalten als in der Simulation. Merke: Wenn du ein Flipflop beschreiben willst, dann brauchst du in VHDL einen Prozess der genau das macht, alle anderen Beschreibungen sind nicht für Hardware geeignet.
Gast
#1666254
>Dieses Konstrukt bewirkt sicher nicht das was du möchtest. a hat nur >genau während der Flanke auf clk den Wert (b and c), zu allen anderen >Zeiten ist es nicht definiert. Und die Flanke auf clk ist auch nur >unendlich kurz... Quatsch comedy club!
Beide Beschreibungen sind einwandfrei.
>Beim Synthetisieren bekommst du damit eine "warning: found latch"
Ja ? Schon ausprobiert?
Gast
#1666255
>Merke: Wenn du ein Flipflop beschreiben willst, dann brauchst du in VHDL >einen Prozess der genau das macht, alle anderen Beschreibungen sind >nicht für Hardware geeignet. Quatsch comedy club die 2.
Gast
#1666262
siehe Anhang: Synthese mit SynplifyPro
Gast
#1666263
dargestellt ist:
> Beim Synthetisieren bekommst du damit eine "warning: found latch" und in > Hardware wird sich diese Zuweisung im Allgemeinen anders verhalten als > in der Simulation. Nein, das wird kein Latch, sondern durch die steigende Flanke ein Register... > Merke: Wenn du ein Flipflop beschreiben willst, dann brauchst du in VHDL > einen Prozess der genau das macht, alle anderen Beschreibungen sind > nicht für Hardware geeignet. Die Synthese kann schon einiges erkennen, aber ich würde die Beschreibung auch als grenzwertig einstufen. Man könnte es sogar noch weiter treiben und ein Reset und ein Enable einführen:
Daraus macht die Synthese dann die erwartete Funktion (Anhang). Und falls jetzt noch jemand fragt: latürnich geht das auch mit einem Preset...
Gast
#1666305
eigentlich ging es ja gar nicht um die Frage, wie man nebenläufig ein Register beschreibt... SvenB schrieb: >>Beim Synthetisieren bekommst du damit eine "warning: found latch" > Ja ? Schon ausprobiert? Ja, vor längerer Zeit. Inzwischen scheinen sowohl ISE als auch Synplify damit klarzukommen - ich würde aber definitiv bei den herkömmlichen Beschreibungen bleiben und nicht auf die (meistens ohnehin nicht vorhandene) Intelligenz der Tools vertrauen. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|