Hallo zusammen schreib grad Diplomarbeit über VHDL, wollte das träge / nichtträge Modell erläutern, schön und gut .... aber folgender Code bringt mir Fehler LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE WORK.ALL; ENTITY traege_nichttraege IS PORT ( zustand : IN std_logic; aus_1,aus_2 ,aus_3 ,aus_4 ,aus_5 : OUT std_logic ); END traege_nichttraege; ARCHITECTURE verhalten OF traege_nichttraege IS SIGNAL a1,a2,a3,a4,a5 : std_ulogic; BEGIN a1 <= NOT zustand; a2 <= NOT zustand AFTER 10 ns; -- aus_3 <= NOT zustand AFTER 10 ns; a3 <= reject 10ns INERTIAL NOT zustand AFTER 10 ns; a4 <= TRANSPORT NOT zustand AFTER 10 ns; -- aus_5 <= NOT zustand AFTER 10 ns; a5 <= REJECT 10ns INERTIAL NOT zustand AFTER 10 ns; END ARCHITECTURE ; Fehlermeldung : Compiling entity traege_nichttraege Compiling architecture verhalten of entity traege_nichttraege C:\MultiHDL_VHDL\Examples\Module\TRAEGE.VHD(18): Error C0049 : Syntax error Not expecting [reject] skipping input up to [INTEGER NUMBER]. C:\MultiHDL_VHDL\Examples\Module\TRAEGE.VHD(18): Error C0050 : Type mismatch Not expecting [;] skipping input up to [NAME]. C:\MultiHDL_VHDL\Examples\Module\TRAEGE.VHD(21): Error C0049 : Syntax error Not expecting [reject] skipping input up to [INTEGER NUMBER]. C:\MultiHDL_VHDL\Examples\Module\TRAEGE.VHD(21): Error C0050 : Type mismatch Not expecting [;] skipping input up to [end]. 4 error(s) There were errors during compilation. Kann mir jemand sagen warum ? Muss ich noch was einbinden ??? Ist doch VHDL'93 .... das Ganze läuft unter dem VHDL Tool von Multisim 7 ... Danke, schnelle Antwort wäre super ! Stephan
Hallo, process Deklaration fehlte (SensitivityList muss viellicht noch ergänzt werden) LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE WORK.ALL; ENTITY traege_nichttraege IS PORT ( zustand : IN std_logic; aus_1,aus_2 ,aus_3 ,aus_4 ,aus_5 : OUT std_logic ); ARCHITECTURE verhalten OF traege_nichttraege IS SIGNAL a1,a2,a3,a4,a5 : std_ulogic; BEGIN process() begin a1 <= NOT zustand; a2 <= NOT zustand AFTER 10 ns; -- aus_3 <= NOT zustand AFTER 10 ns; a3 <= reject 10ns INERTIAL NOT zustand AFTER 10 ns; a4 <= TRANSPORT NOT zustand AFTER 10 ns; -- aus_5 <= NOT zustand AFTER 10 ns; a5 <= REJECT 10ns INERTIAL NOT zustand AFTER 10 ns; end process; END ARCHITECTURE ; end beitrag ;-)
Hallo zurück, mal gespannt obs klappt .... gleich die nächste Frage ... wie issen der Code für ein JK-Flipflop, bzw. wie mach ich das mit dem Toggle ( T=J=K = '1 ' ) ? Wenn ich das simulier, rennt der mir trotz Initialisierung teilweise mit 'U' los, dann klappt das mit dem Toggle natürlich nicht ... wie merk ich mir das Signal ? Danke aber schonmal für Lösung#1 Stephan
Hallo! Ohnen deinen Code zu kennen, kann ich dir da höchstens den Tip geben, daß da vielleicht etwas nicht so implementiert wird wie du dir das vorstellst. Ein beispiel zum toggeln: architecture ... variable current_state: std_logic; begin toggle_proc: process() begin if j ='1' and k='1' then current_state /= current_state; end if; end process; out <= current_state; end architecture; --------------------------------------- Das sollte ein Speicherelement erzeugen (D-Latch z.B.) Vielleicht hilft dir das weiter. Ansonsten poste mal deinen Code.
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.