首页 > 技术 > 内容

Xilinx FPGA异步复位同步释放—同步后的复位该当作同步复位还是异步复位?

时间:2026-01-17  作者:Diven  阅读:0

Xilinx 复位准则 :

(1)尽量少使用复位,特别是少用全局复位,能不用复位就不用,一定要用复位的使用局部复位;

(2)如果必须要复位,在同步和异步复位上,则尽量使用同步复位,一定要用异步复位的地方,采用“异步复位、同步释放”;

(3)复位电平选择高电平复位;

(这里说明,由于 Altera 和 Xilinx 器件内部结构的不同,Altera 的 FPGA 推荐低电平复位)

一、异步复位同步释放

针对异步复位、同步释放,一直没搞明白在使用同步化以后的复位信号时,到底是使用同步复位还是异步复位?

比如针对输入的异步复位信号rst,使用本地时钟clk将其同步化以后得到一个新的复位信号sys_rst, 当使用sys_rst时,是将sys_rst作为同步复位信号还是异步复位信号 ?

always @(posedge clk or posedge rst)begin if(rst)begin rst_r0 <= 1'b1; rst_r1 <= 1'b1; end else begin rst_r0 <= 1'b0; rst_r1 <= rst_r0; endendassign sys_rst = rst_r1;

如下图所示,选方式1还是方式2?针对此问题查找了很多资料,网络上多是将sys_rst继续按照方式1异步复位使用,如图所示:对于输入的异步复位Asynchronous Reset,首先 使用了4个触发器来做同步(一般用2个即可,4个出现亚稳态的概率更小) ,触发器类型为FDP(异步置位),同步化以后的复位信号去使用时综合出的触发器类型为FDR(同步复位),即 在Xilinx中是将sys_rst按照方式2同步复位使用 。

使用FDP异步置位的原因是因为Xilinx推荐高电平复位,当异步复位信号到来时,输出复位电平“1”,即异步置位FDP,当复位消失后,D触发器在每个时钟边沿输出前一级触发器的值,一定周期后,最后一级的FDP稳定输出“0”。

使用Xilinx A7系列FPGA实现异步复位、同步释放代码,确定同步化后的复位使用情况。

二、Xilinx复位程序对比

将同步化后的复位当作异步复位信号

 always @(posedge clk or posedge rst_async)begin if(rst_async == 1'b1) begin rst_sync_reg1 <= 1'b1; rst_sync_reg2 <= 1'b1; rst_sync_reg3 <= 1'b1; rst_sync_reg4 <= 1'b1; end else begin rst_sync_reg1 <= 1'b0; rst_sync_reg2 <= rst_sync_reg1; rst_sync_reg3 <= rst_sync_reg2; rst_sync_reg4 <= rst_sync_reg3; endend wire sys_rst;assign sys_rst = rst_sync_reg4;always @(posedge clk)begin if(sys_rst == 1'b1) begin data_out_rst_async <= 1'b0; end else begin data_out_rst_async <= a & b & c & d; endend

综合并布局布线后的原理图如图所示,显然,综合后对sys_rst复位,将其作为异步复位综合出 FDCE同步使能异步复位 (这里不考虑使能),和白皮书WP272给出的参考电路显然不一致。

原语(Primitive)功能描述
FDCE同步使能,异步复位
FDRE同步使能,同步复位
FDPE同步使能,异步置位
FDSE同步使能,同步置位

将同步化后的复位当作同步复位信号

 always @(posedge clk or posedge rst_async)begin if(rst_async == 1'b1) begin rst_sync_reg1 <= 1'b1; rst_sync_reg2 <= 1'b1; rst_sync_reg3 <= 1'b1; rst_sync_reg4 <= 1'b1; end else begin rst_sync_reg1 <= 1'b0; rst_sync_reg2 <= rst_sync_reg1; rst_sync_reg3 <= rst_sync_reg2; rst_sync_reg4 <= rst_sync_reg3; endend wire sys_rst;assign sys_rst = rst_sync_reg4;always @(posedge clk)begin if(sys_rst == 1'b1) begin data_out_rst_async <= 1'b0; end else begin data_out_rst_async <= a & b & c & d; endend

综合并布局布线后的原理图如图所示,显然,综合后对sys_rst复位,将其作为同步复位综合出 FDRE同步使能异步复位 (这里不考虑使能),和白皮书WP272给出的参考电路一致。异步复位相比较同步复位,在Xilinx的FPGA中资源是一致的,异步复位的优势在于复位信号一来就能检测到,不需要保持至少一个时钟周期才能在时钟边沿检测到, 通过仿真来验证上述电路是否能实现异步复位一来就能检测到 。

三、仿真结果

设置时钟50MHz,时钟周期20ns,给一个持续时间3ns的异步复位信号,且持续时间均不出现在时钟上升沿检测期间,可以看到:

(1)rst_async异步复位一旦给出,用于同步的4个寄存器rst_sync_reg1~4立刻输出高电平“1”,在下一个时钟上升沿检测到同步复位并将输出data_out_rst_async复位;

(2)异步复位信号释放后,经过同步的sys_rst经过一定周期后在时钟边沿同步释放;按照同样的复位,将sys_rst看作异步复位,仿真结果如下,相比于上图,区别在于异步复位信号rst_async一旦产生,输出立刻复位,且同样是同步释放,好像这种处理才更符合异步复位、同步释放。。。。。。那么为什么Xilinx白皮书还是将sys_rst按照同步复位去做的呢?难道写错了?

综合考虑可能有这样的因素:

(1)当作同步复位的差别只在于复位时间会稍晚一些,要在时钟的下一个边沿检测到,但是还是能够识别到输入的rst_async异步复位信号,所以从复位角度来说,都能够后实现复位效果;

(2)根据Xilinx复位准则,我们知道同步复位相比异步复位有很多好处,既然两者对后级复位没有功能上的差别,那么优先选择同步复位;

经过异步复位同步释放处理后,相比于纯粹的异步复位,降低了异步复位信号释放导致亚稳态的可能性;相比同步复位,能够识别到同步复位中检测不到的复位信号(如上图所示的rst_async在同步复位是检测不到的);综合两者的优势,异步复位同步释放。

四、Altera复位

Altera还是把这个同步后的复位当作异步复位来用的,且推荐低电平复位。

从上面的分析来看,这里当作异步复位还是同步复位对于复位结果本身没有太大的影响,区别在于 Xilinx是推荐同步复位来节省资源 (比如DSP48E或BRAM,异步复位比同步复位耗资源),而Altera的FPGA中带异步复位的触发器,想要同步复位需要消耗更多的资源。

猜您喜欢


引言直方图统计在图像增强和目标检测领域有重要应用,比如直方图均衡,梯度直方图。直方图的不同种类和统计方法请见之前的文章。本章就是用FPGA来进行直方图的计算,...
2019-04-20 10:47:00
贴片电阻作为电子元器件中的基础元件,其体积规格和性能参数越来越受到关注。ROHM(罗姆)作为全球知名的电子元件制造商,其贴片电阻因质量稳定、性能优良而广受市场欢...
2013-02-13 06:55:49
合金电阻作为关键的电子元器件,其性能参数和品牌选择越来越受到关注。风华高科(FH)作为国内领先的电子元器件制造企业,其合金电阻产品凭借稳定的质量和优异的性能,赢...
2015-12-25 00:38:14
在选择面板开关和面板插座时,了解其参数非常重要。额定电压是关键指标,通常为220V,确保与家庭电源匹配。额定电流,常见的有10A、16A等,决定了设备的负载能力...
2022-12-10 00:00:00
现代电子设备中,连接器的质量与性能往往直接影响到整体产品的可靠性与用户体验。TERMINAL_40.64X10.65MM作为新型连接器,凭借其出色的设计与功能特...
2025-04-21 04:01:14
贴片电阻是电子电路中不可或缺的元件,选择合适的阻值至关重要。这份常规贴片电阻阻值表旨在帮助您快速找到所需的电阻值。常见的贴片电阻封装尺寸包括0201、0402、...
2025-04-14 15:03:47
梅花螺丝批是应用于各个领域的工具,其独特的梅花头设计使其在拧紧和松动螺丝时更加稳固和高效。在家居装修中,梅花螺丝批常用于安装家具、固定电器等,帮助用户轻松完成各...
2011-09-02 00:00:00
电阻器是基础且关键的元件。作为知名品牌,Kyocera(京瓷)生产的铝壳电阻因其优异的性能和稳定的品质,应用于各种电子设备中。本文将围绕Kyocera铝壳电阻的...
2017-04-11 08:07:30
电子元器件中,贴片电阻体积小、功耗低等特点,被应用于各种电子设备中。正确识别贴片电阻的参数,对于电路设计和元器件的替换非常重要。本文将介绍几种常见的贴片电阻识别...
2025-04-14 09:00:40
贴片电阻,作为电子电路中不可或缺的元件,其型号标注蕴含着丰富的阻值、精度等信息。理解这些标注,对于正确选择和使用电阻至关重要。常见的贴片电阻型号采用三位或四位数...
2024-11-26 11:29:45