2017-03-22 13 views
0

Ich bin ein Übersetzungsfehler als solche erhalten:Verilog Arithmetic and Logic Unit (ALU) Compilation Fehler

"Fehler (10663): Verilog HDL-Anschluss Anschlussfehler bei jdb_Blogic_v.v (7): Ausgang oder inout Port" f "muss mit einem strukturellen Nettoausdruck verbunden sein"

Ich habe die Zeile mit dem Fehler kommentiert. Ich bin neu bei Verilog und dieser Fehler hindert mich daran, mit dem Projekt fortzufahren.

Ich habe auch den Mux2to1 Funktionscode enthalten.

Dank an jeden, der Hilfe oder Ratschläge geben kann.

module jdb_Blogic_v (FS2_in, FS1_in, B_in, Y_out); 

input FS2_in, FS1_in; 
input [3:0] B_in; 
output reg [3:0] Y_out; 

jdb_mux2to1_v stage0 (B_in[0], FS1_in, FS2_in, Y_out[0]); //ERROR IS HERE ACCORDING TO COMPILER 
jdb_mux2to1_v stage1 (B_in[1], FS1_in, FS2_in, Y_out[1]); 
jdb_mux2to1_v stage2 (B_in[2], FS1_in, FS2_in, Y_out[2]); 
jdb_mux2to1_v stage3 (B_in[3], FS1_in, FS2_in, Y_out[3]); 

endmodule 



module jdb_mux2to1_v (s, x1, x2, f); 

input x1, x2, s; 
output f; 
wire k, g, h; 

not (k, s); 
and (g, k, x1); 
and (h, s, x2); 
or (f, g, h); 

endmodule 

Antwort

0

Ändern Sie die Deklaration von Y_out von output reg [3:0] nur output [3:0]. Dies wird es von einem reg zu einem wire ändern.

Eine Reg kann nur innerhalb einer Prozeduranweisung zugewiesen werden, z. B. einem Always-Block.

+0

Hey, danke, ich konvertierte dies aus einem Verhaltens-Segment, das einen immer Block enthielt und das verpasste. –