我想在一個模塊中分割一個verilog程序,該模塊將從頂部調用。 這是一個顯示輸出和每一位的計數器。Verilog model sim
module file1(output reg b3,
output reg b2,
output reg b1,
output reg b0,
output reg[3:0]y);
reg clock;
initial begin
clock=0;
b0=0;
b1=0;
b2=0;
b3=0;
y=0;
forever #5 clock= ~clock;
end
always @(posedge clock)
begin
y=y+1;
b0=y[0];
b1=y[1];
b2=y[2];
b3=y[3];
end
endmodule
這就是我如何將程序拆分到top調用的模塊中。 MODULE
module modul(input reg clock,
output reg b3,
output reg b2,
output reg b1,
output reg b0,
output reg[3:0]y
);
always @(posedge clock)
begin
y=y+1;
b0=y[0];
b1=y[1];
b2=y[2];
b3=y[3];
end
endmodule
TOP
`timescale 1ns/1ps
module testare_modul;
reg clock; wire clock1;
reg b3;
reg b2;
reg b1;
reg b0;
reg [3:0]y;
modul lol(
.clock(clock),
.y(y),
.b3(b3),
.b2(b2),
.b1(b1),
.b0(b0)
);
initial begin
clock=0;
b0=0;
b1=0;
b2=0;
b3=0;
y=0;
forever #5 clock= ~clock;
end
endmodule
我有0個錯誤compilling的時候,但是當我試圖模仿我得到非法輸出或INOUT端口connection.I是新來的這些語言,我會感激你的幫助很多!