第12章AltLab库.ppt

上传人:本田雅阁 文档编号:2547373 上传时间:2019-04-06 格式:PPT 页数:41 大小:717.01KB
返回 下载 相关 举报
第12章AltLab库.ppt_第1页
第1页 / 共41页
第12章AltLab库.ppt_第2页
第2页 / 共41页
第12章AltLab库.ppt_第3页
第3页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第12章AltLab库.ppt》由会员分享,可在线阅读,更多相关《第12章AltLab库.ppt(41页珍藏版)》请在三一文库上搜索。

1、第12章 AltLab库,12.1 Signal Compiler模块 12.2 Subsystem Builder模块,12.1 SignalCompiler模块,SignalCompiler模块是DSP Builder的心脏。其主要功能如下: 将Simulink设计转变成可综合的RTL级VHDL代码。 产生VHDL testBenches。 将Simulink仿真激励输出给VHDL testbenches,并且产生ASCII格式的文件。, 为LeonardoSpectrum、Synplify和Modelsim第3方EDA工具产生Tcl脚本文件。 为Quartus II的仿真产生仿真矢量文件

2、(.vec)。 产生PTF配置文件,可用于将设计自动地输给SOPC Builder工具。 能帮助产生嵌入式逻辑分析仪SignalTap II文件.stp。 用户可以利用SignalCompiler控制设计系统的综合、编译和仿真的流程。,12.1.1 综合域编译流程 如前所述,综合域主要有自动和手动两个流程,归纳如下: 1. 自动流程 自动流程允许设计者仅利用SignalCompiler模块在MATLAB/ Simulink环境中就能控制整个设计过程。在这个流程中,SignalCompiler能将Simulink文件转化为Tcl脚本文件存于当前的工作目录下,然后再执行Tcl脚本,利用Quartu

3、s II、LeonardoSpectrum或Synplify综合器对产生的HDL代码进行综合与编译。,综合与编译后的结果又可以在SignalCompiler Messages信息栏中显示出来。设计者甚至还可以利用自动流程直接在Simulink环境中将最终设计好的配置文件向DSP硬件系统上的目标器件进行下载。 2. 手工流程 在手工流程中,可以使用SignalCompiler输出VHDL文件和Tcl脚本,但是并不直接使用脚本去调用综合工具。在设计过程中,当选定将设计文件转化为VHDL文件后,SignalCompiler(在工作目录中)产生RTL级的VHDL设计程序和Tcl文件。,然后可以使用选定

4、的EDA工具如综合器对VHDL文件进行综合。最后可以对综合好的结果,利用Quartus II进行进一步的编译处理,如适配、优化、设置、仿真等,如同一项独立的设计项目那样进行处理。通常,如果希望对综合和适配等处理流程作特有的设置,应该选用手动设计流程。,3. 仿真 在SignalCompiler模块中的Testbench栏,若选择“Generate Simuli for VHDL Testbench”,将使SignalCompiler产生VHDL Testbench测试基准文件和Modelsim Tcl脚本用于VHDL的系统级仿真,同时还产生用于Quartus II门级仿真的矢量波形文件。 表1

5、2-1是对SignalCompiler分析器中参数的说明,表12-2则是模块参数的说明。,表12-1 SignalCompiler分析器参数说明,表12-2 模块参数说明,12.1.2 数据位宽的传递 在将Simulink设计文件向VHDL转化的过程中,SignalCompiler将数据位宽的信息赋予给了设计系统中所有的Altera设计模块。在最初的Simulink设计中,设计者虽然可以对某一Altera的模块的位宽进行设置,但却不可能对所有模块,包括转化而成的VHDL设计都能设定其位宽。因此,这就需要SignalCompiler将位宽信息根据设计规则,从一个数据路径中的源模块向目标模块传递。

6、 图12-1是一个FIR滤波器的.mdl设计,它表明了数据位宽的传递情况。,图12-1 3阶FIR滤波器的设计,由图可见,输入是8位有符号总线,输出数据信号是20位有符号总线。三个延时模块用于建立延时线,系数值为1.0000,-5.0000,1.0000,表现在图中即为增加3个增益模块Gain、Gain1和Gaina2,以便实现系数乘积的功能。 图12-2是图12-1设计的滤波器综合后的RTL电路图。,图12-2 FIR滤波器RTL图,12.1.3 Tapped Delay Line 如图12-3所示,数控位宽的传递机制是起始于数据通道的源模块,8位数据总线是从U0馈入的,再由U0馈入U1,直

7、至U2,SignalCompiler一直将8位总线传递到通道上的每一模块。此例中由于是延时模块,所以输入与输出的位宽一样。 算法操作将导致位宽变化。如图12-4所示为FIR滤波器算法操作的RTL电路图。,图12-3 RTL电路中的Tap Delay Line,图12-4 FIR算法实现RTL图,在图12-4中,滤波器按下式计算输出信号yout:,k-ici,其中c i 是系数,x k-i为累加数据。 此项设计需要3个乘法器和1个并行加法器,算术运 算将以如下方式增加总线的宽度: (1) 以SBF的格式完成乘法ab,结果等于 la . ra lb . rb 其中l与r分别表示小数点的左和右位。生

8、成信号的总线位宽则为 ( la + lb ).( ra rb ),(2) 以SBF格式完成加法a + b + c。结果等于 la . ra + lb . rb + lc . rc 其中的l与r含义同上。 最后产生的信号的总线位宽为 ( max( la , lb , lc )+2 ) . ( max( ra , rb , rc ) 于是,并行加法器有3个输入总线,其以二进制方式进行加法运算。Signal Compiler将自动地进行符号化,即将14位总线扩展为16位总线,其中1位是进位,1位是符号位。这样,并行加法器的输出位宽是18位,从而能覆盖所有可能的加法运算操作结果。,有多种方式可以改变内

9、部位宽的精度,以适应对目标器件大小的选择。因为有时对于较小资源的目标器件并不希望有过宽的数据位宽,这可以根据实际需要改变小数点右侧的位数,以减小总线的位宽。改变位宽的方法有如下3种选择: (1) 改变输入数据的位宽; (2) 改变输出数据的位宽,这种方式可使VHDL综合器自行删去无用的逻辑,从而节省硬件资源;,(3) 插入Bus Conversion模块,利用其改变内部信号的位 宽。 如图12-5所示,在设计电路中加入了一个AltBut模块,用以控制内部的位宽。此例中,Gain模块的输出有4位因此而被除去,波形显示器中显示的是截去了系数项的功能效应。,图12-5 含有控制位宽Bus Conve

10、rsion的3阶滤波器设计,在图12-6中,可以从RTL级实现的电路上看出截去位宽后的电路结构。并行加法器的位宽变小了,于是综合器自动缩小了乘法器的大小,将其变为9位输出位宽。,图12-6 3阶滤波器的RTL图,12.1.4 时钟设置 正如“频率设计规则”一节中所述,当SignalCompiler发现在设计系统中存在诸如Delay模块等DSP Builder时序模块时,将会自动把时钟信号、时钟使能信号,以及复位信号在VHDL代码中连在一起,并且如果设计中不含PLL模块,SignalCompiler就把所有的DSP Builder时序模块的所有时钟引脚都与单一时钟相连;而若设计系统中含PLL模块

11、时就使得测得的DSP Builder时序模块的采样频率与PLL模块输出时钟频率之一相等,这就是说,SignalCompiler将所有的时序模块的时钟与PLL其中一个输出时钟信号相连,否则编译器将报错。,从时钟驱动的观点来看,DSP Builder模块可分为两类: (1) 组合模块:其输出是跟随输入的改变而发生改变的,其时差为一个采样延时; (2) 时序模块:其输出的改变是在许多个采样延时时间之后。 图12-7给出了DSP Builder组合电路模块的功能,其中Magnitude模块传输的是组合信号。由图可见,SignalCompiler并没有把时钟线连到这个功能块上。,图12-8所示的是一个D

12、SP时序模块的电路性能。在对应的VHDL网表文件中,SignalCompiler把时钟线接到了这个Delay功能块上,此Delay模块的时钟相位选择参数是100,它转化成了VHDL表达的移位寄存器,其初始值为0,满值为3。,图12-7 Magnitude模块电路,图12-8 Delay模块的工作性能,对于反馈电路,时序模块必须放在反馈环路中,否则会产生一个错误的组合环。图12-9是一个反馈环电路。如果要设计一个多时钟的时序系统,可以利用PLL模块对DSP时序模块设置不同的时序频率。但如果不用PLL模块而只用单一的时序信号,以时钟使能控制也能实现同样的多时钟时序系统。主要设计规则如下所述:,图1

13、2-9 反馈环电路,表12-3 Delay模块对不同相位序列的延时操作,图12-10的波形显示对两种不同设置的Delay模块输出作了比较,左侧的图对应相位设置为“1000”,右侧的相位设置为“0100”。,图12-10 “1000”与“0100”相位设置对应的Delay输出,12.1.5 DSP Builder报告文件 当SignalCompiler将设计系统转化成VHDL文件后,同时输出一个报告文件,其中包括SignalCompiler模块设置参数。由此而产生各种与综合器连接的报告文件,以及Quartu II报告文件。 报告文件中还包括了SignalCompiler是如何将数据位宽传递给每一

14、设计层次中的所有设计模块的。,12.2 Subsystem Builder模块,Subsystem Builder模块使得设计者能很容易地将VHDL设计的输入/输出信号引入Simulink的子系统中,然后可以将VHDL其余的功能设计部分加入到子系统中(使用DSP Builder或MATLAB功能块来实现),并在Simulink环境中仿真。在这种情况下可以将VHDL设计看成是一个黑盒子。,Subsystem Builder模块能自动将VHDL实体名为 Simulink_clock的输入端口与Simulink主系统的时钟相连。 VHDL的实体描述格式应当遵循以下规则: (1) VHDL只包含一个实

15、体(RTL描述)。 (2) 端口模式取IN 或OUT。 (3) 端口数据类型取STD _LOGIC或STD _LOGIC_ VECTOR。,(4) 注意总线描述方式: a ( 7 DOWNTO 0 ) 正确 a ( 8 DOWNTO 1 ) 错误 a ( 0 To 7 ) 错误 (5) 每行只能定义一个端口信号,如: a :IN STD _LOGIC; 正确 a、b、c :IN STD _LOGIC; 错误 若要使用VHDL模块,将其拖入Simulink设计系统,应点击“Select VHDL File”按钮(见图12-11),设定此文件为“import”,然后点击“Add”键。,图12-11 Subsystem Builder应用示例,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1