module ali16( input clk, input rst_n, input d, output reg dout  ); //*************code***********// //异步复位:复位信号不受系统时钟的控制,可以在任何时候使电路的状态复位 //异步复位信号有效时,第一级触发器会立即复位 reg rst0,rst1; always@(posedge clk&nbs***bsp;negedge rst_n)   if(!rst_n) begin      rst0 <= 0;      rst1 <= 0;   end   else begin     rst0 <= 1;     rst1 <= rst0;   end   //同步释放:复位信号撤销(有效变无效)时,与系统时钟同步进行。避免复位信号的撤销导致电路出现亚稳态。   //异步复位信号撤销时,第一级触发器的输出会在时钟的上升沿(假设是上升沿触发的系统)将这个变化同步到第二级触发器。第二级触发器的输出才是最终用于电路复位后的正常工作状态。 wire rst2=rst1;   always@(posedge clk&nbs***bsp;negedge rst2)     if(!rst2)       dout <= 0;     else        dout <= d;        endmodule
点赞

相关推荐

肥肠椒绿:双非本可不就犯天条了,双非本就应该打入无间地狱
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务