hjfncut的个人空间 https://blog.eetop.cn/1403 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

同步复位与异步复位(转载)

热度 1已有 1268 次阅读| 2013-11-27 21:39 |个人分类:RTL design

   复位电路是每个数字逻辑电路的重要组成部分之一。复位的目的有二个方面:
1、仿真的时候使电路进入初始状态或者其他预知状态。
2、对于综合实现的真实电路,通过复位使电路进入初始状态或者其他预知状态。
复位方式大致分为二类: 同步复位和异步复位

(一)同步复位
指定同步复位时,always的敏感表中仅有时钟沿信号,仅仅当时钟沿采到同步复位的有效电平时,才会有时钟沿到达时刻进行复位操作。
always @ (posedge clk)
if (!rst_n)
begin
……
end
else
begin
……
end
优点: 同步复位仅在时钟的有效沿生效,可以有效的避免因复位电路毛刺造成的亚稳态和错误。
缺点:1.很多触发器本身并不包含同步复位端口,使用同步复位会增加更多逻辑资源
2.同步复位的最大问题在于必须保证复位信号的有效时间足够长,从而才能保证所有触发器都有效地复位。

(二)异步复位
指定异步复位时,只需在always的敏感表中加入复位信号的有效沿即可,当复位信号有效沿到达时,
无论时钟沿是否有效,复位立刻发挥功能。
always @ (posedge clk or negedge rst_n)
if (!rst_n)
begin
……
end
else
begin
……
end
优点:大多数触发器都包含异步复位端口,异步复位会节约逻辑资源,并且异步复位设计简单。
缺点:异步复位逻辑树的组合逻辑易产生毛刺,毛刺的有效沿会触发异步复位,造成逻辑错误。

(三)异步复位,同步释放
推荐的复位电路方式是异步复位,同步释放,这种方式可以有效地继承异步复位设计简单的优势,并克服异步复位的上述不足。
reg reset_reg;
always @ (posedge clk)
reset_reg <= rst_n;
always @ (posedge clk or negedge reset_reg)
if (!reset_reg)
begin
……
end
else
begin
……
end

点赞

发表评论 评论 (1 个评论)

回复 后知后睡 2021-9-15 15:14
xuedaole

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 2

    评论
  • 346

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 13:13 , Processed in 0.016309 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部