Gast
#1214811
Hallo, wer kann mir sagen, was an diesem Konstrukt falsch ist:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
Danke für Eure hilfe. Dietrich
|
Anzeige
|
Frage zu Generate
Gast
#1214811
Hallo, wer kann mir sagen, was an diesem Konstrukt falsch ist:
Danke für Eure hilfe. Dietrich Falsch ist:
> g_GenTest: if cGenerate='0' generate
Ein if gibt es nur innerhalb eines Prozesses ;-)
Du kannst z.B. nicht einfach process drumrumschreiben, weil es
innerhalb eines Prozesses auch keinen zweiten Prozess gibt :-/
Du willst offenbar abhängig von einem Generate-Schalter mal den einen
oder den anderen Prozess synthetisieren?
BTW:
Du wirst z.B. auch Probleme haben, wenn deine Prozesse (p_Test) gleich
heißen. Machs einfach so, dass die gar keinen Namen haben.
if ... generate gibts natuerlich, aber kein else generate. Mach halt zwei if ... generate Bloecke. Beim zweiten:
Uebersichtlicher wirds so
da cGenerate konstant ist, wird das Ergebnis der Synthese dasselbe sein. Cheers, Roger
Gast
#1214948
Hi Roger, die Verwendung von zwei separaten Generate-Anweisungen ist natürlich möglich. Das Problem bei der Verwendung von else-generate besteht wohl darin, dass man dem else Zweig kein eigenes Generate-Label bzw. Namen geben kann. Ähnliches Problem wahrscheinlich bei elsif-generate Anweisungen. Interessanterweise sind diese if-elsif-else-generate Anweisungen in Ashenden's "A designer's guide to VHDL, 3rd edition" aufgeführt. Wahrscheinlich werden sie noch nicht unterstützt, vielleicht mit VHDL 2008 ... Dietrich
Gast
#1214949
@ Lothar
>Ein if gibt es nur innerhalb eines Prozesses ;-)
Das stimmt so natürlich nicht, da es bedingte Generate-Anweisungen gibt.
Dietrich
Dietrich wrote: > @ Lothar > Das stimmt so natürlich nicht, da es bedingte Generate-Anweisungen gibt. Ja, ich hatte da wohl eine Leseschwäche :-o
Gast
#1215604
Dietrich hat recht. In Peter J. Ashendens Designers Guide sthet auf S 459, dass VHDL-87, -93 und 2002 keine elsif oder else generate unterstützen. Da meines Wissens nach kein Synthesetool VHDL 2008 unterstützt, bleibt wohl nur die Alternative wie sie Roger vorgeschlagen hat. Micha Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|