如何实现FPGA的非复位处理?不懂,就进来看看!
扫描二维码
随时随地手机看文章
本文中,小编将对FPGA不复位的代码实现予以介绍,如果你想对复位的详细情况有所认识,或者想要增进对复位知识的了解程度,不妨请看以下内容哦。
一、编码实现FPGA的不复位处理
在FPGA设计中,复位是一个基本操作。复位的目的是将FPGA的寄存器清零或赋初值,以确保仿真或正常上板运行时正常,以防止出现不确定的运行状态。
需要注意的是,FPGA中可编程逻辑块和寄存器,可能运行在不同的时钟和状态下,在某些功能突然停止运行时,可能处于未知状态,如果不按照预期的方式进行复位操作,FPGA可能无法正常工作。
根据复位方式的不同,FPGA复位信号可以分为外部复位和内部复位两种,复位信号也要分为高电平复位有效或低电平复位有效。
FPGA复位需要消耗FPGA内部资源,也会影响FPGA布线和时序收敛,所以对于每个寄存器都进行复位并不是最优方案,比如寄存器变量延迟几拍、有使能信号或有效信号控制的信号变量等情况都可以不做复位处理,如下所示:
vivado综合后电路如下:
无复位信号
同步复位
异步复位
以上图中可以看出,没有复位信号的模块中,FDRE型触发器的复位输入接入了地,节省了复位信号的扇出。
二、同步、异步复位
上面提到了同步复位、异步复位,那我们来看下二者的优缺点。
1、同步复位的优缺点
优点:
有利于基于周期的仿真工具的仿真;
有利于静态时序分析工具的分析,可以综合出较高的工作频率;
缺点:
复位依赖于时钟信号,当时钟信号出现故障时,系统将无法正常复位;
占用更多内部逻辑资源,逻辑门时延较高:由于多数逻辑器件的目标库内的D触发器只有异步复位端口,所以综合器在综合同步复位时将在寄存器的输入端口插入组合逻辑;
2、异步复位的优缺点
优点:
节约内部逻辑资源,设计实现简单:由于多数逻辑器件的目标库内的D触发器都有异步复位端口,所以复位端口不需要设计额外的逻辑资源。
缺点:
复位信号对电路内的毛刺敏感,容易受到外界的干扰,出现频繁复位现象;
复位信号异步释放的随机性可能导致时序违规,当复位信号释放在时钟有效沿附近时,触发器输出可能处于亚稳态,导致复位操作失败;
最后,小编诚心感谢大家的阅读。你们的每一次阅读,对小编来说都是莫大的鼓励和鼓舞。最后的最后,祝大家有个精彩的一天。