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.