Xilinx FPGA 复位信号知识点

1、疑惑的几个知识点:

a:复位信号是该高复位还是低复位,两者有何差异?

b:同步复位和异步复位有何不同?

c:异步复位如何同步化?

(原始代码:Syn_Asy_Rst.v)

2、知识点解惑:

a:首先得明确一点就是复位信号只针对时序器件存在,LUT就不存在复位之说(本实验只针对D触发器而言)。对于Xilinx和Altera不同厂家的芯片内部触发器可能有不同设计,本文只研究了Xilinx 的FPGA(Altera的芯片之后可以研究对比一下)FF进行研究。

实验环境:软件平台:vivado 2017.2

同样的代码功能(代码:Syn_Asy_Rst.v),只是改变高复位和低复位,具体综合结果如下:

Xilinx FPGA 复位信号知识点_第1张图片 高电平复位
Xilinx FPGA 复位信号知识点_第2张图片 低电平复位

总结:通过综合结果可以看出低电平复位会多消耗一个LUT,究其原因这是应为Xilinx使用的触发器复位管脚都是高电平有效的,所以如果使用低电平复位就会使用反相器进行处理。其实具体原因在Xilinx官网手册也可以找到。

Xilinx FPGA 复位信号知识点_第3张图片

b:同步复位和异步复位对比

实验环境:软件平台:vivado 2017.2

同样的代码功能(代码:Syn_Asy_Rst.v),只是改变同步复位和异步复位,具体综合结果如下:

Xilinx FPGA 复位信号知识点_第4张图片 高电平同步复位
Xilinx FPGA 复位信号知识点_第5张图片 高电平异步复位

总结:通过综合结果可以看出异步复位和同步复位的不同,不同情况下Xilinx FPGA使用了不同的触发器,没有增加额外的元器件。

c:异步复位信号同步化,可以参考另外一篇博文《FPGA 复位信号设计》。最简单的就是将PLL核输出的locked作为系统异步复位信号,但是在不同时钟模块使用时,必须进行异步信号同步化处理(跨时钟域处理,但是不需要额外的寄存器进行打拍,只需要同步化一下即可)。

 

你可能感兴趣的:(FPGA知识点)