欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第11章DSPBuilder设计规则000001.ppt

    • 资源ID:2547049       资源大小:684.01KB        全文页数:54页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第11章DSPBuilder设计规则000001.ppt

    第11章 DSP Builder设计规则,11.1 位宽设计规则 11.2 频率设计规则 11.3 DSP Builder设计的取名规则 11.4 定点数据下标说明 11.5 在SBF中二进制小数点的位置 11.6 GoTo和From模块的支持特性,11.1 位宽设计规则,在设计中,必须根据具体情况规定输入和输出数据口的位宽,即源端口与目标端口的数据位宽。一旦确定了输入端的数据位宽,SignalCompiler就会通过各中间模块把数据位宽从源端口向目标端口传递。在一定条件下,设计者也可以对所通过的各模块中的数据位宽作一定的设定。例如,在第三章中介绍的调幅设计中,Sinln和SinDelay模块的位宽是16,所以SignalCompiler就自动将这16位宽的数据类型赋予了中间模块Delay。,应该注意,每一个DSP Builder模块都有自身的设计规则。在每一模块的使用说明中都包含了其位宽增长的规则。DSP Builder具有双位字类型,这种类型能支持的最大数据位宽是51位。如果希望位宽超过51位,则必须将数据总线分成多套,每套都不超过51位。如11-1所示的是一个60位加法器设计系统,分成了两个30位总线。,图11-1 两套总线方式的60位硬件加法器,11.2 频率设计规则,11.2.1 单时钟设计规则 如果一项设计中不包含来自Rate Change库的锁相环模块PLL,则在Simulink设计转换成硬件系统的过程中,DSP Builder将使用同步设计规则,即在设计系统中的所有DSP Builder时序模块,如Delay模块,都以单一时钟的上升沿同步工作,这个时钟频率即为整个系统的采样频率。,然而需要注意的是,对于这些同步时序的模块,其时钟引脚都不会直接显示在Simulink设计图上,但当SignalCompiler将设计系统转化为VHDL文件时,才自动地把时序模块的时钟引脚都连在一起,并与系统的单一时钟相接。,但是,如果设计者希望在Simulink图上显示相关的信号端,并能直接控制这些信号端口,可以在DSP Builder时序模块的参数控制对话框中打开“Use Control Inputs”参数表来实现。 为了保持Simulink设计域至VHDL域的设置时钟周期的精确性,必须将“Solver”选项设定在“Fixed-step”和“discrete”状态上,并设模式为“Single Tasking”(如图11-2所示)。,图11-2 仿真延时参数设置,仅从Simulink仿真的观点来看,所有的DSP Builder模块,包括时序模块,都有一固有的采样频率,这个频率值可以通过I/O口,从源模块传送到目标模块,也可以从源模块的输出脚向目标模块的输入脚传送。如果某一DSP Builder模块没有输入端口(如Increment或Pattern模块),这种传送机制是无法进行的。所以,对于这些情况,必须在模块参数表中设定时钟信号的周期。具体步骤如下:,(1) 用鼠标右键击该模块; (2) 选中弹出菜单中的“Block Parameters”项; (3) 在“S-Function”栏键入所希望的时钟周期 (默认为1); (4) 点击“OK”,保存所设数据,并关闭之。 如果某一模块具有来自多个模块的不同频率的时钟驱动,则此模块(目标模块)将在Simulink仿真文件中采用其中最高频率的时钟。 图11-3是一项Single Clock Delay的Simulink设计图。,图11-3 Single Clock Delay设计图,也有许多其它方式可用来规定源模块的工作频率。如图11-4所示,可以使用Sample time编辑窗来设置正弦波模块的工作频率。,图11-4 正弦波模块参数设置,在图11-3的设计中,使用的是单一时钟,这里DSP Builder没有使用PLL模块,所以所有的DSP Builder模块的采样周期都是相同的,并且,如果已打开了仿真参数中的采样时间色彩显示控制,则这些模块都以相同颜色显示。在此图中(仿真设计文件为SingleClock delay.mdl),Sine Wave a 和Sine Wave b模块的时间值都设定在le-6,即1000 ns。 如果使用SignalCompiler将此项设计转换成RTL硬件电路描述,其设计报告将包括诸如位宽、仿真采样时钟周期值,以及可能的出错信息等(如图11-5所示)。,图11-5 仿真报告,图11-6是此项设计的RTL电路图,是由LeonardoSpectrum综合器输出的。由图可见,时序模块Delay a和Delay b由单一clock提供时钟。,图11-6 示例Single Clock Delay的RTL电路图,11.2.2 多时钟设计 如果设计系统中包含了来自Rate change库中的锁相环模块PLL,DSP Builder模块就将根据PLL输出时钟组中的某一时钟的上升沿来工作。图11-7是一个多时钟Delay设计系统实例,该例含多时钟支持电路。 对于含有PLL的系统,DSP Builder 将Simulink中PLL模块映射到硬件器件中的PLL核,即在设计模块中使用PLL的条件是目标器件中必须含PLL核。支持PLL模块设计的目标器件系列有:Stratix系列(支持6个输出时钟)和Cyclone系列(支持6个输出时钟)。,图11-7的设计显示的是PLL模块的配置情况。其中PLL输出时钟pllclock1设定为1000 ns,而pllclock2设定为100 ns,这可由多种方法来设置。图中数据路径A工作在pllclock1上,而数据路径B工作在pllclock2上。据此,可以在Sample Time编辑窗中设置pllclock1和pllclock2,分别为le-6和le-7(图11-8)。,图11-7 多时钟设计系统,图11-8 PLL设置,DSP Builder将系统转化为RTL电路后,将产生一个报告文件,该报告将列出系统中所有DSP Builder模块的数据位宽和仿真采样时钟周期。在多时钟设计系统的DSP Builder编译中,如果发现模块仿真时钟周期与PLL的输出时钟周期不符,将在报告中给出警告。 图11-9是LeonardoSpectroum综合器产生的此设计系统的RTL电路,从中可以看出Delay a和Delay b模块分别工作在两个PLL输出时钟上,其中clock是PLL的参考时钟。,图11-9 多时钟设计系统的RTL电路,11.2.3 使用PLL的高级特性 要想使用PLL的高级特性,可以通过对DSP Builder模块的设置来实现,这些设置支持对PLL分频与倍频因子的设定。此外如果希望改变PLL时钟信号的其它特性,如相移,占空比等,都可以编辑SignalCompiler产生的pll.vhd文件,从而在VHDL的顶层设计中对PLL作必要的修改。,11.3 DSP Builder设计的取名规则,DSP Builder模块的命名必须遵循VHDL的命名规则。以下的一些规则是必须遵循的: (1) 必须注意大小写的一致性,但模块名的大小写不一致是没有关系的,例如实体名Mydesign与MYDESIGN是相同的。 (2) 不要使用VHDL的关键词来命名DSP Builder模块。,(3) 注意不要使用非法文字,特别是VHDL的实体名只能包含QZ,09,以及下划线( _ )。 (4) 模块名的起始文字必须是字母az,因为VHDL的实体名是不允许以英语字母以外的任何字符作为首字符的。 (5) 不允许连续使用两个下划线“_ _”,因为这在VHDL中是非法的。 (6) 模块文件名中的空格将在SignalCompiler的编译中被忽略掉。,此外,SignalCompiler对于每一个DSP Builder的HDL子系统模块产生一个单独的VHDL文件,而这些文件都有独立的实体和结构体。DSP Builder产生的VHDL文件中的实体名位置具有全局性,所以,所有的子系统名必须是唯一的。,11.4 定点数据下标说明,在将Simulink文件向VHDL文件转化中,对数据的定点标注的说明可见表11-1所述。,表11-1 数据下标说明,图11-10是几种下标情况对应的不同数据类型的数据比较,其中有8位有符号二进制小数、有符号二进制数,以及无符号二进制数的示例。,图11-10 数据格式比较,11.5 在SBF中二进制小数点的位置,对于硬件设计,Simulink信号必须转化成与硬件结构相对应的总线格式,所以Simulink的浮点值必须转换成定点值并能在目标硬件中实现。这种转换是硬件实现的关键步骤,因为需要硬件来表示定点值的位数以及小数点的位置不但会影响构成硬件系统的资源利用率,还影响系统的特性。,一般较大的位数(宽位总线)能产生更好的硬件特性,即定点值与浮点值基本相同,但却会耗用更多的硬件资源。作为一个设计者来说,他的基本任务就是在好的资源利用率和良好的系统性能间找到可接受的折衷方案。而DSP Builder正是在同一设计环境中既能使用定点信号又能使用浮点信号进行仿真,从而缩短了系统设计周期。,AltBus模块将双精度类型的浮点Simulink信号转变成定点信号。即定点信号是以以下的有符号的二进制小数SBF的方式表示的: 位数.表示小数点以左包括符号位的总的位宽数。 .位数表示小数点以右的位宽数。 在VHDL中,信号是以STD_LOGIC_VECTOR表达的。例如,4位二进制数1101可以表达为: Simulink:作为有符号整数可以解释为-3(补码);,VHDL:作为有符号STD_LOGIC_VECTOR数据类型也被解释为-3,但如果改变此数小数点的位置,即为在小数点的左边和右边都有两位,则此数的含义是: Simulink:表示有符号-0.75; VHDL:仍表示-3。,从系统级分析的观点来看,一个数乘以-0.75与乘以-3是截然不同的,尤其是乘积发生的位宽变化。在这两种情况中,前者导致乘法器的输出总线在MSB上发生增长 ,而后者在LSB上发生增长。 事实上,在这两种情况中,二进制数值是完全相同的, 然而小数点的位置影响了仿真器对结果的表达。因此,对于一个复杂的系统,设计者必须根据信号的应用范围判定小数点的位置。,11.6 GoTo和From模块的支持特性,DSP Builder支持来自基本Simulink库的GoTo和From模块,这两种模块的主要用途是用于大的扇出信号,以便使得电路图的表述更清晰。DSP Builder支持Tag Visibilty = local模式的GoTo和From模块。图11-11是一个GoTo和From模块的应用的例子。GoTo模块(coef1、coef2、coef3、coef4)分别对应于From模块(coef1、coef2、coef3、coef4),它们都连在乘积模块上。,图11-11 GoTo和From模块使用示例,11.7 MegaCore功能块支持特性,从用户的角度来看,Simulink中的硬件IP核就是离散模块库的元件。DSP Builder使用Altera的MegaWizard Plug-In Manager技术配置Simulink中的IP。MegaWizard Plug-In Manager是独立的图形用户接口(GUI),把静态参数传递给HDL设计流程中的复杂IP。这项用于控制加密IP的技术已扩展到把参数传递给C+模型。,Simulink仿真引擎是基于状态的。Simulink通过S函数回调模式支持C+模型。每个离散模块的每个状态都包含一组模式。仿真器在初始化后输出结果,并在寄存器更新事件期间调度这项函数。 一个VHDL IP模型包含一个说明静态参数类似于位宽或结构类型的通用部分,一个说明输入和输出信号端口部分,而另一个描述功能的结构部分。把C+模型转换为VHDL模型即能根据仿真器的状态正确地映射这些部分。,Altera的MegaCore功能块已在Altera器件中作了严格的测试以及功能与资源的优化。所有的MegaCore功能块都可以通过Quartus中的MegaWizard Plug-In Manager进行全部功能参数的设置。MegaCore功能块支持Altera的免费IP核的评估特性,即可允许用户根据购买的license,改变功能块的功能与时序特性,即:, 为了保护IP产权,在Simulink中将模型展开作为编译的动态连接库。在VHDL中,IP加密是基于Altera的OpenCoreR或OpenCorePlus评估工具。OpenCore评估功能让用户利用Quaruts II软件免费测试IP核。 OpenCorePlus评估功则能支持免费的硬件评估,是增强了的OpenCore功能。该功能允许用户生成时间受限的包含Altera MegaCore功能的设计编程文件。用户可以使用这些文件,在确定购买MegaCore功能许可证之前进行板级设计验证,即OpenCore评估特性允许用户使用Quartus II免费测试IP核,但却不能形成下载文件到硬件中去实测。, OpenCore Plus评估特性强化了OpenCore的评估特性,它支持免费的硬件评估。这一特性允许用户得到一个限时的对硬件的编程文件。有了这些包含了MegaCore的下载文件,就可以在决定购买IP核license之前进行硬件板级的功能测试。,有了这两种评估功能的应用,当用户对IP核的功能和性能的测试完成后,即可购买license进入产品生产阶段。DSP Builder支持各种不同的DSP IP核,如FIR核、Reed-Solomon核,IIR核等。如果希望使用基于DSP Builder的IP核,可以从Altera的网页www.altera.com/ IPmegastore上下载DSP核,并将其下载到自己的PC机。当重新打开MATLAB后,DSP Builder就会自动检测到装入的新核,并将其加入到“Simulink Library Browser”。 应该注意的是,下载以前应先从IP核产品网页上了解一下有关该核是否可用于基于DSP Builder的设计,因为有的IP核无法适用于DSP Builder的设计。,11.8 层次化设计,在Simulink软件中有子系统结构,所以DSP Builder支持层次化设计。在设计中,可以通过将AltBus模块与Simulink的输入/输出模块相连接,来定义每一层次的衔接边界。SignalCompiler模块在VHDL设计文件中保留这些层次结构的信息,而每一层次的.mdl文件都被转变为一个单独的VHDL文件(一个元件)。 图11-12显示了一个层次化设计结构,该设计文件fir3tap.mdl使用了两个FIR滤波器。,图11-12 层次化设计示例,11.9 黑盒子化,设计者可以将自己的VHDL代码加入到Simulink设计中,并规定SignalCompiler把哪一个子系统模块转化成VHDL文件。这个过程就称为黑盒子化。在这个过程中,通过将AltBus Node Type设置成Black Box Input Output在Black Box Input Output模式中来使用 AltBus模块。如在图11-13中,当处理子系统Sub Sysfem 1时,SignalCompiler使用了在VHDL设计中的一个黑盒子来代替Sub Sysfem 1。如图11-13所示为建立黑盒子作参数设置。,图11-13 黑盒子设置,事实上,IP核也是一个黑盒子,也可以作为一个黑盒子来处理。如果要将一个已经定制完成的VHDL设计实体加入到DSP Builder设计系统中,可以按照以下的步骤来完成: (1) 在HDL文件中定义一个可定制的实体(如使用Generic类属映射语句)。 (2) 即使在原设计中已经使用了同步复位和时钟信号,也必须在该实体中定义同步清0和时钟输入信号。这两个输入信号必须与目标器件的全局时钟引脚和全局同步清0引脚相接。如果实体本不需要时钟或全局同步清0脚,也应当定义这些输入信号,只是不要连接实行。,(3) 建立一个.mdl文件并把以上HDL文件存在同一目录中。 (4) 在 .mdl文件中加入一个Sub Sysfem模块,取名应与定制的HDL实体名相同。 (5) 设定此 .mdl文件的Sub Sysfem模块的输入/输出的名称与以上定制的HDL实体中的端口名一致,只是不必为Sub Sysfem模块设定时钟和同步清0输入脚。,(6) 在Sub Sysfem模块中,将所有的输入/输出脚与具有“Black Box Input Output”类型的AltBus模块连接。 (7) 在Sub Sysfem模块中,可以使用任何可能的库,如Simulink库、DSP Builder库和Blockset库等。,11.10 将DSP Builder设计方式用在外部RTL设计,DSP Builder设计方式不仅限于Mablab/Simulink的设计方案中,它还可以以其它的方式用于RTL的设计,如Quartus中。当使DSP Builder设计用于这些领域中时,需要高速顶层设计的设置以支持DSP Builder的设计,其中包括:, Quartus编译设置; 工程设置(包括所有的DSP Builder VHDL文件); 库路径设置。对于具有DSP Builder子系统的顶层设计,Quartus工程必须包含DSP Builder必须设计的所有Quartus编译设置。 Tcl脚本描述dsp Builder design-quartus.tcl 包含DSP Builder设计的Quartu编译设置。,

    注意事项

    本文(第11章DSPBuilder设计规则000001.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开