admin 发表于 2018-5-7 09:46:34

关于FPGA的复位



复位管脚
      理论上来说,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的寄存器有自动清零输入端口,用全局时钟可以让寄存器能够“同步”复位,这里的同步是大概同时到达的意思。因为全局时钟信号延迟低,抖动小,信号质量高。


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




muhe51 发表于 2018-5-7 09:57:15

记忆中看过一篇文章是规划一个RAM,配置完成后先读取RAM中的数据作为延时值。
如果单纯规划一个计数器完成延时复位,我个人有个疑问一直没搞透,计数器初值到底是多少。是“”零“”吗。迷惑中。

muhe51 发表于 2018-5-7 10:02:28

C:\Users\Administrator\Desktop\dev.JPG

DEV_CLRn管脚到底应该怎么链接更合理,纠结呀

slsqz 发表于 2018-5-12 16:25:13

长知识!!!
学习到了!!!
谢谢梅哥分享!!!

xiaosong06 发表于 2018-6-18 16:09:24

多积累东西,多花时间,学习学习~~~

平漂流 发表于 2018-6-26 23:16:08

又学到了一个新的知识点,谢谢小梅哥

zhaoxuepeng 发表于 2018-7-8 21:06:21

Test~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

a2165809 发表于 2018-7-8 22:41:48

TEst~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~21412321

zhaoxuepeng 发表于 2018-7-8 22:42:06

图片上传测试图片上图片上传测试图片上传测试图片上传测试图片上传测试传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试图片上传测试

小馬哥 发表于 2018-9-29 22:58:44

按下复位键以后让fpga重新加载配置数据,应该也算是一种复位吧
页: [1] 2
查看完整版本: 关于FPGA的复位