第15讲DSPBuilder设计实例
DSP Builder系统设计工具

DSP Builder系统设计工具DSP Builder是Altera推出的一个数字信号处理(DSP)开发工具,它在Quartus Ⅱ FPGA设计环境中集成了MathWorks的Matlab和Simulink DSP开发软件。
Altera的DSP系统体系解决方案是一项具有开创性的解决方案,它将FPGA的应用领域从多通道高性能信号处理扩展到很广泛的基于主流DSP的应用,是Altera第一款基于C代码的可编程逻辑设计流程。
在Altera基于C代码的DSP设计流程中,设计者编写在Nios Ⅱ嵌入处理器上运行的C代码。
为了优化DSP算法的实现,设计者可以使用由Matlab和Simulink工具开发的专用DSP指令。
这些专用指令通过Altera的DSP Builder和SOPC Builder工具集成到可重配置的DSP设计中。
对DSP设计者而言,与以往FPGA厂商所需的传统的基于硬件描述语言(HDL)的设计相比,这种流程会更快、更容易。
除了全新的具有软件和硬件开发优势的设计流程之外,Altera DSP系统体系解决方案还引入了先进的S tratix和Stratix Ⅱ系列FPGA开发平台。
Stratix器件是Altera第一款提供嵌入式DSP块的FPGA,其中包括能够有效完成高性能DSP功能的乘法累加器(MAC)结构。
Stratix Ⅱ FPGA能够提供比Stratix器件高四倍的DSP带宽,更适合于超高性能DSP应用。
6.1 DSP Builder安装6.1.1 软件要求使用DSP Builder创建HDL设计需要有下面的软件支持:? Matlab 6.1或6.5版本;? Simulink4.1或5.0版本;? Quartus Ⅱ 2.0以上版本;? Synplify 7.2以上版本或LeonardoSpectrum 2002c以上版本(综合工具);? ModelSim5.5以上版本(仿真工具)。
6.1.2 DSP Builder软件的安装在安装DSP Builder之前,首先安装Matlab和Simulink软件以及Quartus Ⅱ软件。
利用MatlabDSPBuilder实现DDS的设计

利用MatlabDSPBuilder实现DDS的设计匿簟受圈堕遵匿噩圜PLDCPLDFPGA设计与应用文章编号:1008-0570(2006)07—2_0211.02利用Matlab/DSPBuilder实现DDS的设计RealizestheDDSdesignusingMatlab/DSPBuilder(鼋庆文理学院)杨守良Yang。
¥houliang摘要:介绍了一种自行设计的基于HlGA芯片的DDS信号发生器设计的解班方案.根据DDS的基本原理.利用MaLlab/DSPBuilder建立DDS基本模型.熊詹利用AL'11ERA公司提供的Singacompler工具对其进行编译.产生QUARTUSII能够识别的VHDL源程序.并且格出了采用AUi'ERA公司的cyclone系列的FPGA芯片EPlCl2Q240C8进行直接数字频率各成器的实现方法.关键词:Matlab/DSPBuilder;FPGA:直接数字频率台成:设计中图分类号:TP271+.82文献标识码:AAbstract:IntroducedooekindindependentlydesignedthesolutionwhichsignalgeneratingdevicedesignedbasedonFPGAthechipDDS,accordingtotheDDSbasicprinciple,establishedtheDDSbasicmodelusingMatlah/DSPBuilder,thentheSingaeomplertoolwhichprovidedusingtheALTERACorporationtoitcarriesOHthetranslation,hasVHDLsourceprogramwhichQUARTUSHcoulddistinguish,andproducedusesAUI'ERACorporationcycloneseriesFPGAchipEPlCl2Q240G8carriesonthedirectdigitalfrequen—cysynthesizertherealizationmethod.Keywords:Matlab/DSPBuilder,FPGA,Directdigitalfrequencysynthesis,Designs1引言自1971年.美国学者J.Tierney等人撰写的“ADigitalFrequencySynthesizer”一文首次提出了以全数字技术实现数字频率合成以来,构成DDS元器件的速度的限制和数字化引起的噪声这两个主要缺点阻碍了DDS的发展与实际应用。
EDA技术应用基础 第15讲 DSP Builder设计实例(2)

K 0
一、FIR滤波器设计
➢对于直接I型的FIR滤波器是可级联的,要滤波器系数 可变的情况下,可以预先设计好一个FIR滤波器节, 在实际应用中通过不断地调用FIR滤波器节,将其级 联起来,完成多阶FIR滤波器的设计。
抽头延迟线
系数乘法器
加法器
M
H z bk zk K 0
L1
y(n) x(n i)h(i) i0
a X
b
Product2
➢使用“Mask Parallel
Adder Subtractor
Subsystem…”
中的“Documentation”设置
“Mask type”为
5
i8:0
In4[8:0]
hn4
De l a y3
a X
b
Product3
o8:0
2
“SubSystem AlteraBlockSet” 就可以利用SignalCompiler 正确地生成VHDL代码。
设置量化参数 实现模型
极点或零点编辑
导入滤波器 设计滤波器
Al tBu s8 106
Al tBu s9 46
Al tBu s1 0 -12
Al tBu s1 1 -22
Al tBu s1 2 1
Al tBu s1 3 14
Al tBu s1 4 3
Al tBu s1 5 -9
Al tBu s1 6
x_in[8:0] In1[8:0] In2[8:0] In3[8:0] In4[8:0]
➢使用MATLAB的滤波器设计工具,获得滤波器系数。
(2)选择Design Filter
16
15
H z bk zk z1 bk zk , h(0) 0,
使用DSP Builder设计FSK发射机的数字中频

1.数字基带信源设计
为了测试方便,我们需要在发射机中设计一个数字基带信源。它可以循环地产生基带码流,作为FSK调制器的输入信号。在这里我们采用一个长度为16位的LUT(查找表)作为数字码流的存储器件。数字码流为:
[1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0]
采用一个递增的计数器作为LUT的地址输入,随着递增的计数器的计数值的改变,LUT输出不同的数字信号(0或1)。数字信号是周期性的,每个周期长度是16位。
4)将Increment Decrement模块的输出与Bus Conversion模块的输入相连,将Bus Conversion模块的输出与LUT模块的输入相连。至此,数字基带信源模块已完成。
5)为了验证设计的正确性,可以在仿真文件中加入一个scope(示波器)模块。从SimulinkLibrary Browser中选择Simulink -> Sinks -> Scope模块,加入Simulink仿真文件中。之后将LUT模块的输出连接至Scope模块的输入即可。连接之后的仿真文件如下图5所示。
表10 Constant模块的Main选项卡中各项参数
参数名称
参数值
Constant Value
100
Bus Type
Unsigned Integer
[Number of Bits].[]
8
Rounding Mode
Truncate
Saturation Mode
Wrap
S字基带信源的仿真文件
6)点击仿真文件上方工具栏中的“Start Simulation”按钮,即可启动一次Simulink仿真。仿真结束后双击Scope模块,打开Scope模块后,可以看到仿真结果。若仿真结果显示不全,可以用鼠标右键单击波形区,在弹出的菜单中选择Autoscale,即可将所有波形显示出来。
DSP_Builder设计深入

KX
康芯科技
10.1 FIR数字滤波器设计
3、16阶FIR滤波器模型设计
xin模块:(Altbus) 库:Altera DSP Builder中IO & Bus库 参数“Bus Type”设为“signed Integer” 参数“Node Type”设为“Input port” 参数“number of bits”设为“9” yout模块:(Altbus) 库:Altera DSP Builder中IO & Bus库 参数“Bus Type”设为“signed Integer” 参数“Node Type”设为“Output port” 参数“number of bits”设为“20”
10.1.4 使用FIR IP Core设计FIR滤波器
KX
康芯科技
KX
1.3阶常数系数FIR滤波器设计
康芯科技
10.1.2 使用DSP Builder设计FIR滤波器
图10-1 3阶FIR滤波器结构
KX
康芯科技
10.1 FIR数字滤波器设计
10.1.2 使用DSP Builder设计FIR滤波器
1.3阶常数系数FIR滤波器设计 Chirp Signal模块:(Chirp Signal) 库:Simulink中Sources库 参数“Initial Frequency(Hz)”设为“0.1” 参数“Target time”设为“10” 参数“Frequency at target time(Hz)”设为“1” 参数“Interpret vectors parameters as 1-D”选中 Gain模块:(Gain) 库:Simulink中Math Operations库 参数“Gain”设为“127” 参数“Multiplication”设为“Element wise(K.*u)” Scope模块:(Scope) 库:simulink中sinks库 参数“Number of Axes”为“2”
7.DSPBuilder

第六章 基于Matlab/DSP Builder的DSP系统设计技术
■ Supports the SignalTap® II logic analyzer ■ Includes blocks that you can use to build custom logic that works with Nios® II and other SOPC Builder designs ■ Includes a state machine block ■ Automatically generates a HDL testbench or Quartus II Vector File (.vec) from MATLAB and Simulink test vectors ■ Automatically starts Quartus II compilation ■ Provides a variety of fixed-point arithmetic and logical operators for use with the Simulink software
手动流
综合 (Quartus II LeonardoSpectrum Synplify) Quartus II Pof/sof文件下载 SignalTap测试
4
Modelsim 仿真
2005-12-14
现代数字系统设计
第六章 基于Matlab/DSP Builder的DSP系统设计技术 自动设计流程 ① Matlab/Simulink建模。 设计手动流程 ① Matlab/Simulink建模。
现代数字系统设计 20
第六章 基于Matlab/DSP Builder的DSP系统设计技术 仿真结果:
基于dspbuilder的数字滤波器设计方法

基于dspbuilder的数字滤波器设计方法摘要:FPGA正在替代ASIC和PDSP用于前端数字信号处理的运算,采用FPGA进行算法运算比PDSP器件具有更高的效率,更低的成本和功耗。
文章以设计一个32阶fir滤波器为例,验证采用MATlab的DSPbuider工具可大大提高FPGA 编程效率,省去了底层代码编写时间,使设计者更专注于系统级算法的设计。
关键词:dspbuilder;FPGA;数字滤波器数字滤波器应用于修正或改变时域或频域中信号的属性,最普通的数字滤波器就是线性时间不变量(LTI)滤波器,LTI通过与输入信号相互作用经过线性卷积,表示为,其中f是滤波器的脉冲相应,x是输入信号,而y是卷积输出。
线性卷积过程的正式定义为:y[n]=x[n]※f[n]=x[k]f[n-k]=f[k]x[n-k] (1)1模块构建及仿真利用DSPbuilder进行滤波器算法设计,并进行仿真,需设置系统参数,构建信号处理模块、信号源、频谱分析及时波器等外围模块,以及仿真功能。
1.1设置系统参数在MATLAB中新建FIR_32tap_setup.m文件。
在其中设置如下:clock_freq = 100e6;sample_time = 1/clock_freq;clock_period = 1/(clock_freq*1e-9);fir_coeff = firpm(31,[0 0.1 0.2 0.5]*2,[1 1 0 0]);fir_coeff = round(fir_coeff.*(2-1));点击运行按钮,并关闭编辑器。
1.2外围激励的设计在simulink中新建FIR_32tap_ex2.mdl模块。
Sine Wave 0.33及sine wave 0.01分别产生两个正弦波信号,经过ADD模块叠加后输入Fir 32滤波器模块中进行处理,处理前的信号频谱可由input Spectrum观察,处理后的结果由scope模块显示模拟波形,频谱可由output Spectrum观察。
DSPBuilder系统设计工具PPT课件

第21页/共80页
•4.加入正弦波产生模 块
•(1) 在Simulink Library Browser界面 点击Simulink中的 Sources库,从中找到 Sine Wave模块。
•
(3) 选择File→New→Model命令,建立
一个新的模型文件。
•
(4) 选择File→S第a16v页e/共命80页令,保存文件到指定
第17页/共80页
•2.加入SignalCompiler模块
• (1) 在Simulink Library Browser界面中,打 开Altera DSP Builder文件夹。
Quartus II
HDL仿真 (ModelSim)
生成编程文件 (.pof,.sof)
下载至硬件
第12页/共80页
mdl转成 vhdl
手动流程
综合 (Quartus II, LeonardoSpectrum,
Synplify)
Quartus II
对于DSP Builder设计,Altera提 供自动和手动两种综合、编译流程。如果 DSP Builder模型是顶层设计,则两种综 合与编译流程都可以使用;如果DSP Builder模型不是顶层设计,而是非DSP Builder硬件设计中的一个独立模块,则 只能使用手动综合、编译流程,在DSP Builder软件之外建立顶层编译设置,包
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
+ + + fir4_block + + Parallel Adder Subtractor 512 AltBus17 Parallel Adder Subtractor1 + 19:0 17:8 + + o9:0 y BusConversion1
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
2. 16阶FIR滤波器设计
2)直接I型16阶FIR数字滤波器设计
i8:0 AltBus -9 AltBus1 3 AltBus2 14 AltBus3 1 AltBus4 -22 AltBus5 -12 AltBus6 46 AltBus7 106 AltBus8 106 AltBus9 46 AltBus10 -12 AltBus11 -22 AltBus12 1 AltBus13 14 AltBus14 3 AltBus15 -9 AltBus16
电子设计自动化技术
讲授:伍宗富
课题: DSP Builder设计实例(2)
一、 FIR滤波器设计 二、 数字调制系统设计 三、课堂结 四、作业
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
信号滤波可以用滤波器改变信号的频率特性,让一些 信号频率通过,而阻塞另一些信号频率。数字滤波器是 由一系列滤波器系数定义的方程,可采取数字滤波程序 来实现。在硬件不修改的情况下,只要改变滤波器的系 统表即可完成滤波器特性的修改。通过接收原始数据, 输出滤波后的数据,其性能的变化只需改变数字滤波器 的系数表。
使用教材:
SOPC技术与应用.江国强 编著.北京:机械工业出版社
主要参考文献:
[1] 刘洪涛.ARM嵌入式体系结构与接口技术[M].北京:人民邮电出版社 [2] 田耘等.无线通信FPGA设计[M].北京:电子工业出版社 [3] 孟宪元等.FPGA嵌入式系统设计教程[M].北京:电子工业出版社 [4] 徐光辉等.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社 [5] 沈文斌.嵌入式硬件系统设计与开发实例详解[M].北京:电子工业出版社 [6]周立功等.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社 [7] 王彦等.基于FPGA的工程设计与应用[M].西安:西安电子工业出版社 [8] 周润景等.基于QuartusII的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社 [9]
H z bk z
K 0
M
k
y (n) x(n i )h(i )
i 0
L 1
直接I型FIR滤波器:可理解为一个分节的延时线,把每一节的输出加权 累加,可得到滤波器的输出。但滤波器的阶数越高,占用的运算时间就越 多,因此在满足指标要求的情况下应尽量减少滤波器的阶数。
电子设计自动化技术
x_in[8:0] In1[8:0] In2[8:0] In3[8:0] In4[8:0] Out2[8:0] y _out[19:0] x_in[8:0] In1[8:0] In2[8:0] In3[8:0] In4[8:0] Out2[8:0] y _out[19:0] x_in[8:0] In1[8:0] In2[8:0] In3[8:0] In4[8:0] Out2[8:0] y _out[19:0]
K 0 M
表示滤波器的输出序列。
系统的传递函数为:
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
对于直接I型的FIR滤波器是可级联的,要滤波器系数 可变的情况下,可以预先设计好一个FIR滤波器节, 在实际应用中通过不断地调用FIR滤波器节,将其级 联起来,完成多阶FIR滤波器的设计。
抽头延迟线 系数乘法器 加法器
电子设计自动化技术
讲授:伍宗富
《 E D A 技 术》 课 程 教 学
讲授:伍宗富
湖南文理学院电气与信息工程学院
2018年8月20日星期一
电子设计自动化技术
讲授:伍宗富
第 十五 讲 DSP Builder设计实例(2)
教学目的:使学生会用Quartus II和DSP Builder软件设计 DSP的常用应用模块。 教学重点:通过实例讲解DSP应用模块的开发方法。 教学难点:DSP应用模块的设计步骤。 教学方法:讲授法、计算机辅助法。 课时计划:2学时
讲授:伍宗富
一、FIR滤波器设计
2. 16阶FIR滤波器设计
1)4阶FIR滤波器子系统设计
z-1 Delay 2 In1[8:0] i8:0 hn1
-1
H z bk z z
k K 1
16
1
设计一个16阶的低通FIR滤波器,对模拟信号的采样频率Fs为48KHz, 要求信号的截止频率为Fc=10.8KHz,输入序列为宽为9位(最高位为符号位)。
1 x_in[8:0] i8:0 Xin a X b Product
K 0
b z
k
15
k
z
a 3 In2[8:0] i8:0 hn2 z-1 Delay2 4 In3[8:0] i8:0 hn3 z
-1
Delay1
X b Product1
+ + + + +
为了便于调用子系统 模块的更高级系统进行 SignalCompile分析,必 须对生成的子系统模块 的“Mask type”进行设 置。
1. FIR滤波器原理
有限冲激响应数字滤波器(FIR)具有精密的线性相位, 同时又可以有任意的幅度特性。 L 1 y (n) x(n i )h(i ) 数学上L阶的FIR滤波器系统差分方程为: i 0
x(n)是输入采样序列,h(n)是滤波器系数,L是滤波器的阶数,y(n)
H z bk z k
o19:0 yout 1 y_out[19:0]
a X b Product2
Parallel Adder Subtractor
Delay3 5 In4[8:0] i8:0 hn4
a X b Product3 o8:0 x4 2 Out2[8:0]
使用“Mask Subsystem…” 中的“Documentation”设置 “Mask type”为 “SubSystem AlteraBlockSet” 就可以利用SignalCompiler 正确地生成VHDL代码。