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综合一下就可以看出来。