fpga_feixiang 发表于 2020-3-2 12:44:39

FPGA嵌入式领域

传统的    控制系统    都是在   微处理器 的控制下执行各种控制和数据的处理应用,这些微处理器包括 单片机、ARM、PowerPC 等等。随着 FPGA 的使用普遍性,越来越多的系统    用 FPGA 作为高速数据接口    粘合以及做一些协同处在FPGA 内部集成了 CPU、DSP 以及各种接口控制模块,对有些存储量要求不大的系统甚至外部的FLASH 和 SDRAM 都集成了。这样做的思想会给带来带来哪些挑战和机遇呢?这是我们接下来需要探讨的问题。

4.1 创新挑战和机遇
       传统的嵌入式开发完全是纯软件形式,而在 FPGA 平台上,首先要面对的是怎么去规划 FPGA,哪些是作为 CPU,如何实现?其实,系统中有硬件开发部分和软件开发部分,如何在设计的时候支持这种硬件开发语言和软件开发语言混合验证,以保证系统正常工作?当然这些问题在现在来讲已经解决了,但是我们能够带着这些问题来学习在后面的知识,这些问题在后面支持资源里都能够得到解答。
      那么机遇在哪?刚才有提到,首先如果一个系统有如图似的需求的时候,采用FPGA 内嵌的方式占用的板级面积小,焊点少系统稳定,同时成本相比低,当然这里并不包括一些只需控制器做一些控制的系统和产品,如果将 FPGA 纯当一个控制器用的话,成本相对单片机、ARM 来说还是有些高,这也是 FPGA 开发的一个问题,但是低端的 FPGA 芯片也能支持嵌入式处理器,资源有限。当哪天 FPGA 价格能够等同于这些微处理器的时候,这些微处理器也将面临退役了。其实是它可以很灵活的配置硬件外设,用来做控制系统验证,对系统构架设计者来说,非常有用。最后是对一个工程师来讲,不但要会做硬件程序开发还得会软件开发,于公司来讲,更愿意招这样的全才。
      基于 FPGA 的嵌入式的优点只有用的时候才能真正感受,同时,你也能感受其缺点。虽说在建好硬件平台的之后是软件开发,但是如果你是一个习惯于软件开发的工程师,相信这里的软件开发会让你的意志力得到很大的提高,这种方式软件开发编译过程比传统嵌入式开发要满很多,这是各厂家有待需要提高的。

4.2 嵌入式支持资源
(1)硬核与软核

   硬核指的是一种专用的预定好的硬线逻辑块实现的内核,各好的理解就是直接将那位微处理器给放到 FPGA 芯片里。目前主流的 FPGA 厂商都会选择一个特定的处理器来实现硬核。如下表,开发者可以直接在相关开发平台上使用这些硬核。



      软核与硬核不同,是将一组逻辑资源块配置成一个微处理器。同时,还提供了很多外围设备,比如定时器、中断控制器、各种内存控制器、各种通信接口驱动等软核,注意这里指代的软核包括以 RTL 级网表形式,也包括布局布线后的 LUT 级形式。
       需要说明的是,相比于硬核,软核的速度要慢一些,这很好理解,但是软核更简单。在资源允许的情况下,我们可以配置多核,这个是硬核不行的,有多少个硬核你只能用几个。同样,主流的 FPGA 厂商也会做一个软核,如表 所示,其中 NIOS 是有 16 位和 32 位两种架构,分别支持 16 位和 32 位数据宽度,而 MicroBlaze 只有 32 位的架构,Q90C1XX 确是一个 9 位的微控制器。 理。出现了微处理器+FPGA 的片上系统的架构。

大鹏 发表于 2020-3-15 09:51:28

FPGA嵌入式领域

zxopenljx 发表于 2025-3-9 16:10:54

FPGA嵌入式领域

zsl66666888 发表于 2025-3-12 15:34:04

很好的解释
页: [1]
查看完整版本: FPGA嵌入式领域