随着微控制器的日益普及,工程师比FPGA使用的微控制器更多。该微控制器已成为超显性FPGA,因为他们的成本低廉,良好的支持,很容易获得,大型社区,通用性强,编程等,但比其他的微处理器有一些限制,例如设定的指令,程序顺序执行(顺序处理)但是,FPGA可以克服这些限制,因为FPGA具有并行执行程序的功能,并且灵活且可重复使用,意味着可以针对不同的任务反复进行编程。
什么是FPGA及其与微控制器的区别
甲现场可编程门阵列是集成电路的硅芯片,其具有逻辑门的阵列和该阵列可以在现场被编程即,用户可以覆盖其新定义的配置现有配置并可以创建字段自己的数字电路。FPGA可以视为空白。FPGA本身不执行任何操作,而由设计人员来创建通常称为FPGA的位文件的配置文件。一旦装载了位文件,FPGA的行为将类似于数字电路。
而在微控制器中,情况并非如此,因为无法在现场对微控制器进行编程或重组。用户既不能覆盖其现有配置,也不能在现场创建任何数字电路。这些微控制器易于编程,社区也很广泛。这些微控制器是定制的微型计算机,它们以IC形式出现,而FPGA仅包含可以再次电连接的逻辑块。同样在微控制器方面,它比FPGA消耗更少的功率。FPGA的成本很高,并且在构建任何设备时比微控制器需要更多的成本。在为特定应用轻松构建微控制器的同时,FPGA的建立时间要多得多。
FPGA架构
FPGA具有逻辑单元或模块和互连的规则结构,在开发人员和设计人员的完全控制下。FPGA主要由三个主要模块构成,例如可配置逻辑模块(CLB),I / O模块或焊盘以及开关矩阵/互连线。每个块将在下面简要讨论。
- CLB(可配置逻辑块):这些是FPGA的基本单元。它由一个8位函数发生器,两个16位函数发生器,两个寄存器(触发器或锁存器)和可重新编程的路由控制(多路复用器)组成。CLB用于实现其他设计的功能和宏。每个CLB在每一侧都有输入,这使它们可以灵活地用于逻辑的映射和分区。
- I / O板或模块:输入/输出板用于外部外设,以访问FPGA的功能,并且使用I / O板,它还可以与FPGA进行通信,以用于使用不同外设的不同应用。
- 开关矩阵/互连线:开关矩阵用于FPGA中,以灵活的组合方式将长短互连线连接在一起。它还包含用于打开/关闭不同线路之间连接的晶体管。
需要FPGA时
如上所述,微控制器有一定的局限性,不能用于并行执行任务,因为微控制器和微处理器按顺序执行程序运行,这使得它在某些应用中有点慢,在这种情况下,FPGA具有优势,可以有效使用。而且,微控制器还可以执行有限的任务,因为它们带有指令及其电路。程序员在开发代码时必须遵守这些限制。因此,在这种情况下,FPGA也具有优势。
但是,对于微控制器,处理器从一种代码切换到另一种代码,以实现某种程度的并行性。您会发现在微控制器上编写代码比在FPGA上编写代码容易。FPGA的并行处理能力使您能够通过使用有限状态机(FSM)有效地控制中断。
对于微控制器,您必须考虑ISR解决中断所花费的时间。您只需重新编程就可以轻松地重新连接FPGA。接通电源后,FPGA中的配置会加载到可配置的逻辑单元上。
您无需对硬件进行任何更改即可对FPGA进行重新编程。FPGA适用于并行数据的高速处理,并且具有高度可定制性。但是,它们也具有原型操作和配置复杂的缺点。因此,可以选择具有微控制器优势的FPGA。让我们开始FPGA编程并强调