当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:文中详细地分析了Altera公司Cyclone V FPGA器件的硬核存储控制器底层架构和外部接口,并在此基础上对Controller和PHY进行了功能仿真。仿真结果表明硬核存储控制器和PHY配合工作时的功能与设计预期相符,性能优

摘要:文中详细地分析了Altera公司Cyclone V FPGA器件的硬核存储控制器底层架构和外部接口,并在此基础上对Controller和PHY进行了功能仿真。仿真结果表明硬核存储控制器和PHY配合工作时的功能与设计预期相符,性能优良,适合于在当前FPGA的外部存储带宽需求日益增长的场合下应用。

如今,越来越多的应用场景都需要FPGA能够和外部存储器之间建立数据传输通道,如视频、图像处理等领域,并且对数据传输通道的带宽也提出了较大的需求,这就导致了FPGA和外部Memory接口的实际有效带宽成为了制约系统性能的瓶颈,所以Memoiy控制器的效能,则成为提升系统性能的关键要素。Altera最新一代28nm器件中的Cyclone V和Arria V系列FPGA都集成了硬核存储控制器HMC(Hard Memory Controll er)单元,相比于以往的软核解决方案,硬核解决方案能够在帮助降低系统功耗的同时显著提升接口工作性能,适合应用于对Memory接口带宽有较大需求的场合。

1 存储器接口的底层架构

QuartusII 11.0及以后版本提供的Controller控制器均为High Performance ControllerII(HPC II),相对于早期提供的HPC,有了部分功能和性能上的升级和改进。CycloneII/IV使用的是ALTMEMPHY,而Cyclone V可以使用新的UniPHY架构。存储器接口的底层架构和外部接口如图1所示。

从图1可见,整个存储接口是由三部分组成的,Controller单元、PHY单元及一些相关接口。其中主要的便是Controller单元、PHY单元。Controller单元主要负责控制初始化、刷新等Memory的命令操作,还能够完成访问地址和数据的组织排序,支持大带宽、较高的工作频率。另外,Controller单元还支持数据重排,能够降低访问冲突,增加系统工作的效率。PHY单元工作在Controller单元和外部Memory之间,主要负责完成物理层的数据路径及数据路径的时序处理。

Controller单元和PHY单元之间是通过Altera PHYInterface,即AFI接口进行连接的。与标准的DDR PHYInterface,即DFI接口相比,AFI接口更加适合基于ALTMEMPHY和UniPHY的开发。AFI接口可以被认为是DFI接口的子集,是对DFI接口进行了少量的简化和修改而来的。

2 MPFE的功能及底层架构

在视频和图像处理领域,FPCA需要频繁地访问Memory接口,完成数据的写入和渎出操作。Cyclone V的HMC能够支持多端口前端的并行访问,极大地方便了读写数据交互的操作。多端口前端,即MPFE(Multi-port Front End),底层架构如图2所示。

MPFE可以使得FPGA的多个处理进程共享一个Memory的命令队列。这样不同的端口都可以访问Memory接口,完成对Memory的读写操作。MP FE都是基于Avalon总线的时序进行地址、命令和数据的交互的。在实际有效带宽一定的情况下,MPFE可以将带宽按照不同的需求分配到相应的端口。

如图2所示,MPFE是由6个命令FIFO,4个64bit位宽的读FIFO和4个64bit位宽的写FIFO组成,通过这些FIFO来完成命令和数据的交互。其中,读FIFO可以被配置为单向的读FIFO,写FIFO可以被配置为单向的写FIFO,也可以在一个Port里使用双向FIFO、此时该Port会调用1个读FIFO和1个写FIFO来完成。

如果前端的数据位宽比较大,也可以将FIFO拼接起来,组合为128bit或256bit位宽的FIFO,128bit位宽情况下,会调用2个读或写FIFO 256bit位宽情况下,会调用4个读或写FIFO。如果一个Port设置为256bit位宽,同时设置为双向FIFO.则该Port会消耗全部的读写FIFO,此时也就相当于将多端口前端作为单端口前端来使用了。

如果前端的数据位宽比较小,也可以将64bit位宽的FIFO设置为32bit位宽,此时仍会占用1个FIFO,高32bit的数据位宽则会闲置。

由此可见,MPFE在使用上十分灵活,能够适应不同的应用方式,满足FPGA内部不同逻辑模块对Memory的读写访问。

3 多端口前端的调度策略

MPFE本身相当于一个调度器,采用分时复用的方式,对来自不同端口的数据和命令进行调度。若干个端口之间的调度遵循两个条件,即端口的优先级(Priority)和权重(Weight)。优先级参数和权重参数是可以指定的,如图3所示,在IP例化时的Controller Settings界面中,手动填写端口的这两个参数值。

优先级参数可以在1~7之间任意指定,优先级参数值越大,代表该端口的优先级越高。高优先级的端口相对于低优先级的端口会被优先调度。优先级是一个绝对的参数,如果一个端口的优先级设置为7,则这个端口享有最高优先级,它在任何情况下都会被优先调度,这样另外的优先级为6或更低优先级的端口必须等待优先级为7的端口工作完成之后才会被调度。

如果两个端门的优先级一样,那么相对的优先级会取决于端口的权重参数。权重参数可以在0~31之间设置。为了避免高优先级的某个端口长时间占用接口总线的带宽,引入了加权循环调度算法(Weighted Round Robin,WRR),WRR算法仍然会优先处理高优先级的端口,但是低优先级的端口也不会出现不被调度的情况。WRR是根据端口权重与所有排队等待调度的端口的权重总和的比来平等地分配带宽。因此,在处理多个端口的高优先等级的业务时,可以确保每个端口都不会过度地占用接口的总线带宽。

在端口的优先级参数都一样的情况下,权重参数能够决定端口间相对的带宽分配,如图3所示,端口0和端口1的优先级均为1,权重参数值分別为4和6,则端口0和端口1分別会占用大致40%和60%的Memory接口总带宽。

4 HMC的ModelSim功能仿真

仿真过程不仅能够观察到HMC内部工作的时序,还能够大致测箅出HMC工作时的有效带宽。在系统设计开始阶段,可以用于评估Memory接口实际有效带宽是否满足设计需求。如图4和图5所示。

系统设计的过程需要确保Avalon侧和Memory侧的带宽相等,所以在IP例化参数选择时,根据DDR3器件参数,DQ数据线选择的是16 bits位宽,mem_ck为400 MHz;Avalon侧的数据位宽为64 bits,时钟选择200 MHz即可。两侧带宽为16 bitsx400 Mhzx2(DDR双沿传输)=64 bitsx200 MHz=12.8 Gbps,这也是HMC的理论带宽。

5 结论

在一些视频、图像等高带宽按口应用中,Cyclone V器件的HMC理论上能够达到至少12.8Gbps的带宽,如果DQ位宽变为32位,则理论带宽翻倍到25.6Gbps,这也是一个HMC所能达到的理论带宽的上限。部分Cyclone V器件带有2个HMC,则整体的理论带宽上限值为51.2Gbps,已能够满足高带宽存储场合对FPGA和DDR3间接口带宽的要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

随着科技的飞速发展,电子产品在我们日常生活中扮演着越来越重要的角色。而在这些电子产品中,接口作为连接设备与外部设备的桥梁,其重要性不言而喻。其中,Type-C接口作为一种新型的接口标准,因其独特的优势,逐渐成为了众多电子...

关键字: 电子产品 Type-C 接口

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体
关闭
关闭