当前位置:首页 > 电源 > 数字电源
[导读]近年来,在数字通信、网络、视频和图像处理领域,FPGA已经成为高性能数字信号处理系统的关键元件。FPGA的逻辑结构不仅包括查找表、寄存器、多路复用器、存储器,而且还有快速加法器、乘法器和I/O处理专用电路。FP

近年来,在数字通信、网络、视频和图像处理领域,FPGA已经成为高性能数字信号处理系统的关键元件。FPGA的逻辑结构不仅包括查找表、寄存器、多路复用器、存储器,而且还有快速加法器、乘法器和I/O处理专用电路。FPGA具有实现高性能并行算法的能力,是构成高性能可定制数据通路处理器(数字滤波、FFT)的理想器件。如Virtex-II Pro FPGA包含高性能的可编程架构、嵌入式PowerPC处理器和3.125Gbps收发器等。

但是,FPGA在数字信号处理领域的广泛应用受限于几个因素。首先,DSP开发人员不熟悉硬件设计,尤其是FPGA。他们使用Matlab验证算法,运用C语言或汇编语言编程,通常不会使用硬件描述语言(VHDL或Verilog)实现数字设计。其次,虽然VHDL语言也提供了许多高层次的语言抽象,但是基于并行硬件系统的VHDL程序设计与基于微处理器的串行程序设计有很大的不同。

基于以上原因,Xilinx公司开发了基于Matlab的System Generator for DSP工具。System Generator for DSP是Simulink中一个基于FPGA的信号处理建模和设计工具。该工具可以将一个DSP系统表示为一个高度抽象的模块,并自动将系统映射为一个基于FPGA的硬件方案。重要的是,该System Generator for DSP实现这些功能并没有降低硬件性能。

1、System Generator for DSP的特点

simulink为DSP系统提供了强有力的高层次建模环境,可大量应用于算法开发和验证。System Generator for DSP作为simulink的一个工具箱很好地体现了这些特性,同时又可以自动将设计转换为可综合的高效硬件实现方案。该硬件实现方案忠实于原始设计,因此设计模型与硬件实现在采样点(在simulink中定义)是一一对应的。通过使用Xilinx精心设计的IP(intellectual property)核可以使硬件方案具有较小的延迟和体积。虽然System Generator中的IP模块是经过功能抽象的,但是对于熟悉FPGA的设计者来说,该模块也具有直接访问底层硬件细节的能力。例如,可以指定System Generator乘法器模块使用Virtex-II系列FPGA中的专用高速乘法器元件,用户定义的IP模块也能够作为黑盒子插入系统之中,等等。

使用System Generator for  DSP实现系统设计的主要特点有:

●在simulink中实现FPGA电路的系统级建模,并自动生成硬件描述语言。

●自动生成modelsim测试程序,支持软硬件仿真。

●支持用户创建的simulink模块。

●使用XILINX FPGA自动实现硬件系统。支持的XILINX FPGA系列包括Spartan-II,Spartan-IIE、Spar-tan-3、Virtex、Virtex-E、Virtex-II、Virtex-II PRO。

2、使用System Generator for DSP实现系统级建模

传统的DSP系统开发人员在设计一个DSP系统时,一般先研究算法,再使用matlab或C语言验证算法,最后由硬件工程师在fpga或DSP上实现并验证。典型的DSP系统设计流程如下:
(1) 用数学语言描述算法。
(2) 设计环境中使用双精度数实现算法。
(3) 将双精度运算变为定点运算。
(4) 将设计转换为有效的硬件实现。

使用System Generator for DSP可以简化这一过程。设计人员先在matlab中对系统进行建模和算法验证,经过仿真后便可以直接将系统映射为基于FPGA的底层硬件实现方案。可用simulink提供的图形化环境对系统进行建模。System Generator for  DSP包括被称为xukub xilinx blockset的simulink库和模型到硬件实现的转换软件,可以将simulink中定义的系统参数映射为硬件实现中的实体、结构、端口、信号和属性。另外,System Generator可自动生成FPGA综合、仿真和实现工具所需的命令文件,因此用户可以在图形化环境中完成系统模型的硬件开发。图1为使用System Generator for  DSP设计系统的流程图。

在Matlab中,我们可以通过simulink的库浏览器使用Xilinx blockset库中的模块,Xilinx blockset库中的模块可以与simulink其它库中的模块自由组合。Xilinx blockset库中最重要的模块是System Generator,利用该模块可完成系统级设计到基于FPGA的底层硬件设计的转换工作。可以在System Generator模块的属性对话框中选择目标FPGA器件、目标系统时钟周期等选项。System Generator将Xilinx blockset中的模块映射为IP库中的模块,接着从系统参数(例如采样周期)推断出控制信号和电路,再将simulink的分层设计转换为VHDL的分层网表,之后,System Generator即可调用Xilinx CORE Generator和VHDL模拟、综合、实现工具来完成硬件设计。

由于一般的FPGA综合工具不支持浮点数,因此System Generator模块使用的数据类型为任意精度的定点数,这样可以实现准确的硬件模拟。由于smulink中的信号类型是双精度浮点数,因此在xil-inx模块和非Xilinx模块之间必须插入gateway inblock和gateway inblock模块。通常simulink中的连续时间信号在Gateway In block模块中进行采样,同时该模块也可将双精度浮点信号转换为定点信号,而Gateway Out block模块则可将定点信号转换为双精度浮点信号。大部分xilinx模块能够根据输入信号类型推断输出信号的类型。如果模块的精度参数定义为全精度,则模块将自动选择输出信号类型以保证不损失输入信号精度,并自动进行符号位扩展和补零操作。用户也可以自定义输出信号类型来进行精度控制。

3、使用中需注意的问题

FPGA系统设计中,时钟的设计十分重要。因此必须正确理解System Generator中的时钟和FPGA硬件时钟之间的关系。simulink中没有明确的时钟源信号,模块在系统参数中定义的采样周期点进行采样。硬件设计中的外部时钟源对时序逻辑电路十分重要。在System Generator模块中,通过定义simulink System period和fpga  system clock period参数可以建立simulink采样周期和硬件时钟间的关系,也可通过设置这些参数来改变Simulink中模拟时间和实际硬件系统中时间的比例关系。simulink的系统周期一般是各模块采样周期的最大公约数。FPGA的硬件时钟是单位为ns的硬件时钟周期。例如,若simulink中有两个模块,采样周期分别为2s和3s,而FPGA系统时钟周期为10ns,则simulink系统周期应该为两个模块采样周期的最大公约数即为1s。这意味着simulink中的1s对应实际硬件系统的10ns。在生成硬件系统前,System Generator将自动检查用户定义的simulink系统周期参数是否与系统中模块的采样周期相冲突,如果冲突,则提示用修改Simulink系统周期参数。

有些情况会导致System Generator模块产生不确定数(NaN-not a number)。如在双端口ram模块中,两个端口同时对模块中的某一地址进行写操作时,该地址中的数据将被标记为NaN。如果模块中有不确定数出现,则表明该模块的最终硬件实现将会有不可预测的行为,当simulink进行仿真时,System Generator将会捕捉该错误。

4、应用实例

图2是一个图像处理应用实例的系统实现框图。该应用实例使用5×5的二维FIR滤波器完成图像增强预处理。该系统将输入图像分别延迟0×N(N为输入图像宽度)、1×N、2×N、3×N、4×N个采样点后输入5个Line Buffer,数据在Line Buffer中缓存后并行输入5个5抽头的MAC FIR滤波器。滤波器系统存储于FPGA的块RAM中,图像数据经滤波器处理后输出。图3为Line Buffer实现框图,图4为5×5滤波器框图。

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

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

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

为无处不在的端侧设备插上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 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭