FPGA和单片机的区别——FPGA里面都有什么资源?

2020-01-30 16:30发布


111.jpg
做以单片机为平台的项目能够根据功能需求,合理选择单片机型号,说明对单片机的资源是熟悉的。知道单片机的内部资源无非就是定时器,ADC,以及各种通信协议接口,以及单片机FLASH内存大小,RAM大小等等。往往资源越多功能越多,性能越好。我们程序要做的事情无非就是根据功能需要设置各个寄存器初始化,然后跑功能逻辑。


那FPGA呢,只知道里面有各种逻辑门,触发器。还有其他的不清楚。我对FPGA的理解就是:FPGA就相当于有很多个74系列的逻辑芯片被集成在一个芯片里面。并且这些逻辑芯片之间相互是没有电气连接关系的,而通过硬件描述语言,加上厂家的编译器,容易被人理解的程序代码(比如Verilog)最终会被自动转换成最优的硬件原理图,然后生成对应配置FPGA芯片的数据流,这些数据流其实就是指定FPGA内部各个逻辑门之间的电气连接关系。

简单的来说就是用硬件描述语言来对电路进行描述,这样就不需要很多的器件来搭电路。

那么问题来了,FPGA里面到底究竟都有哪些基本的东西呢?比如各种逻辑门,触发器,还有什么呢?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
FAQ
1楼-- · 2020-01-30 18:30
另外在不带flash程序保存功能fpga里面只有ram吧,这样开发阶段的时候FPGA芯片直接读取ram中的数据流对芯片内的逻辑门进行电气连接。另外中间变量应该是保存在锁存器中不是在ram中吧,ram好像只有保存配置程序流的作用吧。
mcu5i51
2楼-- · 2020-01-30 21:24
一般的FPGA只有RAM,电路门功能也是RAM中的数据决定的,名字就是查找表;不过上电时会通过外部的E2P加载代码;部分是FLASH的不用这个过程;
FPGA的资源,除了基本的单元LE,RAM之类的,一般会有PLL,乘法器等,有的还有CPU核;
mcu用的多了就可以预测一下一个东东的资源用量,FPGA也是一样的,做什么东西,大约用多少个门,要用那些资源,多了就会有一些评估了;
zhangmangui
3楼-- · 2020-01-30 21:31
 精彩回答 2  元偷偷看……
FAQ
4楼-- · 2020-01-30 21:44
mcu5i51 发表于 2019-1-16 22:28
一般的FPGA只有RAM,电路门功能也是RAM中的数据决定的,名字就是查找表;不过上电时会通过外部的E2P加载代 ...

mcu用的多了就可以预测一下一个东东的资源用量,FPGA也是一样的,做什么东西,大约用多少个门,要用那些资源,多了就会有一些评估了;

-----------------------------------------------------------------------------
这个怎么预测,是不是类似单片机那样,比如我写过串口程序,就会知道串口初始化部分需要占用大概多少字节的flash空间。这样项目做多了,心中留有印象,自然知道各种资源组合到一起大概需要多少flash空间。

迁移到FPGA该怎么看,应该是直接看编译报告吧。

222.jpg

FAQ
5楼-- · 2020-01-31 01:59
看了下资源表,Embedded memory这个参数不明白是什么意思。这究竟指的是什么是指类似单片机里面的ram吗,什么数据会被保存在这个区域?定义是reg,memory型变量会被保存在里面?好像reg对应硬件直接都是锁存器吧。还有配置数据流(比如调试时候的断电即消失的配置数据流)是在Embedded memory里面吗?


另外PLL应该和cortex M ARM单片机里面的锁相环差不多吧。

333.jpg


mcu5i51
6楼-- · 2020-01-31 05:43
你就当是内存吧,不是查找表的内存,这个是内存块,4K.9K之类的;如果你要用内存做缓冲之类的就可以拿来用;
一般的reg就是一个锁存器,不过FPGA内部会有一些硬件的内存供你使用,这样比用门成本低一些,就像内部有用硬件的18*18乘法器,你就不用自己写一样;
自己写的东西是用内部的门组成的,fpga中的门是多输入的内存组成,相比用集成工艺的门电路要繁琐,这样用电路在内部做好常用的功能块会经济好多,速度也会更快

一周热门 更多>