第4章__DSP_Builder设计进阶

合集下载

DSP Builder的功能和流程

DSP Builder的功能和流程

电子131 XXX XXXXXX1、说明DSP Builder 的主要功能DSP Builder 是Altera 公司提供的一种DSP 系统设计工具,是Matlab/Simulink 设计工具和QuartusII 设计工具之间的一个桥梁,把Matlab/Simulink 中的DSP系统设计转化为HDL文件,在QuartusII 工具中实现到具体的器件中。

产生于Matlab\DSP Builder\Quartus II 流程的DSP 模块或其他功能模块可以成为单片FPGA 电路系统中的一个组成部分,担任某个局部电路的功能;通过Matlab\DSP Builder ,可以直接为Nios II 嵌入式处理器设计各类加速器,成为Nios II 系统的一个接口设备,与整个片内嵌入式系统融为一体。

DSP Builder 是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和RTL 级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。

2、说明DSP Builder 的设计流程 Simulink 模型仿真综合(Quartus II,LeonardoSpectrum,Synplify)ATOM Netlist产生Quartus II HDL仿真(ModelSim)综合(Quartus II,LeonardoSpectrum,Synplify)Quartus II 生成编程文件(.pof,.sof)下载至硬件自动流程手动流程mdl转成vhdlMatlabSimulink建立模型第一步是在Matlab 的Simulink 环境中建立一个mdl 模型文件,调用Altera DSP Builder 和其它Simulink 库中的图形模块(Block),构成设计框图(或称Simulink 设计模型)。

第二步是利用Simulink 强大的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。

DSPBuilder系统设计工具

DSPBuilder系统设计工具
7.1 DSP Builder安装
使用DSP Builder创建HDL设计需要有下面的软 件支持:
➢Matlab 6.1或6.5版本; ➢ Simulink 4.1或5.0版本; ➢ Quartus Ⅱ 2.0以上版本; ➢ Synplify 7.2以上版本或LeonardoSpectrum 2002c
➢ 将DSP Builder模型生成的VHDL文 件加入顶层综合工程。
下载至硬件
第12页/共80页
mdl转成 vhdl
手动流程
综合 (Quartus II, LeonardoSpectrum,
Synplify)
Quartus II
对于DSP Builder设计,Altera提供自动 和手动两种综合、编译流程。如果DSP Builder模型是顶层设计,则两种综合与编译 流程都可以使用;如果DSP Builder模型不是 顶层设计,而是非DSP Builder硬件设计中的 一个独立模块,则只能使用手动综合、编译 流程,在DSP Builder软件之外建立顶层编译 设置,包括:
注意:在安装DSP Builder授权之前,必 须已经安装了授权的Quartus Ⅱ软件。
第5页/共80页
授权文件的安装
得到DSP Builder授权文件后,可以直接将授权 文件的内容粘贴到Quartus Ⅱ授权文件(license.dat)中, 或在Quartus Ⅱ软件中单独指定DSP Builder授权文 件。
DSP Builder 授权代码
第6页/共80页
授权文件的安装
在Quartus Ⅱ软件中指定DSP Builder授权文件, 其操作步骤如下:
(1) 将DSP Builder的授权文件以一个不同的文件 名单独保存,如dsp_builder_license.dat。

DSP Builder

DSP Builder

1.说明DSP Builder的主要功能DSP Builder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期。

已有的MATLAB函数和Simulink模块可以和Altera DSP Builder模块以及Altera知识产权(IP)MegaCore功能相结合,将系统级设计实现和DSP 算法开发相链接。

DSP Builder支持系统、算法和硬件设计共享一个公共开发平台。

设计人员可以使用DSP Builder模块迅速生成Simulink系统建模硬件。

DSP Builder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。

可以使用DSP Builder模型中的MegaCore功能实现复杂功能的集成。

Altera还提供DSP Builder高级模块集,这一Simulink库实现了时序驱动的Simulink综合。

Altera MegaCore是高级参数化IP功能,例如有限冲击响应(FIR)滤波器和快速傅立叶变换(FFT)等,经过配置能够迅速方便的达到系统性能要求。

MegaCore功能支持Altera的IP评估特性,使您在购买许可之前,便可以验证功能及其时序。

Altera IP MegaStore网站上为DSP Builder和IP评估流程提供DSP IP完整介绍DSP Builder SignalCompiler模块读取由DSP Builder和MegaCore模块构建的Simulink建模文件(.mdl),生成VHDL文件和工具命令语言(Tcl)脚本,进行综合、硬件实施和仿真。

图示为DSP Builder设计流程。

DSP Builder是一个系统级(或算法级)设计工具,它构架在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势【10】。

DSP Builder依赖于Math Works公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,同时又通过Signal Compiler可以把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。

使用DSP Builder设计FSK发射机的数字中频

使用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,即可将所有波形显示出来。

DSPBuilder用户指南(中文)

DSPBuilder用户指南(中文)

6.0 用户指南1.关于特性⏹支持以下特性:把 (信号处理工具箱和滤波设计工具箱)和软件与公司的软件连接。

⏹支持以下器件系列:●®和器件●和器件●™, 20和 20器件●™器件●®1K器件● 10K®和®6000器件⏹使用开发板快速建立样机。

⏹支持®逻辑分析仪,探测来自上器件嵌入式信号分析仪和把数据转入到工作空间,以利用可视化分析。

⏹在库中支持的转入模块:●或设计授权转入●转入在工程文件中的⏹回路中的硬件模块()能够使硬件在( )中加速二次模拟。

⏹在中的包括了你能用于建立一些定制逻辑的模块,这些定制逻辑和以及其它的设计一起工作。

●低级和辅接口模块●和捆绑模块●全部模块是用户可以配置的●分离的模块可用来支持端口●将接口拖拉进设计模块中,你能建立任何的元件●根据中的仿真,你能验证接口,用生成的和文件把你的设计输出到⏹包括状态机模块。

⏹支持系统算法和执行的统一表示。

⏹自动生成或测试平台或者自动地从和测试向量中自动生成向量文件()。

⏹自动启动编译。

⏹使能用位及周期精确设计仿真。

⏹提供和软件一起使用的各种定点算法和逻辑运算。

⏹生成信号名的自动传播。

⏹使用工作空间或已标记的子系统变量,你能说明模块参数对话框中的大部分值。

一般描述在可编程逻辑器件()的数字信号处理()系统设计中,需要高级算法与硬件描述语言()开发工具。

集成了这些工具,把的和系统级设计工具的算法开发、仿真和验证能力与和设计流程(包括软件)组合在一起。

借助于你在友好的算法环境中生成的设计硬件表示,缩短了设计周期,你能把已存在的函数和模块与模块以及®函数组合在一起,把系统级设计和执行算法开发连接在一起。

在这种方法中,允许系统、算法和硬件设计人员共享一个共同的开发平台。

你能使用中的块在中建立一个模拟系统的硬件执行。

包含位和周期精确的块,这些块又包括许多基本操作,如算法或存储函数以及对关键设计特性优势的运用,如嵌入式,块或嵌入式存储器。

DSP_Builder设计深入

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”

基于DSP Builder的数字滤波器设计与实现

基于DSP Builder的数字滤波器设计与实现

该模 块可方便 地把 MA L BS ui T A / m l k中的设计 i n 转换为 F G P A可编译的 V D 文件 圈 H L 。
2 I滤波器 的D PB i e设计 1 阶F 6 R S ul r d
21 滤波器参数选取 .
利用 MA L B提供 的滤波器设计 的专门工 TA 具箱 F A o l D T o可以方便地设计滤波器系数 。根
(= -- ) j i1 )
B i e ̄具箱 中的模块进行简单的调用即可。值 ul r d 得注意的是 , S u dr D PB i e 中的 D P l S 模块是以算法
级 的 描 述 出现 的 ,易于用户从 系统 或 者 算 法 级 进
典 型 的直 接 I FR滤 波器 如 图 l 示 ,滤 型 I 所
(l ke 的形式出现 ,可以在 S ui 环境下进 Bo s ) c t i lk m n
1 FR 波 器 原 理 与 D PB i e I滤 S ul r d
11 I滤 波器 原 理 . FR
对于 一 个 FR 滤 波器 系统 ,它 的冲 激响应 总 I 是有 限长 的,FR 滤 波器 的数 学表 达 式可 用差 分 I
A src: il r ga b ta tFe po rmmal gt ary(P A) eie aewie sdi ii linl r csn p l a o s d be a r e a F G dvcs r dl ue dgt g a po e igapi t n y n as s ci
—弛
12 . DSP B i e ul r d
。蕴 : . 源自图 1 直 接 型 FR 滤 波器 结 构 图 I
以往 MA L T AB工 具 的使 用 往往 作为 DS P算

基于DSP Builder的软件无线电调制器的设计与实现

基于DSP Builder的软件无线电调制器的设计与实现

基于DSP Builder的软件无线电调制器的设计与实现软件(software defined radio)是由J.Mitola在1992年提出的一个概念,它的核心思想是在彻低可编程的硬件平台上通过注入不同的软件,实现对工作频段、调制解调方式、信道多址方式等无线功能的转变。

调制解调技术在软件无线电的讨论过程中是一个重要的组成部分。

目前对于软件无线电调制技术的实现多是采纳具有调制功能的专用芯片(其中应用较为广泛的是AD公司的AD985X系列)或是可编程器件和专用器件相结合的设计办法实现,然而在某些场合,这些调制方式和控制方式与系统的要求差距很大。

因而,彻低采纳高性能的器件设计出符合自己需要的调制就是一个很好的解决办法,它提供了一个良好的数字无线通讯系统验证环境,可以将多种调制算法在试验平台上实现,并通过平台提供的基本控制系统实现对系统的验证,并且用这种软件化硬件的设计计划,可以产生多种模式的数字调试方式,具有多功能性、通用性、集成度高、易于升级等优点。

本文采纳了公司推出的FPGA的开发工具DSP Builder软件,基于DDS(挺直数字频率合成)技术原理,设计了一种适合于软件无线电用法的可控数字调制器,可以完成FSK、PSK、ASK等调制方式,并采纳此办法在FPGA芯片上举行系统实现。

2.FSK、PSK、ASK调制原理在数字通信系统中,数字基带信号通常要经过数字编码然后调制后再传输。

频繁的调制方式有频移键控(FSK)、相移键控(PSK)、幅移键控(ASK)等。

以基带数字波形序列来表示{ak},通常二进制数字基带信号表示为:其中,ak为二元码符号,1或0;g()为单极性不归0波形,归一化幅度;Tb为二元序列码元问隔。

则频移键控(FSK)信号为:第1页共5页。

DspBuilder使用讲解

DspBuilder使用讲解

第9章 DDS设计
数据线位宽
相 位 字 输 入同 步 寄存器
N
频 率 字 输 入同 步 N 寄存器
clk 系统时钟
N
M
M
寄存器
相位调制器 相位累加器
正 弦 ROM 查找表
正弦信号输出 D/A
余 弦 ROM 查找表
余弦信号输出 D/A
图9-2 正交信号发生器
第9章 DDS设计
幅度调制在很多场合是需要的。我们改进基本DDS 结构,在正弦ROM表后、D/A前放置一个幅度控制模 块,一般采用乘法器来实现。如图9-3。
下面开始仿真。图9-6显示了仿真结果。
第9章 DDS设计
图9-6 仿真结果
第9章 DDS设计
9.3 FSK调制器设计
第9章 DDS设计
9.1 DDS的基本原理
我们知道,对于正弦信号发生器,它的输出可以 用下式来描述:
Sout Asint Asin(2πfoutt).
(9-1)
第9章 DDS设计
其中Sout是指该信号发生器的输出信号波形,fout指 输出信号对应的频率。上式的表述对于时间t是连续的, 为了用数字逻辑实现该表达式,必须进行离散化处理。 用基准时钟clk进行抽样,令正弦信号的相位:
“++” 选择“Pipeline” 参数“Clock Phase Selection”设为“1”
第9章 DDS设计
BusConversion2模块:(BusConversion) 库:Altera DSP Builder中Bus Manipulation库 参数“Input Bus Type”设为“signed Integer” 参数“Input [number of bits].[]”设为32 参数“Output Bus Type”设为“Signed Integer” 参数“Output [number of bits].[]”设为“10” 参数“Input Bit Connected to Output MSB”设为“31” 参数“Input Bit Connected to Output LSB”设为“22” 使用“Round”

DSPbuilder安装指南(以9.1为例)

DSPbuilder安装指南(以9.1为例)

DSPbuilder安装指南(以9.1为例)1.前期准备⾸先说⼀下,我⽤的是dsp builder 9.1 +QII 9.1 SP1+ MATLAB R2009A⽹上没有dsp9.1sp1的破解,我是直接⽤9.1的,发现这样配也能正常⼯作DSP Builder 不是独⽴的软件,在安装 DSP Builder 之前需安装以下软件1.MATLAB软件,必须安装 Simulink组件。

2.安装Quartus II软件安装DSP Builder,安装程序中包含的脚本会⾃动关联Quartus II 和Matlab。

注意三个软件要相互匹配,这⼉给个官⽅的要求:2.安装DSP Builder⼀般步骤,⼤伙懂的直到DSP Builder 的安装结束的对话框跳出,点击finish。

3.matlab上的⼀些必要操作打开matlab 点击Simulink⼯具箱,在出现的Simulink LibraryBrowser栏中可发现多了以下两个⼯具库依次单击它们,软件需要建⽴⼯具库。

这⼉可能会碰到以下问题:1.Matlab出现很多warning ,跳出窗⼝报告出错,并⾃动退出软件处理⽅法:然后在X:\MATLAB\R2008a\toolbox\local\pathdef.m中删除与Altera有关的路径。

注意需要空⼀⾏,如下所⽰:p = [...%%% BEGIN ENTRIES %%%(空⼀⾏)matlabroot,'\toolbox\matlab\general;', ...matlabroot,'\toolbox\matlab\ops;', ...matlabroot,'\toolbox\matlab\lang;', ...matlabroot,'\toolbox\matlab\elmat;', ...matlabroot,'\toolbox\matlab\elfun;', ...之后重新安装DSP Builder2.安装完DSP Builder后,发现Altera DSP Builder Blockset库是空处理⽅法:打开..\MATLAB\R2008a\toolbox\local\matlabrc.m,在此⽂件最后加⼊代码bdclose all; set_param(0,'CharacterEncoding', 'windows-1252')重新启动matlab4.破解 DSP Builder流程1..找个匹配的DSP Builder的破解器按照要求先破解DSP Builder ⽂件。

基于DSPBuilder的DDS设计与实现.

基于DSPBuilder的DDS设计与实现.

基于DSPBuilder的DDS设计与实现DDS(DirectDigitalSynthesizer,直接数字合成器)是继直接频率合成技术和锁相环式频率合成技术之后的第三代频率合成技术,具有易于程控,相位连续,输出频率稳定度高,频率转换速度快和分辨率高等优点。

在现代电子系统及设备的频率源设计中,DDS广泛用于接收机本振、信号发生器、仪器、跳频通信系统、雷达系统等,因此有多家器件公司先后推出了多种DDS专用电路芯片,如AD7008,AD9852,AD9955等,专用DDS芯片由于采用了特定工艺,其DDS(Direct Digital Synthesizer,直接数字合成器)是继直接频率合成技术和锁相环式频率合成技术之后的第三代频率合成技术,具有易于程控,相位连续,输出频率稳定度高,频率转换速度快和分辨率高等优点。

在现代电子系统及设备的频率源设计中,DDS广泛用于接收机本振、信号发生器、仪器、跳频通信系统、雷达系统等,因此有多家器件公司先后推出了多种DDS专用电路芯片,如AD7008,AD9852,AD9955等,专用DDS芯片由于采用了特定工艺,其固定的控制方式使其在工作方式、频率控制等方面有时与实际系统的要求差距较大,并不能满足所有要求。

DDS中几乎所有部件都属于数字信号处理器件,所有可采用FPGA器件实现,利用FPGA可以较好地设计出符合用户系统需要的DDS系统,较好地解决了专用DDS灵活性差的问题。

本文应用模块化的设计方法,应用Altera公司的Cyclone器件和DSP Builder软件,设计出具有较高的频率分辨率和稳定性,能够实现频率及相位快速切换的DDS信号源。

在DDS的FPGA设计中,将Matlab仿真与FPGA设计相结合,使FPGA的波形仿真较为直观,大大缩短了DDS设计和调试时间。

1 DDS原理DDS结构见图1,由相位累加器、相位调制器、正弦ROM查找表、D/A构成。

相位累加器是整个DDS的核心,它由一个累加器和一个N位相位寄存器组成,每来一个时钟脉冲,相位寄存器以相位步长M增加,相位寄存器的输出与相位控制字相加,完成相位累加运算,其结果作为正弦查找表的地址,正弦ROM查找表内部存有一个完整周期正弦波的数字幅度信息,每个查找表地址对应正弦波中0°~360°范围的一个相位点,查找表把输入的地址信息映射成正弦波幅度信号,通过D/A输出,经低通滤波器后,即可得一纯净的正弦波。

DSPBuilder在数字信号处理中的应用_图文(精)

DSPBuilder在数字信号处理中的应用_图文(精)

DSP Builder 在数字信号处理中的应用李云飞, 同晓荣(渭南师范学院计算机科学系, 陕西渭南714000摘要:目前数字信号处理(DSP 技术发展迅猛, 在电子、通信、DSP . 以往设计人员在进行DSP 系统设计时通常采用DSP 处理器或在FPG A , , 开发周期长. 本文介绍的DSP Builder 是A ltera 公司推出的一个, , 在Si m ulink 软件中完成系统集成, 然后通过, 通过综合仿真后下载到FPG A . , 这种设计流程更快、更容易.关键词:A; S OPC中图分类号:72文献标志码:A 文章编号:1009—5128(2008 02—0062—04收稿日期:2007—03—05基金项目:渭南师范学院科研基金资助项目(07YKF013作者简介:李云飞(1974— , 男, 甘肃镇原人, 渭南师范学院计算机科学系讲师.数字信号处理(DSP 技术目前广泛应用于电子信息和通信等领域. E DA 技术与FPG A 相结合的DSP 技术, 是现代电子技术发展的产物, 它有效地克服了采用DSP 处理器遇到的诸多技术瓶颈, 在许多方面显示了突出的优势, 如高速与实时性, 高可靠性, 自主知识产权化, 系统的重配置与硬件可重构性, 单片DSP 系统的可实现性以及开发技术的标准化和高效率等. 在诸如实时图像处理、3G 移动通信基站、实时工控系统、卫星导航设备等许多领域中, 基于FPG A 的DSP 解决方案有着无可比拟的优势. DSP Builder 是A ltera 公司推出的一个数字信号处理(DSP 开发工具. 它提供了QuartusII 软件和MAT LAB /Si m ulink 工具之间的接口, 通过DSP Builder 、S OPC Builder 和QuartusII 软件构筑的一套从系统算法分析到FPG A 芯片实现的完整设计平台, 使得基于FPG A 的DSP 系统设计变得比以往更快、更容易, 从而提高了设计效率.图1采用DSP Builder 的DSP 设计流程图1设计流程(1 采用DSP Builder 的DSP设计流程.在过去很长一段时间, DSP 处理器是DSP 应用系统核心器件的唯一选择. 但其硬件结构的不可改变性导致了其总线的不可改变性,而固定的数据总线宽度已成为DSP 处理器一个难以突破的瓶颈.现代大容量、高速FPG A 的出现,克服了DSP 处理器的不足. 由于FPG A 有着规整的内部逻辑块阵列和丰富的连线资源, 这些器件内部一般都内嵌有可配置的高速RA M 、P LL 、LVDS 、LVTT L 以及乘法累加器等, 有些器件甚至内嵌专用DSP 块, 所以特别适合细粒度和高并行度结构特点的数字信号处理任务. 而且其灵活的可配置特性, 2008年3月第23卷第2期渭南师范学院学报Journal of W einan Teachers UniversityM arch 2008Vol . 23No . 2使得FPG A 构成的DSP 系统非常易于修改、易于测试及硬件升级.图2DSP Builder 设计流程传统的基于FPG A 的DSP 设计通常先要通过M atlab 做系统级的算法仿真, 建立算法模型(通常使用C /C++语言或M 语言 . 然后再将系统级的算法模型通过VHDL /Verilog 语言重新描述以便进行综合、布局布线以及寄存器传输级(RT L 的仿真. 通常这一步是最费时的,需要设计人员具有非常丰富的FPG A 设计经验. 最后将设计得到的P OF 文件下载到器件中验证, 以实现最终设计. 采用这种设计流程开发人员必须一步一步地从系统级算法设计直到最终器件配置, 设计周期长、开发难度大, 行软硬件协同设计.采用A 程. ,并且为DSP 系统的软硬件分离提供了可能. 设计人员可以使用DSP Builder 和QuartusII 软件单独进行硬件设计. 使用DSP Builder 工具, 设计者可以直接将M atlab 中的算法设计转为寄存器传输级设计, 并且在Si m ulink 中自动生成RT L 测试文件. 这些文件是已经被优化的预验证RT L 输出文件, 可以直接用于QuartusII 软件进行时序仿真比较. 图1给出了A ltera DSP 设计的总体框图.由图1可以看出这种DSP 设计流程完全基于E DA 特有的自顶向下的设计流程和高速的并行算法结构. 设计人员可以从与硬件无关的系统开始, 在硬件设计的同时进行软件设计, 实现软硬件协同设计. DSP Builder 作为连接系统算法模型与实际硬件实现之间的桥梁, 使得复杂的算法模型可以迅速地在硬件上得以验证, 这是一个相互联系的过程. 设计人员可以使用DSP Builder 中的块来为Si m ulink 中的系统模型创建一个硬件, 这些块覆盖了最基本的操作, 例如运算和存储功能, 设计人员还可以使用A ltera 的I P 核来验证自己的设计. 将事先设定好的嵌入式逻辑分析仪SignalTap 和DSP 硬件系统文件一同适配并下载到FPG A 中, 然后可以在M atlab 的Si m ulink 窗口观测到通过JT AG 口, 来自SignalTap 测得的芯片中DSP 硬件模块的实时工作波形, 实现硬件仿真和调试的目的. 如有必要还可以将DSP 硬件模块通过S OPC 接口, 编辑成N i osII 嵌入式系统处理器的用户指令, 从而成为N i osII 系统的一个接口设备, 与整个片内嵌入式系统融为一体.图3DSP Builder 中设计的滤波器模型(2 DSP Builder 设计流程.・36・2008年第2期李云飞, 等:DSP Builder 在数字信号处理中的应用DSP Builder 是一个架构在多个软件之上的可把算法仿真建模与RT L 级两个设计领域连接起来的系统级设计工具. DSP Builder 以Si m ulink 中的B l ockset 形式在Si m ulink 中进行图形化设计和仿真. 通过Sig 2nal Co mp iler 把Si m ulink 的设计文件转成相应的硬件描述语言VHDL 设计文件, 以及tcl 脚本. 由于在FPG A 上设计DSP 模块的复杂性, 涉及的软件不仅仅是Si m ulink 和QuartusII . DSP Builder 针对不同情况提供了图4 F I R 滤波其仿真结果自动和手动两种设计流程. DSP Builder 设计流程如图2所示.如果采用自动流程时, 几乎可以忽略硬件的具体实现过程, 选择让DSP Builder 自动调用Qu 2artusII 等E DA 软件, 完成综合(Synthesis 、网表(AT O M Netlist 生成和QuartusII 适配, 直至在M atlab 中完成FPG A 的配置下载过程.如果采用手动流程, 设计输入外, 的E VHDL . Quar 2tusII , 也可以使用第三方工具如Synp lify Pr o 或LeonardoS pectru m. 在综合时, 可能需要对综合器进行配置或者提供综合的约束条件, 由于这个过程十分繁琐, 所以DSP Builder 的Signal Co mp iler 提供了相应的接口, 针对设计自动生成一个tcl 脚本文件与综合器相接. 综合器会综合出一个网表供下一流程使用, 主要是E D I F 网表文件或VQ M , 它们是一种参数可配置的, 并含有具体器件系列硬件特征(如逻辑宏单元LCs 、I/O单元、乘积嵌入式系统块ES B 的网表文件. QuartusII 可以利用这些AT O M 网表针对选定的具体器件进行配置, 包括布局布线、结构优化等操作, 最后产生时序仿真文件和FPG A 目标器件的编程与配置文件. 设计者可以在QuartusII 中完成对Pin 的锁定, 更改一些约束条件.图5通过DSP Builder 生成VHDL 代码・46・渭南师范学院学报第23卷(3 设计举例.使用DSP Builder 可以方便地在图形化环境中设计F I R 滤波器, 而且滤波器系数可以借助于M atlab 中的滤波器设计工具完成. 例如设计一个3阶直接I 型F I R 滤波器的模型如图3所示. h (n =(h (0 x (n +h (1 x (n -1 +h (2 x (n -2 +h (3 x (n -3 其中, h (0 =h (3 =63, h (1 =h (2 =127.由于F I R 滤波器的系数h (n 已给定, 在DSP Builder 中可以使用增益模块实现h (k 3x (n -k 的运算, 用Delay 模块来实现输入信号序列x (n 的延时. 其中Chir p 模块为一个线性调频信号发生模块, 产生0. 1Hz 到10Hz 的线性调频信号. 其仿真结果如图4所示.从仿真波形可以看出一个线性调频信号通过3阶F I R 滤波器后, 幅度发生变化, 频率越高, 幅度衰减越多. 如果仿真通过, 则可以通过如图5所示的DSP Builder 中的工具将模型自动生成代码供Quar 2tus 综合下载到FPG A 中, 完成设计.2结论DSP Builder . 利用M atlab /DSPBuilder 进行DSP 模块设计是S , Builder 设计流程的DSP 功能模块可以成为单片FPG A 电, . 如果使用Stratix 和StratixII 系列FPG A 作为开发平台, 加上各种I P 核进行设计则可以充分发挥DSP Builder 的优势. 可以预见DSP Builder 将在数字信号处理中取得广泛的应用.参考文献:[1]任爱峰, 初秀琴, 常存, 等. 基于FPG A 的嵌入式系统设计[M].西安:西安电子科技大学出版社, 2004.[2]潘松, 黄继业, 曾毓. S OPC 技术实用教程[M].北京:清华大学出版社, 2004.[3]黄智伟. FPG A 系统设计与实践[M].北京:电子工业出版社, 2005.[4]楮振勇, 齐亮, 田红心. FPG A 设计及应用(第2版 [M].西安:西安电子科技大学出版社, 2006.[5]王毅平, 张振荣. VHDL 编程与仿真[M].北京:人民邮电出版社, 2000.[责任编辑牛怀岗]Appli ca ti on of D SP Bu ilder i n D i g it a l S i gna l Processi n gL I Yun 2fei, T ONG Xiao 2r ong(Depart m ent of Computer Engineering, W einan Teachers Univeristy, W einan 714000, ChinaAbstract:The digital signal p r ocessing (DSP technol ogy has rap idly devel oped at p resent and it has widely used in electr onic, communicati on and airs pace . DSP designers usually adop te DSP p r ocess or or hardware describe language (HDL at FPG A in their design several years ago . The paper briefly intr oduces DSP Builder that is a DSP devel op t ool, which can all ow designers comp leting algorith m design inM atlab and syste m integrati on in Si m ulink, finally making HDL file used in Quartus II by Signal Comp iler bl ock . DSP designers can use the HDL file t o accomp lish their design thr ough synthesis si m ulati on and downl oad in FPG A. The design fl ow is faster and si m p ler compared with design based on HDL.Key words:signal p r ocessing; si m ulati on; DSP; FPG A; VHDL; S OPC ・56・2008年第2期李云飞, 等:DSP Builder 在数字信号处理中的应用。

第四章 DSP软件开发过程.pdf

第四章 DSP软件开发过程.pdf

宏指 令与 子程 序的 异同
宏定义的格式 macname .macro[parameter 1][,…,parameter n] 助记符指令与宏指令 [.mexit] .endm 宏调用的格式 [label][:]macname [parameter1][,…,parametern]
14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 1 1 1 1
15பைடு நூலகம்
abc,def,ghi,adr abc,def,ghi,adr
000000 000000 000001 000002 000003 1000! 0000! 0000! 8000!
add3
LD abc,A ADD def,A ADD ghi,A STL A,adr
第二节
汇编语言程序的汇编
汇编命令 助记符指令 宏命令
LABEL INT0 ISR2 proc
VALUE 0002+ REF REF
DEFN 19
REF 1 3 4
21 28
21
交叉引用清单中符号的属性
REF :外部引用(.global) UNDF:未曾定义过 ’ :在.text段定义的符号。 ” :在.data段定义的符号。 + :在.sect段定义的符号。 :在.bss或.usect段定义的符号。
5
要 点
1.标号必须从第1列写起。 2.标号最多可达32个字符,可以是A~Z,a~z,0~ 9,_,以及$,但标号的第1个字符不能是数字。 3.引用标号时,标号的大小写必须一致。 4.标号的值就是段程序计数器SPC的值。 5.如果不用标号,则第一个字母必须为空格、分号 或星号(*)。

DSP Builder设计初步资料

DSP Builder设计初步资料

23
9.2 正弦信号发生器设计
2、添加波形观察模块
K 康芯科技 X
24
图9-18 Scope初始显示
9.2 正弦信号发生器设计
3、Scope参数设置
K 康芯科技 X
25
图9-19 设置Scope参数
9.2 正弦信号发生器设计
3、Scope参数设置
K 康芯科技 X
图9-20 sinout全图
26
图9-13 设置SinCtrl
18
9.2 正弦信号发生器设计
10、放置端口SinCtrl
K 康芯科技 X
图9-13 设置SinCtrl
19
9.2 正弦信号发生器设计
11、放置Product模块
K 康芯科技 X
图9-14 设置乘法单元
20
9.2 正弦信号发生器设计
12. 放置输出端口SinOut
7. 设置IncCount
K 康芯科技 X
图9-10 LUT模块
14
9.2 正弦信号发生器设计
8、放置正弦查找表(SinLUT)
K 康芯科技 X
127*sin[0:2*pi/2^6]:2*pi]) 127*sin[0:2*pi/2^8]:2*pi])
9-1 9-2
511*sin[0:2*pi/2^6]:2*pi]) + 512
5、启动仿真
K 康芯科技 X
图9-24 有符号输出波形(系统级仿真 )
30
9.2 正弦信号发生器设计
5、启动仿真
K 康芯科技 X
图9-25 无符号输出波形(系统级仿真)
31
9.2 正弦信号发生器设计
6、设计成无符号数据输出
K 康芯科技 X

基于DSP Builder的通用调制信号发生器设计分析

基于DSP Builder的通用调制信号发生器设计分析

基于DSP Builder的通用调制信号发生器设计分析作者:段矿平来源:《数字技术与应用》2014年第04期摘要:在DSP Builder的基础上,系统采用DDS技术的调制方式对系统进行设计和仿真,经过验证之后,该系统具备多模式的信号调制功能,而且扩展性比较好,灵活性也很强。

最终的实现方法是通过采取FPGA来完成,在进行硬件验证时,采取的是嵌入式逻辑分析仪设备。

关键词:DSP Builder 调制信号发生器中图分类号:TN911.3 文献标识码:A 文章编号:1007-9416(2014)04-0155-02在对通用调制信号发生器进行设计与分析时,会用到DDS模型。

DDS模型的应用越来越广泛,并在其中发挥着重要的作用。

1 系统概述1.1 DSP BuilderDSP Builder由美国的Altera公司推出,是面向DSP开发的一种系统级工具。

在采用FPGA对DSP系统进行设计时,就可以直接通过那界面对该系统进行建模以及系统级的仿真。

通过VHDL硬件,可以使得该系统的设计模型进行描述语言的转换。

该系统在DSP Builder的基础上,利用DDS技术完成通用调制信号发生器的设计与分析。

1.2 DDSDDS全称为直接数字频率合成器,是新型的频率合成技术,由频率控制字、相位累加器、正弦ROM查询表和O/A转换器以及低通滤波器五部分组成。

在高速储存器中,DDS会放入有关正弦函数-相位的数据表格,再进行ROM查询表的相关操作,读出的数据会被送到高速DAC中,从而产生正弦波。

在这个过程中,需要有参考的系统时钟,通常会采用晶体振荡器,能够保证其高度的稳定性。

2 通用调制信号中常见的5种调制方式在通用调制信号中常见的几种调制方式包括PSK、ASK、FSK、MSK以及QAM等。

2PSK在传输的效率很高,抗噪声的能力比较强;2ASK设备比较简单,但是在抗噪音性能方面比较差。

64QAM在频带资源比较有限的场合比较适用。

设计模式Builder_生成器

设计模式Builder_生成器

Builder(生成器)Builder(生成器)属于创建型模式,针对的是单个复杂对象的创建。

意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

举例子如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来,结合例子可以加深你的理解,下面我准备了三个例子,让你体会什么场景下会用到这种设计模式。

搭乐高积木乐高积木是很典型的随机拼装场景,你有很多乐高积木,要搭一个小房子都太复杂了,可能不得不看着说明书一步步操作,这就像创建一个复杂的对象,要传入非常多的参数,而且顺序还不能错。

如果不考虑拼装乐高过程中的乐趣,你只是想快速得到一个标准的房子,怎么样才可以最快最省事?工厂流水线制作一个罐头要经历许多步骤,而其中一些步骤比如制作罐头是通用的,可以用这个罐头装很多东西,比如红枣罐头、黄桃罐头,那工厂流水线是怎么做到灵活可拓展的呢?创建数据库连接池建立一个数据库连接池,我们需要传入数据库的地址、用户名与密码、还有要创建多少大小的连接池,缓存的位置等等。

考虑到数据库必须正确连接后才有效,创建时必须校验传入的数据库地址与密码的正确性,甚至存储方式与数据库类型还有关系,这是一个简单的new实例化可以解决的吗?意图解释在乐高积木的例子中,我们为了得到一个房子其实不需要关心每一个积木应该如何摆放,我们只要交给组装工厂(一个人或者一个程序)产出标准房子就行了,这其中参数可能是.setHouseType().build()设置房屋类型,而不需要new House(block1, block2, ... block999)传递这些没必要的参数。

其中组装工厂就是生成器。

在工厂流水线的例子中,流水线就是生成器,一个流水线可以不通过不同组合生成不同作用的工厂,黄桃罐头的流水线可以理解为new Builder().组装罐头().放入黄桃().build(),红枣罐头的流水线可以理解为new Builder().组装罐头().放入红枣().build(),我们可以复用生成器最基础的函数组装罐头()将其用于创建不同的产品中,复用了组装基础能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Builder设计进阶 第4章 DSP Builder设计进阶
建 立 好 模 型 后 , 按 照 sinout 模 型 的 例 子 设 定 好 Simulink的仿真设置,并给定合适的Step模块的激励参 数,启动subsint模型的仿真。图4-9显示的是subsint模 型的仿真波形。从图上可以看出,subsint模型在sinout 模型的基础上增加了波形的电压偏移。 注意:图4-9是subsint模型顶层原理图上Scope的波 4-9 subsint Scope 形显示。在这个例子中,子系统singen中还含有一个 Scope模块,同样也可以对相应节点的波形进行观察。
Builder设计进阶 第4章 DSP Builder设计进阶
通过对每一层次的子系统的调用,可以实现复杂 的DSP模型结构。为了便于设计者管理,Simulink提 供了“Model Browser”来显示模型的结构。在模型窗 口选择“View”→“Model Browser Options”→“Model Browser”项,在“Model Browser”前打上“√”(见图 4-12)。
Builder设计进阶 第4章 DSP Builder设计进阶
【例4-1】mac.vhd文件调用。 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; entity mac is Port ( a : in std_logic_vector(11 downto 0); b : in std_logic_vector(7 downto 0); Q : out std_logic_vector(19 downto 0));
Builder设计进阶 第4章 DSP Builder设计进阶
图4-10 编辑SubSystem的mask
Builder设计进阶 第4章 DSP Builder设计进阶
图4-11 编辑singen的“Mask type”
Builder设计进阶 第4章 DSP Builder设计进阶
设置完“Mask type”后,SignalCompiler就可以正 常地生成VHDL代码了。不过,与sinout模型生成的 VHDL代码有所不同,sinout模型在转换时只生成一个 VHDL文件(TestBench文件除外),而subsint模型在转换 后生成了两个VHDL文件:subsint.vhd和singen.vhd。其 中,subsint.vhd是顶层的VHDL文件,singen.vhd是 singen子系统的VHDL文件。 SignalCompiler对于子系统模块的处理是:每个子 系统模块都产生一个VHDL文件,在上一级的VHDL文 件中加以例化调用。
CtrlIn模块:(Altbus) 库:Altera DSP Builder中Bus Manipulation库 参数“Bus Type”设为“Single Bit” 参数“Bus Type”设为“Input port”
Constant模块:(Constant) 库:Simulink中Source库 参数“Constant Value”设为“512”
Builder设计进阶 第4章 DSP Builder设计进阶
4.1.1 DSP Builder的子系统 DSP Builder可以支持层次化设计方法。在Matlab 的Simulink建模时,可以使用SubSystem来完成子系统 的封装和调用。DSP Bulider继承了Simulink的子系统 (SubSystem)来完成DSP模型的层次化设计。 下面以一个示例来具体说明DSP Builder的层次化设计。 DSP Builder 首先建立一个新的模型,命名为subsint模型,依照 图4-1连接起来(这个图是前面sinout模型的简化,因此 也可以复制sinout模型的Simulink图到subsint模型,再 修改一下即可)。
Builder设计进阶 第4章 DSP Builder设计进阶
图4-2 建立subsystem
Builder设计进阶 第4章 DSP Builder设计进阶
图4-3 建立Subsystem后的大原理图
Builder设计进阶 第4章 DSP Builder设计进阶
在新生成的Subsystem模块上共有两个端口:In1、Out1。 事实上图4-3显示的是subsint模型的顶层(Top Level) 原理图。这时用鼠标双击Subsystem子系统模块,就会 弹出“subsint/Subsystem”窗口,显示Subsystem子系统 模块封装的原理图(见图4-4)。可以看出,封装后的图 自动增加了两个Simulink的端口,即:In1和Out1。 在打开的子系统模块中,可以任意地增删模块; 放置仿真用的Simulink库的模块;引入“Scope”等。不 过某些DSP Builder库的模块只能放置在顶层原理图中, 比如SignalCompiler模块。假如在子系统模块中放置了 SignalCompiler模块,只可以进行Simulink的仿真,但 不能使用SignalCompiler来生成相应的VHDL代码。
Builder设计进阶 第4章 DSP Builder设计进阶
4.1 层 次 化 设 计
上一章我们已在Matlab/Simulink中设计了一个简 单的正弦波发生器。作为示例,该模型是非常简单的, 只需要数个DSP Builder模块就可以构成。但在其它许 多实用领域,如通信领域中,实际需要实现的DSP模 型往往要复杂得多,如果把所有模块放在同一个 Simulink图中,设计图会显得非常复杂、庞大,不利于 阅读和排错。这时,就必须采用层次化设计方法来设 计模型了。
Builder设计进阶 第4章 DSP Builder设计进阶
图4-4 subsint/Subsystem子系统图
Builder设计进阶 第4章 DSP Builder设计进阶
同普通的DSP Builder模块一样,子系统模块也可 以自行命名,操作方法同普通模块。见图4-5,可以把 Subsystem子系统模块的名字修改为singen。 在子系统中的输入/输出端口的名字也可以定制。 在 “ subsint/singen” 子 系 统 窗 口 , 修 改 输 入 端 口 “In1”为“CtrlIn”,输出端口“Out1”为“OutSin”(见 图4-6)。当修改好端口后,修改的结果立刻在subsint模 型的顶层原理图上的singen子系统模块上显示出来。不 需要任何的更新操作。
xSin模块:(Altbus) 库:Altera DSP Builder中Bus Manipulation库 参数“Bus Type”设为“signed Integer” 参数“Bus Type”设为“Output port” 参数“number of bits”设为“10”
Builder设计进阶 第4章 DSP Builder设计进阶
Builder设计进阶 第4章 DSP Builder设计进阶
图4-7 TopLevel图的改变
Builder设计进阶 第4章 DSP Builder设计进阶
4-8是最后的subsint模型图。限于篇幅,下面仅列 出新增模块需要修改的参数值: Offset模块:(Altbus) 库:Altera DSP Builder中Bus Manipulation库 参数“Bus Type”设为“Unsigned Integer” 参数“Bus Type 设为“Input port Type”设为“Input port” 参数“number of bits”设为“10”
Builder设计进阶 第4章 DSP Builder设计进阶
图4-9 subsint模型仿真波形
Builder设计进阶 第4章 DSP Builder设计进阶
不过,虽然可以进行Simulink仿真,但是还不能 进行SignalCompiler分析。按照前面步骤作的subsint模 型中的singen子系统模块,必须进行设置才可以让 SignalCompiler识别为DSP Builder的子系统。 在打开的subsint模型窗口中,先选中子系统模型 singen,然后选择菜单“Edit”→“Edit mask...”项(见图 4-10),打开“Mask editor:singen”设置对话框。 在“Mask editor:singen”对话框中选择 “Documentation”选项页(见图4-11),设置“Mask type” 为“SubSystem AlteraBlockSet”(子系统 Altera模块集)。 注意输入时没有引号。
Builder设计进阶 第4章 DSP Builder设计进阶
图4-8 含subsystem的subsint模型
Builder设计进阶 第4章 DSP Builder设计进阶
Parallel Adder Subtractor模块:(Parallel Adder Subtractor) 库:Altera DSP Builder中Arithmetic库 “Add(+)Sub(-)”设为“-+”
Builder设计进阶 第4章 DSP Builder设计进阶
第4章 DSP Builder设计进阶 章 设计进阶
4.1行 级 仿真 4.3 使用 使用Synplify进行综合 进行综合 4.4 使用 使用LeonardoSpectrum进行综合 进行综合 4.5 Quartus II与DSP Builder的接口 与 的接口
Builder设计进阶 第4章 DSP Builder设计进阶
图4-1 subsint模型初始的原理图
Builder设计进阶 第4章 DSP Builder设计进阶
在subsint模型窗口中,按住鼠标左键,移动鼠标画 一个框,选中图中除了SignalCompiler、Step模块以外 的所有模块(可以通过按住键盘上的Shift键,用鼠标左 键点击来改变模块的选择情况)。接着,在选中的模块 上点击鼠标右键,在弹出的右键菜单中(如图4-2所示) 选择“Create subsystem”,建立子系统。 图 4-3 中 所 示 的 是 建 立 子 系 统 后 subsint 模 型 的 Simulink原理图。从图中可以看到原来被选中的那些模 块和连线都消失了,只剩下一个新建立的子系统模块: Subsystem。
相关文档
最新文档