1
我正在嘗試生成128個parellel XOR門,然後將它們的輸出連接到Verilog中的64個XOR門。我使用準備名爲「EXOR」的模塊。我的問題是:當我把這個模塊「EXOR」放到循環中時,程序給出語法錯誤「意外標記:'EXOR'」。我想命名大門exor0,exor1,...。如何在Verilog的循環中使用準備好的模塊?
我該如何解決?
initial begin
for (i=0; i<128 ; i=i +1)
EXOR exor[i](.I1(m[2*i]), .I2(m[2*i+1]), .o(t[i]));
end
initial begin
for (i=0; i<64 ; i=i +1)
EXOR exor[i+128](.I1(t[2*i]), .I2(t[2*i+1]), .o(f[i]));
end
initial begin
for (i=0; i<32 ; i=i +1)
EXOR exor[i+192](.I1(f[2*i]), .I2(f[2*i+1]), .o(g[i]));
end
生成語句時,不能將實例化放在初始或總是@塊中 – Morgan
爲什麼在已有原生基元'xor'時創建EXOR模塊?這是否需要像大門一樣完成?作爲行爲會更容易,例如:對於(i = 0; i <128; i = i + 1)t [i] = m [2 * i]^m [2 * i + 1] – Greg