全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

异步复位同步释放问题解析

时间:2023-06-26 16:39

人气:

作者:admin

标签: 异步  问题  复位  同步  释放 

导读:使用 2 个带异步复位的寄存器,D端输入逻辑 1(VCC)。...

(1)异步复位同步释放的优势

图片

(2)D 触发器搭建电路

使用 2 个带异步复位的寄存器,D端输入逻辑 1(VCC)。

当异步复位无效(rst_async_n = 1)时,同步后的复位信号 rst_sync_n 也为 1;

当异步复位有效(rst_async_n = 0)时,同步后的复位信号 rst_sync_n 立刻为 0,即实现了“异步复位”,但是会在时钟上升沿来临时恢复为 1,实现“同步释放”;

(以下图片来自Altera FPGA

图片

第一级触发器的输入 D 接电源,即高电平1’b1。

第一级触发器的输出,很可能存在亚稳态,使用两级触发器做同步。

(3)Verilog 代码

reg rst_n_1 = 1'b1;
reg rst_n_2 = 1'b1;
always @ (posedge clk or negedge rst_async_n) 
begin 
if( !rst_async_n ) begin 
rst_n_1 <= 1'b0;
rst_n_2 <= 1'b0;
end 
else begin 
rst_n_1 <= 1'b1;
rst_n_2 <= rst_n_1;
end 
end 


assign rst_sync_n = rst_n_2;

总结

图片

针对 Altera 的 FPGA ,没有做其他资源消耗时的具体考证,仅从上述来看,确实能够节省一些资源。

针对 Xilinx 的 FPGA

(1)对于同一个触发器逻辑,因为同时支持异步和同步复位,所以异步复位并不会节省资源;

(2)对于其他的资源,比如 DSP48 等,同步复位更加节省资源。

首先,对于 DSP48,其内部还带有一些寄存器(只支持同步复位),如果使用异步复位,则会额外使用外部 Slice 中带异步复位的寄存器,而使用同步复位时,可以利用 DSP48 内部的寄存器;

Xilinx 的 FPGA,对于 DSP48、BRAM 资源,使用同步复位比异步复位更节省资源。

对于【高电平复位】,使用异步复位同步释放,则第一个寄存器的 D 输入是 0,这里使用了 4 个触发器打拍同步。

(参考 Xilinx 白皮书 WP272,【FPGA探索者】公众号回复【wp272】获取)。

图片

异步复位同步释放,既能很快的检测到复位信号,不需要复位保持超过一个时钟周期,又能解决释放时的亚稳态问题(降低亚稳态发生的概率)。

图片

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信