www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Verilog Synthax error


Autor: Chriatian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
In diesem code gibt es Synthax Fehler, ich suche sie seit 2 Stunden ohne 
Erfolg.Kann mir bitte jemanden helfen
Danke in Voraus


for(j=0;j<FRAMESIZE;j=j+2) begin: dekodierung
if(data_in[j]==1'b1 && data_in[j+1]==1'b0) begin
  dec_data[k]=1'b0;
  k=k+1;
  end
else begin
 if((data_in[j]==1'b0) && (data_in[j+1]==1'b1)) begin
  dec_data[k]=1'b1;
  k=k+1;
  end
else begin
  dec_data[k]= 1'b1;
  k=k+1;
  end
  end
  end

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Kontext fehlt. War das von dir Absicht nur die for-Schleife zu 
zeigen oder ist das wirklich nur dein Code?

Also ich habe noch hinzugefügt was fehlt und habe keine Syntax Fehler 
nach dem Compilieren erhalten.

Was ich gemacht habe ist die for-Schleife in eine initial block gesteckt 
und das ganze in eine module gepackt. Dann noch die Variablen bzw. 
Register hinzugefügt und das ganze ging dann.

Autor: Chriatian (Gast)
Datum:
Angehängte Dateien:
  • dec.txt (880 Bytes, 146 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Hi
hier ist das Programm ohne for Schleife ging alles
mit for schleife 3 Fehler:

Error (10170): Verilog HDL syntax error at man_dec.v(44) near text 
"for";  expecting an identifier ("for" is a reserved keyword ), or 
"endmodule", or a parallel statement
Error (10170): Verilog HDL syntax error at man_dec.v(50) near text "=="; 
expecting ".", or "["
Error (10170): Verilog HDL syntax error at man_dec.v(55) near text "="; 
expecting ".", or "["

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Die for-Schleife ist nicht in dem always block, ist das beabsichtigt?
2. Es gibt ein Mix mit data1_in und data_in. Im module ist data1_in als 
Port deklariert, dann aber data_in als input Port deklariert.
3. Im always-Block der Synchron zu einem clk Signal ist, solltest du 
blocking assignments (<=) nehmen und nicht non-blocking (=). Die 
blocking assignments lassen deine Logik bei der Simulation sich so 
verhalten wie es in der Hardware dann auch sein wird.

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian

Das stimmt!, ohne for Schleife geht es
mit for Scheife geht es nicht.
Sorry ich kann den Fehler nicht sehen
Gruß
Ronny

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.