// wire 的一些正确使用
wire A,B,C,D,E ; //1-bit wide
wire [8:0] Wide; //9-bit
assign A= B & C;
always @(B or C)
begin
I=B | C;
end
mymodule mymodule_instance(.In(D),Out(E));
reg(组合和时序逻辑)
reg 和 wire类似,但它可以用来存储信息(状态),就像寄存器
reg可以连接到模块实例化的输入端口;
reg 不能连接到模块实例化的输出端口;
reg 可以用作实际模块声明中的输出;
reg 不能 用作实际模块声明中的输入;
reg是always 模块中 = 或者 <= 左侧的唯一正确类型;
reg是initial模块中 = 左侧唯一的合法类型;
reg**不能用在assign的左边**;
reg 当与always @(posedge Clock)块结合使用时,reg可用于创建寄存器。
//reg一些合法使用
wire A,B;
reg I,J,K; // 1-bit
reg [8:0] Wide; // 9-bit
always @(A or B) begin
I=A | B; // using a reg as the left - hand side of an always
initial begin // using a reg in an initial block
J=1'b1;
#1
J=1'b0;
end
always @(posedge Clock) begin
// using a reg to create a positive -edge - triggered register
K<=I;
end