Forum: FPGA, VHDL & Co. Problem mit For-Schleife in Verilog


von Oliver P. (mace_de)


Lesenswert?

Servus,

ich hab gerade ein Problem mit einer For-Schleife in Verilog.
Ziel soll es sein, die einzelnen Bits eines 512bit breiten Vektors 
(temp) umsortiert in einen 2. 512bit breiten Vektor (out) zu kopieren.
Dazu schrieb ich folgenden Code.
1
integer ia,ib;
2
3
for(ia=0;ia<505;ia=ia+8)
4
begin
5
  for(ib=0;ib<8;ib=ib+1) 
6
  begin
7
    assign out[(504-ia)+ib]=temp[ib+ia];
8
  end  
9
end

Der Compiler ist damit nicht einverstanden, meckert das erste "for" an 
und möchte dort ein "endmodule" haben. Ich versteh nicht direkt wieso er 
das möchte. Wie muss ich den Code korrekterweise schreiben?

Grüße Oliver

Edit: assign eingefügt

von hiall (Gast)


Lesenswert?

guck dir mal den befehl generate an

von Oliver P. (mace_de)


Lesenswert?

Danke, so hat's funktioniert.
1
genvar ia,ib;
2
generate
3
for(ia=0;ia<505;ia=ia+8)
4
begin:g1
5
  for(ib=0;ib<8;ib=ib+1) 
6
  begin:g2
7
    assign out[(504-ia)+ib]=temp[ib+ia];
8
  end  
9
end
10
endgenerate

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.