用matlab来实现fpga功能的设计

2012-02-11 12:59:27来源: elecfans
  

摘要:System Generator for DSP是Xilinx公司开发的基于Matlab的DSP开发工具?熗?时也是一个基于FPGA的信号处理建模和设计工具。文章介绍了在Matlab中使用System Generator for DSP实现FPGA硬件设计的方法,同时给出了一个应用实例。 
关键词:Matlab;FPGA;System Generator;DSP

      近年来,在数字通信、网络、视频和图像处理领域,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模拟、综合、实现工具来完成硬件设计。

[1] [2]

关键字:matlab  fpga

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2012/0211/article_2866.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
matlab
fpga

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved