用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

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

夏宇闻老师专栏

你问我答FPGA设计

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

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