组合逻辑与时序逻辑的区别:组合逻辑中没有记忆(存储)单元,输出只与当前时刻的输入有关;
时序逻辑中有存储反馈单元,输出不仅与当前时刻输入有关,还与前一时刻的状态有关。
时序电路 = 组合电路 + 触发器
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图:
代码:
module aaa (
input clk,
input in,
output reg out);
reg d;
always@(posedge clk) begin
d <= in ^ out;
out <= d;
end
endmodule
非阻塞赋值只能用在时序逻辑中。