触发器触发-同步电路和异步电路异处

前几天写verilog的时候遇到这个问题,以前没有注意到这个问题,真是不应该!

举例:

贴一段很简单的代码

 

module async(clk,rst_n,out);

input clk,rst_n;

output[7:0] out;

reg[7:0] out;

//async

always @(posedge clk or negedge rst_n) begin
if(!rst_n)
out <= 8'h00;
else
out <= out + 1'b1;
end

//sync

//always @(posedge clk) begin
// if(!rst_n)
// out <= 8'h00;
// else
// out <= out + 1'b1;
// end
endmodule

综合出的电路不一样

async

 

sync

 

总结:

在同步和异步电路设计过程中,异步电路,无论处于何种状态,触发器的输出端都会输出复位值,这是由fpga中触发器内部结构所决定的,说到底,复位电路这部分属于组合电路,然而同步设计中sclr只有在上升沿来临时方可进行输出,这种情况下,复位电路属于时序电路。在d触发器电路中pre代表输出1。clrn代表输出0。

转载于:https://www.cnblogs.com/wqs131/p/4233166.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值