关于FPGA的工作过程
已经知道FPGA在上电配置过程中会经历大约四个过程,即配置RAM清空过程、初始化过程、配置数据导入FPGA内部SRAM的过程、以及FPGA启动工作过程等。经历了这四个过程后,FPGA也就根据IO的输入进行工作。一般的书上讲到这儿也就结束了。
关于内部结构,也只是讲到FPGA是基于SRAM制造的,再进一步的呢?基于SRAM又是怎么工作的呢?
因此,我的问题是,在FPGA已经工作起来后,FPGA是如何保证和维持其工作状态的呢?我的猜想是:在FPGA的内部有一个类似于控制器的单元,由它定期维护SRAM的数据。
请有过如此考虑的XDJM给解释下的哈
谢谢
类似于定期刷新充电吧,
我们主要知道怎么会它,如何更好地用它即可,
SRAM LATCH,研究一下锁存器的知识吧。
FPGA没必要了解这个。
FPGA的发展就是为了不让你了解这些物理层的东西。你还偏偏要了解清楚。滴汗。
1. 在FPGA中, 存放bitstream的SRAM cell, 據我的了解, 主要功能是:
a. 用於routing的開關; 藉此將本來獨立的function blocks(LUT, registers, etc.)連結起來
b. 用於配置LUT, 使其形成某種功能
2. 既然是SRAM, 就沒有類似DRAM需要refresh的過程. 只要供給的電源工作正常, 裡頭bitstream內容就應該要能夠維持.
3. 在一些特殊應用場合(例如: 軍事 航天), FPGA裡頭的SRAM cell可能會因為輻射的干擾而變化, 導致功能失效. 因此為了防止失效, 這類的FPGA都會針對輻射來做特殊的保護機制
FPGA加载进去之后,每个可编程单元相当于有一个MUX开关,加载文件就是对每一个这样的开关进行设置,理解这一点,对做设计已经可以了。
呵呵。我还没有开始考虑
建议找个fpga的用户手册看看。里面有介绍结构的部分。或许会对你有帮助
感謝hyperpicc的解释,
如此说,是否可做如下的理解了?
FPGA底层的是基于LUT(我理解为RAM),而为了能告诉LUT具体是怎么工作的,换句话说LUT的真值表是什么则由FPGA的配置数据来决定;配置数据存放于内部的sram之中。
接楼上的问题。在FPGA进行数据加载的过程中,进行了CRC的校验,保证了加载到内部SRAM的数据和配置芯片相同,但在运行过程中是否会进行校验呢?
这个问题好,我也想过找过答案,但书上说的不清楚,有必要弄清楚
crc检验是数据传输过程所需要的,FPGA运行怎么要CRC?
6楼说的不错