www.mikrocontroller.net

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


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;

Autor: Morin (Gast)
Datum:

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

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
if rising edge ='1' then

ist kein VHDL !!!

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

Autor: A. F. (artur-f) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist dein Fehler:
if rising edge ='1' then

sollte so aussehen:
if rising_edge(rising)

rising solltest du evtl humaner benennen ;)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. F. (artur-f) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ;

Autor: A. F. (artur-f) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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/D...

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, wenn du die Variable "var_Q" auskommentierst,
dann darfst du sich auch nicht verwenden.

Gruß

Ralf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.