MCU工程师需要了解的FPGA硬件属性

事实上,     MCU   对有些任务来说是很适合的,但对其它一些任务来说可能做的并不好。举例来说,当需要并行执行大量计算任务时,     FPGA   可能会让你喜出望外。

如果我们进一步放大,我们可以看到,每个可编程模块都包含有许多数字功能。在这个例子中,我们可以见到一个三输入的查找表(LUT)、一个复用器和一个     触发器   ,但重要的是我们要认识到,这些功能的数量和类型对不同系列的FPGA来说是会变化的。

触发器可以被配置(编程)为     寄存器       锁   存器;复用器可以被配置为选择一个到逻辑块的输入或LUT的输出;LUT可以被配置为代表任何所要求的逻辑功能。在实际应用中,即使最简单的FPGA都会使用四输入LUT,而一些更大更复杂的器件甚至会宣称使用六、七或八输入的LUT,但为了简单起见,我们还是讨论三输入版本。

 MCU工程师需要了解的FPGA硬件属性_设计制作_可编程逻辑

我们会在以后的文章中讨论各种类型的FPGA实现技术。现在我们只需要知道,FPGA内部的可编程单元可以用反熔丝、闪存单元或S     RAM   内存单元来实现。先让我们看一个用反熔丝技术创建的FPGA吧。这是一种一次性可编程(OTP)技术,这意味着一旦你编程了这个FPGA,它将永远保持这个状态而不再改变。

对基于反熔丝技术的FPGA来说,     编程器   件相当于通过“硬件连线”将第一组复用器的输入连接到实现目标逻辑功能所需的正确0或1值。我们使用这个LUT实现了前面那张图隐含的公式y=(a & b)|c。在实际应用中,复用器可以用     场效应管   的分支“树”来实现,但我们在这里真的不用担心最底层的实现细节。另外一种非常常见的FPGA实现技术是使用SRAM配置单元。同样,我们会在以后的文章中讨论更多的细节。这里我们所要知道的仅是当     电路板   第一次上电时,基于SRAM的FPGA会加载配置信息(我们可以把这个过程想像为器件的编程)。

我没有显示0和1被加载进SRAM单元的那种机制,因为我不想让问题变得复杂。出于这次讨论的目的,我们真的无需担心这种“魔术”是如何发生的。我在这里唯一要提的事(给你考虑的空间)是—使用一种被称为部分再配置的技术—FPGA的一部分可以发起对另一部分进行再配置(当然反过来也行)。对于具有微控制器和/或软件背景的读者来说,我们可以将这种技术想象为相当于自我修改代码的硬件。这意味着这种技术是非常非常强大的,但也会带来很难隔离和调试的问题。

FPGA器件还包含有通用的输入/输出(G     PI   O)引脚和焊盘。通过配置单元,FPGA器件内的互连部分可以被编程为这样:将器件的主输入连接到一个或多个可编程逻辑块的输入。任何逻辑块的输出也可以用来驱动任何其它逻辑块的输入和/或FPGA器件的主输出。另外,GPIO引脚可以被配置为支持种类广泛的     I/O   标准,包括电压、终端     阻抗   、摆率等。

 MCU工程师需要了解的FPGA硬件属性_设计制作_可编程逻辑

世界上第一块FPGA与本文中讨论的架构非常类似。这块FPGA就是     赛灵思   公司在1985年推出的XC2064(是用2um工艺节点     制造   的),它包含有8×8=64的逻辑块阵列,每个逻辑块包含一个四输入LUT和其它一些简单功能。从那以后,FPGA发展势不可挡,正像我们看到的那样,更为复杂的FPGA架构

如果某个逻辑功能(比方说计数器)是用FPGA的可编程构造实现的,那么这个功能可以被说成“软功能”。相比之下,如果某个功能是直接用芯片实现的,则被说成“硬功能”。(随着这些功能变得越来越大越来越复杂,我们一般称它们为内核)。软内核的优势在于,你可以让它们做你想让它们做的任何事。硬内核的优势是它们占用较少的硅片面积,具有较高的性能,并且功耗较低。最优的解决方案是混合使用软内核(用可编程构造实现)和硬内核(直接用硅片实现)。

举例来说,该器件可能包含数千个加法器、乘法器和数字信号处理(     DSP   )功能;数兆位的片上内存,大量的高速串行互连(SERDES)     收发器   模块,以及众多的其它功能。

这是真正让人兴奋的事情,你可以用FPGA中的普通可编程构造做的事情之一是,使用其中的一部分实现一个或多个软处理器内核。当然,你可以实现不同规模的处理器。举例来说,你可以创建一个或多个8位的处理器,加上一个或多个16位或32位的软处理器—所有处理器都在同一器件中。

一种情形是软件开发人员捕获他们的代码,在SoC FPGA的Cor     te   x-A9处理器上运行这些代码,然后通过分析识别任何可能严重影响性能并成为瓶颈的功能。这些功能随后可能就转交给硬件设计工程师用可编程构造来实现,它们(这些功能,不是设计工程师)将使用较低的     时钟   频率提供明显更高的性能,而且功耗更低。

61
21
0
55

相关资讯

  1. 1、达观数据B+轮融资完成,未来企业一半员工将是机器人3528
  2. 2、机器人玩转医疗领域,强生杀出一条“血路”3605
  3. 3、三安集成:拆解电动智能汽车“缺芯”方程式520
  4. 4、阀门驱动装置常见的故障有哪些4924
  5. 5、在OpenBus系统基础上的FPGA嵌入式设计方案详解1479
  6. 6、LED光谱测量的操作技术解析2284
  7. 7、FPGA电路板设计的挑战怎么克服1948
  8. 8、AI工厂:将AI转化成动力是关键4108
  9. 9、传感器检测的三种方法解析2615
  10. 10、气动薄膜切断阀的特点_气动薄膜切断阀的特性1311
全部评论(0)
我也有话说
0
收藏
点赞
顶部