时序和组合的混合逻辑——使用非阻塞赋值
- 1,在一个always块中同时实现组合逻辑和时序逻辑
- 2,将组合和时序逻辑分别写入两个always块中
 
 
原则4:在同一个always块中描述时序和组合逻辑混合电路时,用非阻塞赋值。
1,在一个always块中同时实现组合逻辑和时序逻辑
将简单的组合逻辑和时序逻辑写在一起很方便。
当把组合逻辑额时序逻辑写入到一个always块中时,应遵从时序逻辑建模的原则,使用非阻塞赋值。
module	nbex2(q, a, b, clk, rst_n);
output		q;
input		clk, rst_n;
input		a, b;
reg			q;always@(posedge clk or negedge rst_n)	if(!rst_n)q	<= 1'b0;	// 时序逻辑elseq	<= a ^ b;	// 异或,组合逻辑
endmodule
2,将组合和时序逻辑分别写入两个always块中
module nbex1(q, a, b, clk, rst_n);
output		q;
input		clk, rst_n;
input		a, b;
reg			q, y;always@(a or b)y = a ^ b;always@(posedge clk or negedge rst_n)if(!rst_n)q	<= 1'b0;else q	<= y;
endmodule