打印
[FPGA]

IP核在FPGA设计中的作用 转载

[复制链接]
4740|42
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

FPGA是包含可编程逻辑元件(LE)的集成电路,其可编程单元已经内置在芯片中,功能十分灵活。例如,他们可以通过编程作为加速器或RAM来提高系统性能,可以通过编程实现新的标准或算法,也可以根据需求添加各种通信接口,所有的这些都有助于降低系统成本并延长产品生命周期。但这种设计的缺点是学习曲线非常陡峭,对于MCU开发人员来说,在刚刚学习FPGA的时候,因IO端口和编码方式的变化,学习起来还是很困难的。对于MCU来说,在同一时刻,只能实现一个或一组IO的翻转,并且所有的IO只有一个电压标准。而FPGA的IO是并行处理的,并且不同bank的IO可以遵循不同电压标准。

幸运的是,我发现了Intel Cyclone V SoC DE10 Nano开发套件。英特尔Cyclone V SoC将FPGA与双核ARM Cortex A9结合,允许使用多种方式配置FPGA,开发套件包含显示和通信端口、按钮和开关、引脚映射和快速配置工具、JTAG调试器以及来自Terasic和Intel的文档说明和指南。

规划FPGA开发

在规划MCU开发的时候,我们首先确定需要哪些接口,如SPI,I2C,Wi-Fi等,然后根据MCU的电压,引脚数量,提供的通信接口,支持的库和价格作出MCU的选型。在使用FPGA的时候,所有的通信接口都是依靠编程来实现的,因此无需考虑通信接口的限制。其限制因素是逻辑单元的数量,因为所需要的端口,软核或存储器单元都是基于这些逻辑单元创建的。因此,需要做权衡的是,逻辑单元数目越大,FPGA的能力越强,其成本也越高。虽然FPGA通常具有较高的初始成本,但由于它们可以实现多个芯片组件的功能,并且还能够节省大量板上空间,所以综合来看其成本并不高。

我发现自己正处在一个关键时刻:我要如何确定我的设计需要多少逻辑单元?答案是,这取决于对IP核的需求,IP核由协议、功能、代码以及外部模块执行的特定任务组成。几乎所有的FPGA都是由逻辑单元LE,寄存器和I / O bank组成。具体来说:

•        逻辑单元LE是可编程的,是FPGA内部的门阵列,每一个逻辑单元都具有一定数量的查找表,触发器和多路复用器。
•        寄存器是一组触发器,能够保存数据并实现诸如定时器等功能。
•        I / O bank是一组连接外部电路的输入/输出引脚。每个bank都有一个独立的电压标准,并且有电流大小的限制。

最初我并没有意识到IP核的重要性,因为我还没有领会到这样一个事实:IP核实现了一种能够代替物理设备的能力,这些设备包括MCU、通信控制器或者其他一些我会使用另一个芯片实现的东西。

如图1所示,Cyclone V 包含FPGA层和HPS层,在DE10 Nano上FPGA层主要用作低延迟的I/O扩展。所有这一切体现了FPGA的另一个设计特点:它可以在单个芯片上实现多个PCB板上芯片的功能,从而,使得后续的设计更加灵活。

图1:Terasic DE10 Nano Cyclone V FPGA和硬件处理器系统(HPS)的接口布局。(来源:Terasic)


大部分低级I / O端口通过FPGA进行控制和连接,这就降低了CPU等待低级别I/O端口的时间,同时也允许数据在传递到HPS之前进行相应的处理或调整。

这是一种多么完美的设计,Cyclone V FPGA的接口可扩展,而且能够实现加速器的功能,这种设计架构提高了HPS层的处理能力。在这种情况下,正如图2所示,HDMI接口是非HPS本地接口,因此用作HDMI的MCU资源并不多。
  

图2:FPGA和HPS的接口布局(来源:Terasic)

在简要的观察之后,我注意到以下几个优势:
HDMI的输出在FPGA上运行,这降低CPU负载并添加了非本地接口;
  存在一个OpenCV加速示例,这是为了体现两种类型处理器结合的优势;
Terasic已经实现了基本的通信功能范例,并且有一个预定义的引脚映射列表,该列表定义了电压和电流限制。

总的来说,我很喜欢FPGA,并且对它的扩展和加速功能十分感兴趣。不过,我也想知道他们到底有哪些局限性。他们能运行到高的频率?他们可以支持哪些协议?他们会消耗多少LE?总的来说,IDE比我用过的其他软件更简单,并且包含了令人惊叹的文档。硬件似乎非常强大,现在我正在设计一个项目,这个项目能够测试板上的硬件限制。


使用特权

评论回复

相关帖子

沙发
primojones| | 2021-4-30 20:59 | 只看该作者
感谢分享,提供的例程很实用                                 

使用特权

评论回复
评论
gaochy1126 2021-4-30 22:00 回复TA
谢谢支持。 
板凳
sanfuzi| | 2021-4-30 20:59 | 只看该作者
资料还是相当全面的                                 

使用特权

评论回复
评论
gaochy1126 2021-4-30 22:00 回复TA
谢谢支持。 
地板
fengm| | 2021-4-30 21:00 | 只看该作者
感谢分享,提供的例程很实用                                 

使用特权

评论回复
评论
gaochy1126 2021-4-30 22:00 回复TA
谢谢支持。 
5
wilhelmina2| | 2021-4-30 21:00 | 只看该作者
非常感谢楼主分享                                 

使用特权

评论回复
6
lzmm| | 2021-4-30 21:00 | 只看该作者
以后多交流交流                  

使用特权

评论回复
7
wangdezhi| | 2021-4-30 21:00 | 只看该作者
资料的确是很全面                                 

使用特权

评论回复
8
linfelix| | 2021-4-30 21:00 | 只看该作者
有时间需要好好看看   不错                                 

使用特权

评论回复
9
touser| | 2021-4-30 21:00 | 只看该作者
谢谢lz分享,很有用                                 

使用特权

评论回复
10
isseed| | 2021-4-30 21:01 | 只看该作者
楼主好人,资料很好。谢谢楼主!                                 

使用特权

评论回复
11
ingramward| | 2021-4-30 21:01 | 只看该作者
谢谢你共享的资料!!                                 

使用特权

评论回复
12
gygp| | 2021-4-30 21:01 | 只看该作者
资料 好好收藏一下                                 

使用特权

评论回复
13
iyoum| | 2021-4-30 21:01 | 只看该作者
资料的确是很全面                                 

使用特权

评论回复
14
cashrwood| | 2021-4-30 21:01 | 只看该作者
资料还是相当全面的                                 

使用特权

评论回复
15
belindagraham| | 2021-4-30 21:01 | 只看该作者
感觉今后应该用的人很多                                   

使用特权

评论回复
16
mickit| | 2021-4-30 21:01 | 只看该作者
资料的确是很全面                                 

使用特权

评论回复
17
yeates333| | 2021-4-30 21:01 | 只看该作者
  应用还是很广泛的                                 

使用特权

评论回复
18
bartonalfred| | 2021-4-30 21:02 | 只看该作者
感谢分享,提供的例程很实用                                 

使用特权

评论回复
19
saservice| | 2021-4-30 21:02 | 只看该作者
以后多交流交流                  

使用特权

评论回复
20
abotomson| | 2021-4-30 21:02 | 只看该作者
谢谢lz分享,很有用                                 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1051

主题

11300

帖子

26

粉丝