Verilog描述同步复位和异步复位

1,异步复位的实现:

`timescale	1ns/1ns
module d1(	
	input c,
	input d,
	input r,
	output q);	
	
	reg a;
	
	assign q = a;

	always @(posedge c or posedge r)
		if(r)
			a <= 0;
		else
			a <= d;
	
endmodule

 2,同步复位的实现

`timescale	1ns/1ns
module d2(	
	input c,
	input d,
	input r,
	output q);	
	
	reg a;
	
	assign q = a;

	always @(posedge c)
		if(r)
			a <= 0;
		else
			a <= d;
	
endmodule

 

3,总结:

a,其实就是复位信号要不要写到always的敏感表里面的问题了。

b,在Virtex的器件中FDC异步触发器【D Flip-Flop with Asynchronous Clear】,FDR同步触发器【D Flip-Flop with Synchronous Reset】,上面的代码用Synplify或ISE综合一下就可以看出来。

你可能感兴趣的:(C++,c,C#)