数字电路中同步和异步概念

在数字电路中经常有同步、异步的概念。异步指输入信号和时钟无关;同步指输入信号和时钟信号有关,实际上就是输入信号和时钟信号进行了与运算或者与非运算。实际开发中,经常有同步清零、异步清零、同步复位、异步复位等概念,下面就给与相关代码演示。

[plain]  view plain  copy
  1. 同步清零:  
  2. module dff(d,clk,clr,q);  
  3. input d,clk,clr;  
  4. output q;  
  5. reg q;  
  6. always@(posedge clk)  
  7.     if(!clr) q<=0;  
  8.     else q<=d;  
  9. endmodule  
[plain]  view plain  copy
  1. 异步清零:  
  2. module dff(d,clk,clr,q);  
  3. input d,clk,clr;  
  4. output q;  
  5. reg q;  
  6. always@(posedge clk or negedge clr)  
  7.     if(!clr) q<=0;  
  8.     else q<=d;  
  9. endmodule  

事实上,清零(复位)、置数、使能三个信号可以任意选取同步、异步两种方式之一,所以这三个信号可以任意组成八种不同功能的电路,像异步复位、同步置数、异步使能等

你可能感兴趣的:(verilog学习)