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


von Pep Max (Gast)


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

von reimann (Gast)


Lesenswert?

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

von Pep Max (Gast)


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?

von VHDL user (Gast)


Lesenswert?

Hallo,

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

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

Ich weiß nicht ob das
1
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!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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-im-Prozess.html
> 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-im-Prozess.html

> 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

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.