Hallo, kann mir bitte jemand sagen was an diesem VHDL-Code-Snippet falsch sein kann: SYNC_ON_RX_DATA: process (DATA_RX, SLR_BIT_CNT_sig) begin if falling_edge (DATA_RX) and SLR_ENABLE_sig = '0' then SLR_ENABLE_sig <= '1'; elsif SLR_BIT_CNT_sig = 9 then SLR_ENABLE_sig <= '0'; end if; end process; Ich bekomme immer folgende Fehlermeldung: Signal SLR_ENABLE_sig cannot be synthesized, bad synchronous description. Sebastian. PS: Wie kann ich den Code hier VHDL bunt darstellen???
vhdl in eckige Klammern für Syntax Highlightning. So wird nen Schuh drauss:
1 | SYNC_ON_RX_DATA: process (DATA_RX) |
2 | begin
|
3 | if falling_edge (DATA_RX) then |
4 | if SLR_ENABLE_sig = '0' then |
5 | SLR_ENABLE_sig <= '1'; |
6 | elsif SLR_BIT_CNT_sig = 9 then |
7 | SLR_ENABLE_sig <= '0'; |
8 | end if; |
9 | end if; |
10 | end process; |
1. Nur der Clock kommt in die Sens.Liste 2. bei einem synchr. Prozess wird in der äusseren If Schleife nur der Clock abgefragt
Test [IF rising_edge(CLK) THEN IF enable = '1' THEN out <= 'H'; ELSE out <= 'Z'; END IF; END IF; ]
Test [IF rising_edge(CLK) THEN IF enable = '1' THEN out <= 'H'; ELSE out <= 'Z'; END IF; END IF;]
@ TM [xxxx] xxxx = vhdl Code [/xxxx] ??? Klappt immer noch nicht.....tut mir leid, vielleicht bin ich da zu unwissend...oder einfach nur zu Banane..... :o
Test
1 | IF rising_edge(CLK) THEN |
2 | IF enable = '1' THEN |
3 | out <= 'H'; |
4 | ELSE
|
5 | out <= 'Z'; |
6 | END IF; |
7 | END IF; |
DANKE!!!
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.