当前位置:
文档之家› 第七章 基于System Generator的 DSP系统开发技术
第七章 基于System Generator的 DSP系统开发技术
嵌入式系统工程系
System Generator简介
FPGA是理想的高性能数字信号处理器件
包含了逻辑资源,还有多路复用器、存储器、硬核乘 加单元以及内嵌的处理器等设备,还具备高度并行计 算的能力; 特别适合于完成数字滤波、快速傅立叶变换等。
FPGA 并 未 在 数 字 信 号 处 理 领 域 获 得 广 泛 应 用 (??)
嵌入式系统工程系
System Generator简介
嵌入式系统工程系
System Generator简介
System Generator的主要特征
可在MATLAB/Simulink环境下对算法以及系统建模, 并生成相应的工程; 再调用ISE相应的组件进行仿真、综合、实现,并完成 芯片的配置。
嵌入式系统工程系
基于System Generator的DSP系统设计
System Generator库
嵌入式系统工程系
基于System Generator的DSP系统设计
基本单元模块
包含了数字逻辑的标准组件模块 ; 可插入时间延迟、改变信号速率、引入常数、计数器 以及多路复用器等 ; 包含了3个特殊的模块System Generator标志、黑盒 子模块(Black Box)以及边界定义模块 。
嵌入式系统工程系
基于System Generator的DSP系统设计
建立简易的DSP设计
例 使用System Generator建立一个3输入(a、b、c) 的DSP4模块的计算电路,使得输出p = c + a * b,并 利用标准的Simulink模块对延迟电路进行功能验证。 1. 建立一个新的 Simulink 模型,并保存为 mydsp.mdl 。 2. 选择 Xilinx DSP48 模块,拖到 mydsp.mdl ;按照同 样的方法添加边界定义模块以及System Generator标 志模块。 3. 添加Simulink标准库中的常数模块(Constant)和 显示器(Display)模块。其中常数模块用于向DSP计 算电路灌数据,作为测试激励;显示器则用于观测输 出数据。
嵌入式系统工程系
Simulink设计示例
例 建 立 一 个 调 幅 ( AM ) 系 统 , 信 号 频 率 为 100KMHz,载波频率为1MHz,调幅系数为0.5, 并在示波器中显示出来。
启动Simulink; 新建一个模型, “ New Model” 命令新模型保存为 am.mdl; 从Simulink library Browser中加入基本模块 ; 连接各个模块 ; 在工具栏点击运行(RUN)图标 ,再直接点击Scope 模块即可观察运行结果 。
嵌入式系统工程系
System Generator基础
代码优化
利用ISE RTL设计环境生成优化的FPGA设计; 不仅要熟悉算法的架构、瓶颈,还需精通RTL设计; 属于高级应用,直接对RTL进行修改和优化。
嵌入式系统工程系
Simulink简介
Simulink是MATLAB的组件
基于System Generator的DSP系统设计
共享储存器模块
主要用于共享存储器操作
嵌入式系统工程系
基于System Generator的DSP系统设计
工具模块
ModelSim 、 ChipScope 、资源评估等模块以及算法 设计阶段的滤波器设计等
嵌入式系统工程系
基于System Generator的DSP系统设计
嵌入式系统工程系
System Generator安装
与MATLAB关联
嵌入式系统工程系
System Generator基础
典型的System Generator设计流程
浮点算法开发
定点算法实现
硬件系统设计 代码优化
嵌入式系统工程系
System Generator基础
浮点运算开发
FPGA边界定义模块
通过两个标准模块“Gateway In”和“Gateway Out” 来定义Simulink仿真模型中FPGA的边界; Gateway In 模块标志着 FPGA 边界的开始,能够将输 入的浮点转换成定点数; Gateway Out 模块标志着 FPGA 边界的结束,将芯片 的输出数据转换成双精度数。
嵌入式系统工程系
第七章 基于System Generator的 DSP系统开发技术
System Generator简介 System Generator安装 System Generator基础 Simulink 简介 AccelDSP 简介 基于System Generator的DSP系统设计 基于System Generator的硬件协仿真
大部分DSP设计者通常对C语言或MATBLAB工具很熟 悉 ,不了解硬件描述语言VHDL和Verilog HDL ; 部分 DSP 工程师认为对 HDL 语言在语句可综合方面的 要求限制了其编写算法的思路。
嵌入式系统工程系
System Generator简介
System Generator for DSP
嵌入式系统工程系
基于System Generator的DSP系统设计
Xilinx Blockset库
System Generator和Simulink是无缝链接的,可以在 MATLAB标准工具栏中直接启动; 在Simulink环境中,只有通过Xilinx模块搭建的系统才 能保证硬件可实现,类似于 HDL 语言中的可综合语句。
嵌入式系统工程系
System Generator基础
硬件系统设计与实现
定 义 使 用 Xilinx IP 的 详 细 硬 件 架 构 , 采 用 System Generator for DSP 划分协处理器和可编程器件之间 的设计 ; 会生成下列文件:
• 设计所对应的HDL程序代码; • 时钟处理模块,包括系统时钟处理操作以及生成设计中 所需的不同频率的时钟信号; • 用于测试设计的HDL测试代码,可直接将其仿真结果和 Simulink输出比较; • 工程文件以及综合、实现过程所产生的各种脚本文件。
安装程序会自动将其安装到MATLAB目录下; Simulink的运行需要MATLAB后台的支持,因此必须 要安装MATLAB软件。 工具栏点击或者命令启动
嵌入式系统工程系
Simulink简介
Simulink工作原理
模型初始化 模型执行
• 一般模型是使用数值积分来进行仿真; • 仿真结束时,模型得出系统的输入、状态和输出 。
嵌入式系统工程系
基于System Generator的DSP系统设计
System Generator标志
每个System Generator应用框图都必须至少包含一个 System Generator标志; 用来驱动整个FPGA实现过程,不与任何模块相连 ; 打开属性编辑框,能够设置目标网表、器件型号、目 标性能以及系统时钟频率等指标 。
Xilinx简化FPGA数字处理系统的集成开发工具; 和Simulink(MathWorks公司产品)实现无缝链接, 利用 Simulink 建模和仿真环境来实现 FPGA 设计,无 需了解和使用 RTL级硬件语言; Xilinx 公司 XtremeDSP 解决方案的关键组成,集成了 先进的FPGA设计工具以及IP 核,支持Xilinx公司全系 列的FPGA芯片; 可作为MATLAB软件中的一个硬件设计工具包。
嵌入式系统工程系
基于System Generator的DSP系统设计
通信模块
提供了用于实现数字通信的各种函数
嵌入式系统工程系
基于System Generator的DSP系统设计
控制逻辑模块
创建各种控制逻辑和状态机的资源 包括逻辑表达式、软核控制器、复用器以及存储器
嵌入式系统工程系
嵌入式系统工程系
System Generator简介
System Generator的主要特征
丰富的DSP模块 • 信号处理(如FIR滤波器、FFT) • 纠错(如Viterbi 解码器、Reed-Solomon编码器/解码器) • 算法 • 存储器(如FIFO、RAM、ROM) • 数字逻辑功能的Xilinx模块集 • 使用户导入.m函数及HDL模块 Simulink设计的VHDL或Verilog的自动代码生成 硬件协仿真 • FPGA 在环路(FPGA-in-the-loop),加速用户的硬件验证工 作并加速其在Simulink与MATLAB中的仿真 嵌入式系统的硬件/软件协设计 • 直接加载Xilinx公司的MicroBlaze 32位 RISC处理器,甚至构 建和调试DSP协处理器
嵌入式系统工程系
AccelDSP简介
AccelWare
包含一系列参数DSP模块的IP库; 可以综合成为RTL代码(VHDL或Verilog)。
AccelWaBiblioteka e IP(包含三个专用工具箱) 信号处理工具包: FIR 滤波器、CIC 抽取滤波器、CIC内插滤波 器、多相抽取滤波器、半带 FIR 滤波器、FFT 以及IFFT等; 通信工具包:直接数字合成器、BCH 编码器和解码器、卷积交织 器和去交织器、卷积编码器、Reed-Solomon 编解码器、Viterbi 解码器、开方升余弦滤波器、加扰器、解扰器以及ADC采样-保持 电路/正弦比较滤波器等; 高级数学运算工具包:QR分解法、Cholesky分解法、QR求逆、 Cholesky求逆、三角形矩阵求逆、特定排列旋转、多项式求值、 奇异值分解以及QRD-RLS空间滤波器等。
嵌入式系统工程系
System Generator安装
软件环境 (以System Generator 9.1为例)