您的位置 首页 硬件

根据System Generator for DSP东西完成FPGA体系的设计方案

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

近年来,在数字通信、网络、视频和图画处理范畴,FPGA已经成为高功用数字信号处理体系的要害元件.FPGA的逻辑结构不只包含查找表、寄存器多路复用器存储器,并且还有快速加法器、乘法器和I/O处理专用电路.FPGA具有完结高功用并行算法的才能,是构成高功用可定制数据通路处理器(数字滤波、FFT)的抱负器材.如Virtex-II Pro FPGA包含高功用的可编程架构、嵌入式PowerPC处理器和3.125Gbps收发器等.

依据System Generator for DSP东西完结FPGA体系的规划计划

可是,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包含被称为Xilinx blockset的Simulink库和模型到硬件完结的转化软件,能够将Simulink中界说的体系参数映射为硬件完结中的实体、结构、端口、信号和特点.别的,System Generator可主动生成FPGA归纳、仿真和完结东西所需的指令文件,因而用户能够在图形化环境中完结体系模型的硬件开发.图1为运用System Generator for DSP规划体系的流程图.

在Matlab中,咱们能够经过Simulink的库浏览器运用Xilinx blockset库中的模块,Xilinx blockset库中的模块能够与Simulink其它库中的模块自由组合.Xilinx blockset库中最重要的模块是System Gen-erator,运用该模块可完结体系级规划到依据FPGA的底层硬件规划的转化作业.能够在System Generator模块的特点对话框中挑选方针FPGA器材、方针体系时钟周期等选项.System Generator将Xilinx blockset中的模块映射为IP库中的模块,接着从体系参数(例如采样周期)揣度出操控信号和电路,再将Simulink的分层规划转化为VHDL的分层网表,之后,System Generator即可调用Xilinx CORE Generator和VHDL模仿、归纳、完结东西来完结硬件规划.

因为一般的FPGA归纳东西不支撑浮点数,因而System Generator模块运用的数据类型为恣意精度的定点数,这样能够完结精确的硬件模仿.因为Simulink中的信号类型是双精度浮点数,因而在Xil-inx模块和非Xilinx模块之间有必要刺进Gateway In block和Gateway Out block模块.一般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滤波器框图.

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/341657.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部