如何理解FPGA中存放程序的RAM?
1个回答
展开全部
FPGA内部的RAM分为两部分,一部分就是你的分布式的RAM,用于LUT,还有一种是块ram(BLOCK RAM)是一块用于存储数据的专用RAM,也就是你的系统设计中需要用到容量较大的数据储存区域(比如FIFO,SRAM等)。
FPGA实现逻辑功能就是通过LUT来的,LUT最重要的部分就是RAM,用来保存你的设计转换成的真值表。比如你有4个输入,那么这4个输入产生的组合逻辑结果最多也就是2的4次方16种结果,FPGA把这个16种结果分别对应4个输入地址,输入产生一个4位地址,就在RAM里面找到对应的结果,从而输出相应的结果。
你的理解基本正确,用于LUT的RAM不是在一起的,而是分布式的。另外有一块大的RAM用于系统设计的。
这些ram里面的数据掉电后都会丢失,这也是FPGA和CPLD的区别,FPGA每次上电都要从外部的FLASH或者在线下载BIT流到 内部的RAM里面去。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询