www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Paritätsgenerator VHDL-code fehler


Autor: Pep Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe so ein VHDL-code kompiliert, es steht noch die Fehlen:
(15)near ":=": expecting "string" or "identifier" or "<<" or '(';
(30)VHDL compiler is exiting;
kann jemand mir helfen? (wenn ich an der Zeile 15 nur 'PAR:= false' 
schreibe , kommt noch mehr fehler meldung??).
danke und schöne adventzeit!

library ieee;
use ieee.std_logic_1164.all;
entity PARITAET is
  port(D_IN, clk: in bit;
       STARTBIT, STOPPBIT: in boolean;
       D_OUT: out bit);
     end PARITAET;
     architecture VERHALTEN of PARITAET is
       begin
         P1:process
              variable PAR: boolean;
              begin
                wait until(clk'event and clk='1');
                if STARTBIT then
                   with PAR select := false;   --hier ist 15.Zeile
                   while not STOPPBIT loop
                     D_OUT <= D_IN;
                     if D_IN = '1' then
                        PAR:=not PAR;
                     end if;
                     wait until (clk'event and clk='1');
                   end loop;
                 end if;
                 if PAR then
                   D_OUT <= '1';
                 else
                   D_OUT <= '0';
                 end if;
               end process P1;
             end VERHALTEN;                     --30.Zeile

Autor: reimann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf den ersten Blick:
P1:process (D_IN, clk)  <- sensitive list beachten!

Autor: Pep Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn es in process (D_IN, clk) ist, dann kommt noch andere fehler an 
dieser Zeile. (ich nutze ModelSim) oder es ging bei dir?

Autor: VHDL user (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was soll
with PAR select := false;
machen???

wenn du es auf 0 setzen willst, schreib doch einfach:
PAR := '0';

Ich weiß nicht ob das
wait until(clk'event and clk='1');
synthetisierbar ist, auf alle fälle ist der Code nicht synthetisierbar, 
da es später nochmal auftaucht.


Falls du mit FPGAs weiter arbeiten willst, dann würde ich dir dringendst 
empfehlen ein Buch über Grundlagen der Digitaltechnik und VHDL zu lesen. 
Du wirst sonst nicht glücklich!!!

Hilfreich ist schonmal auch den Code schöner darzustellen. Bei dir ist 
es sehr unübersichtlich!

Egal wieviel Leute dich noch schimpfen mögen, laß dich nicht entmutigen! 
Arbeite dich in die Grundlagen ein und du wirst sehr viel Freude mit 
FPGAs haben könnnen!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
reimann schrieb:
> P1:process (D_IN, clk)  <- sensitive list beachten!
Pep Max schrieb:
> wenn es in process (D_IN, clk) ist, dann kommt noch andere fehler an
> dieser Zeile.
Nicht einfach alles nachplappern, was andere vorplappern... :-/
Ein Prozess mit einem wait darf keine Sensitivliste haben.

>>     with PAR select := false;   --hier ist 15.Zeile
Was ist das für ein Syntax?
Sieh dir mal ein with...select in VHDL an.

> Ich weiß nicht ob das
> wait until(clk'event and clk='1');
> synthetisierbar ist,
Doch, ist es:
http://www.lothar-miller.de/s9y/archives/16-Takt-i...
> auf alle fälle ist der Code nicht synthetisierbar,
> da es später nochmal auftaucht.
Da geht einiges:
http://www.lothar-miller.de/s9y/archives/47-wait-i...

> auf alle fälle ist der Code nicht synthetisierbar,
> da es später nochmal auftaucht.
Ich habe den Verdacht, das ist vom Reichhardt&Schwarz abgeschrieben...
Das Beispiel aus dem Buch haben andere auch schon probiert und sind 
damit auf die Schnauze gefallen... :-o

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.