kann jemand mir helfen und Programmm zu korregireren ich bin anfänger in VHDl ich habe versucht aber leider , finde ich den Fehler nicht danke!!!!!!!!! LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_ARITH.all; USE ieee.std_logic_UNSIGNED.all; entity teiler is generic (n: integer:= 16); -- Teiler verhähltnis port( rising : in std_logic; Q : out Std_logic); end teiler; architecture Behaviour of teiler is signal sig_Q : std_logic := '0'; begin process (rising) variable Z:integer range 0 to n-1 ; --variable var_Q ; begin if rising edge ='1' then if Z< n-1 then Z := Z+1; else Z :=0 ; end if; if Z=0 then var_Q :='1'; end if; if Z= n/2 then var_Q :='0'; end if; end if ; Sig_Q<= var_Q ; end process ; Q <= sig_Q; end Behaviour;
1. geht es um Simulation oder Synthese? 2. Wie äußert sich der Fehler bzw. woran merkst du dass einer da ist?
Hier ist dein Fehler: if rising edge ='1' then sollte so aussehen: if rising_edge(rising) rising solltest du evtl humaner benennen ;)
hallo danke euch für euere hilfe aber den fehler ist immer noch da fehler sollte in der zeile sein variable var_Q ; danke
Kann nicht sein, die Zeile ist auskommentiert: architecture Behaviour of teiler is signal sig_Q : std_logic := '0'; begin process (rising) variable Z:integer range 0 to n-1 ; --variable var_Q ;
PS: Ok das war vielleicht zu hart. Wenn du Variablen benutzt, musst du auch den Typ deklarieren. Ich empfehle dir Literatur zum Thema VHDL zuzulegen (wird meist vom Arbeitgeber bezahlt). Oder wenigstens sich im Web umzuschauen und nach PDF's suchen. Hier z.B: http://ces.univ-karlsruhe.de/teaching/EPP_Henkel/Doc_EPP-0506/Session8/vhdl.pdf
naja, wenn du die Variable "var_Q" auskommentierst, dann darfst du sich auch nicht verwenden. Gruß Ralf
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.