张飞实战电子

  论坛   工程师杂谈   关于FPGA的复位
返回列表
查看: 7088|回复: 0
收起左侧

关于FPGA的复位

[复制链接]

42

主题

60

帖子

2844

积分

金牌会员

Rank: 6Rank: 6

积分
2844
发表于 2018-9-30 09:22:40 | 显示全部楼层 |阅读模式
复位管脚
        理论上来说,FPGA器件是没有专用的复位脚的,任何一个通用IO都可以作为FPGA逻辑功能的复位输入。这一点与单片机不同。对于常见的FPGA开发板,可以使用按键来作为复位输入。例如在AC6102开发板上,有5个按键,任意一个都可以作为复位输入,而我们为了使用时的方便,使用右上角的按键作为复位按键比较方便,因为其离另外4个按键距离较远,设计功能时不易与其他按键混淆。用户也可以自行尝试将复位功能设计在另外4个按键上,也都是可以正常工作的。


上电复位实现
        既然上文已经说了FPGA上没有那个管教是专用复位脚,那么当使用某按键作为复位脚时,是否需要加入常见的RC复位元件,以支持上电复位呢?
        实际上没有必要,其一是因为FPGA在完成配置之后有一个初始化过程,这个过程能对我们设置的reset管脚实现上电复位的类似功能。另外从严格意义上来说,FPGA逻辑代码是不能采用这样的常规上电复位思路的。原因在于fpga上电之后要首先进行配置流程,只有配置流程结束后,设计的逻辑功能才会开始运行。我们所说的复位脚,是针对正常运行时的逻辑来说的。然而,从上电到完成配置,最起码要0.5秒,一些大一点的FPGA器件,配置所需时间更长,可能长达几秒钟。一般的RC上电复位电路,时间也都在0.5秒以内,因此使用RC复位电路对于FPGA器件来说,实际上可能没有任何意义。即FPGA不能用外部延时复位电路,因为时间不够,FPGA逻辑还没就绪,上电复位状态就结束了。
        对于fpga来说,要想实现上电复位非常简单,在内部设计一个计数器,计数满就释放复位信号并停止计时即可。


那为啥 一般复位引脚会接在全局时钟引脚上?
         altera的寄存器有自动清零输入端口,用全局时钟可以让寄存器能够“同步”复位,这里的同步是大概同时到达的意思。因为全局时钟信号延迟低,抖动小,信号质量高。


大家有其他的看法,欢迎提出。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

收藏:1 | 帖子:107

有图有真相