Verilog Synthax error

Gast #663067
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
#663076
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.
Gast #663089
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 "["
Angehängte Dateien:
#663150
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren