清霜一梦

用4bit的counter看同步复位与异步复位

0
阅读(1363)

先看看这个同步复位

复制代码

 1 //date: 2013/8/20 2 //designer :pengxiaoen 3  4 module counter_4 ( 5                   clock,reset, 6                         out 7                         ); 8 input reset ,clock; 9 output reg [3:0] out;10 11 always @ (posedge clock)12  if (reset) out <= 4'd0;13  else out <= out+1;14  15  endmodule

复制代码

好,看看RTL里给出来了什么

 

 

 

 

 

再看看异步复位的

复制代码

 1 //date: 2013/8/20 2 //designer :pengxiaoen 3  4 module counter_4 ( 5                   clock,reset, 6                         out 7                         ); 8 input reset ,clock; 9 output reg [3:0] out;10 11 always @ (posedge clock or negedge reset)12  if (!reset) out <= 4'd0;13  else out <= out+1;14  15  endmodule

复制代码

好,看RTL

 

直观

同步复位可以消除部分竞争冒险,可是多用了一个逻辑门,也就是一个两路路选择器

异步复位就是将reset  pin 直接放到D触发器的reset端,节约了一个逻辑门。