HDLbits Day9组合逻辑vs时序逻辑 阻塞赋值vs非阻塞赋值

组合逻辑与时序逻辑的区别:组合逻辑中没有记忆(存储)单元,输出只与当前时刻的输入有关;
时序逻辑中有存储反馈单元,输出不仅与当前时刻输入有关,还与前一时刻的状态有关。
时序电路 = 组合电路 + 触发器
HDLbits Day9组合逻辑vs时序逻辑 阻塞赋值vs非阻塞赋值_第1张图片
d是由in和out异或而得,很显然这里是组合逻辑。

module top_module (
    input clk,
    input in, 
    output out);
    wire d;
   assign  d = in ^ out;
    always@(posedge clk) begin
    
        out <= d;
    end
endmodule

若放在时序逻辑里,综合出来的RTL图:
HDLbits Day9组合逻辑vs时序逻辑 阻塞赋值vs非阻塞赋值_第2张图片
代码:

module aaa (
    input clk,
    input in, 
    output reg out);
    reg d;

    always@(posedge clk) begin
      d <= in ^ out;
        out <= d;
    end
endmodule

非阻塞赋值只能用在时序逻辑中。

你可能感兴趣的:(HDLbits Day9组合逻辑vs时序逻辑 阻塞赋值vs非阻塞赋值)