发布网友 发布时间:2022-04-21 14:32
共2个回答
热心网友 时间:2023-06-22 07:23
assign表示连续赋值,且被赋值的变量只能是wire型的。
如果变量是reg型的,则只能用在always块内部赋值,例如:
wire [19:0] a;
assign a = 20'b10;
reg [19:0] b;
always@(*)
begin
b = 20'b10;
end追问reg型能在initial中赋值吗?例如:
reg[19:0] b;
initial
begin
b = 20'b10;
end
这样对吗?
追答在initial中赋值的,就是要用reg型的。wire型的要在initial块外部用assign赋值。
热心网友 时间:2023-06-22 07:24
assign相当于一条连线,将表达式右边的电路直接通过wire(线)连接到左边,左边信号必须是wire型。当右边变化了左边立马变化,方便用来描述简单的组合逻辑。
示例:
wire a, b, y;
assign y = a & b;