Forum: FPGA, VHDL & Co. Ein Fehler in Programm!


von Gast (Gast)


Lesenswert?

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;

von Morin (Gast)


Lesenswert?

1. geht es um Simulation oder Synthese?
2. Wie äußert sich der Fehler bzw. woran merkst du dass einer da ist?

von Klaus F. (kfalser)


Lesenswert?

if rising edge ='1' then

ist kein VHDL !!!

Eventuell gibt es
if rising_edge(Clk) then ....

von A. F. (artur-f) Benutzerseite


Lesenswert?

Hier ist dein Fehler:
if rising edge ='1' then

sollte so aussehen:
if rising_edge(rising)

rising solltest du evtl humaner benennen ;)

von Gast (Gast)


Lesenswert?

hallo
danke euch für euere hilfe aber den fehler ist immer noch da

fehler sollte in der zeile sein   variable var_Q ;
danke

von A. F. (artur-f) Benutzerseite


Lesenswert?

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 ;

von A. F. (artur-f) Benutzerseite


Lesenswert?

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

von guest (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.