Verilog中的输入端口可以是reg类型吗?

时间:2018-06-22 12:06:57

标签: verilog

在我的教科书中,有一个侧面说明,输入或输入端口永远不能用作reg,因为这将导致端口中的“ x”永久存在。但是,当我使用将输入端口设置为reg类型的AND门编写代码时,效果很好。

与门:

//AND Gate

`timescale 1ns/100ps
module test(output C, input reg A,B);
assign C = A & B;
endmodule 

测试台:

//AND GATE TEST BENCH
`timescale 1ns/100ps


module AND_tb;

//Declaring Variables
wire Cwatch;
reg [1:0] stim;

initial begin
#1 stim = 2'b00;
#1 stim = 2'b01;
#1 stim = 2'b10;
#1 stim = 2'b11;
#1 $stop;
end

test AND_1 (
.C(Cwatch),
.A(stim[0]), 
.B(stim[1])
);
endmodule 

这是paragraph from the textbook

1 个答案:

答案 0 :(得分:0)

您还没有告诉您使用哪个模拟器。

但是,是的,我还注意到某些模拟器对定义为“ reg”的输入没有问题。我认为这是模拟器的特质。

但是,一旦您尝试进行合成, 1 可能会失败。

1:我还没有找到一个接受input reg的综合工具,但是我还没有尝试所有现有的工具。