第八章Synplify综合演示_第1页
第八章Synplify综合演示_第2页
第八章Synplify综合演示_第3页
第八章Synplify综合演示_第4页
第八章Synplify综合演示_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(优选)第八章Synplify综合当前1页,总共53页。内容一、什么是综合二、Synplifypro综合三、基本概念四、用户界面五、基本工程流程当前2页,总共53页。

什么是综合?•设计描述–高层次描述:对整个系统的数学模型描述,它试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现系统设计中存在的问题,此时考虑更多的是系统结构和工作过程能够达到设计规格的要求,而与具体的工艺和器件无关–逻辑描述:对设计进行RTL级描述,导出逻辑表达式,并用功能仿真工具进行仿真–门级描述:设计的门级实现,相当于系统的逻辑原理图–物理描述:或称版图描述,ASIC设计中表现为GDSII文件•综合指不同设计描述之间的转换当前3页,总共53页。IC设计中的综合当前4页,总共53页。IC设计中的综合•高层次综合:将系统算法层的行为描述转化为寄存器传输层的结构描述•逻辑综合:将寄存器传输层的的结构描述转化为逻辑层的结构描述,以及将逻辑层的结构描述转化为电路的结构描述•物理综合:将系统电路层的结构描述转化为版图层的物理描述当前5页,总共53页。综合约束•综合约束–设计所期望达到的性能和面积的目标,在综合实现阶段附加约束,是为了便于控制综合实现过程,使设计满足运行速度,引脚位置等方面的要求•附加合理的约束–达到面积,速度,性能的良好折中•约束原则–面积和速度是设计效果最终的评定标准,在两者冲突时,采用速度优先当前6页,总共53页。二Synplifypro综合•FPGA的综合–针对具体的FPGA器件,将RTL级的设计描述转化成门级描述-Synthesis=Translation+Optimization+Mapping对HDL源代码进行编译与逻辑层次上的优化,消除冗余逻辑对编译的结果进行逻辑映射与结构层次上的优化,生成逻辑网表•特点–综合速度快–综合效果比较好•Synplify与Synplifypro–Synplify简装版,后者包含了前者所有功能–综合原理和机制完全相同当前7页,总共53页。三、基本概念1综合2工程文件3脚本4约束文件5宏库6属性包当前8页,总共53页。综合综合Synthesis,简单地说就是将HDL代码转化为门级网表的过程,Synplify对电路的综合包括三个步骤表示如下:1HDLcompilation:把HDL的描述编译成已知的结构元素2Optimization:运用一些算法进行面积优化和性能优化,使设计在满足给定性能约束的前提下,面积尽可能的小。这里Synplify进行的是基本的优化与具体的目标器件技术无关3Technologymapping:将设计映射到指定厂家的特定器件上,针对目标器件结构优化,生成作为布局布线工具输入的网表当前9页,总共53页。工程文件工程文件*.prj以tcl的格式保存以下信息设计文件约束文件综合选项的设置情况等Tcl脚本TclToolCommandLanguage是一种非常流行的工业标准批处理描述语言常用作软件应用的控制应用Synplify的Tclscript文件设计者可以用批处理命令的形式执行一个综合也可以一次执行同一设计多个综合尝试不同的器件不同的时延目标不同的约束条件Synplify的script文件以*.tcl保存当前10页,总共53页。约束文件约束文件采用Tcl,以(*.sdc)保存用来提供设计者定义的时间约束、综合属性、供应商定义的属性等。约束文件既可以通过SCOPE创建编辑,也可以使用文正编辑器创建编辑。可被添加到在工程窗口的代码菜单中,也可以被Tclscript文件调用。宏库Synplify在它内建的宏库中提供了由供应商给出的宏模块比如一些门电路计数器寄存器I/O模块等你可以把这些宏模块直接例化到你的设计中去当前11页,总共53页。属性包Synplify为VHDL提供了一个属性包,在Synplify_install_dir/lib/vhd/synattr.vhd。内容有时间约束,如对黑匣子的时间约束,供应商提供的一些属性,还有一些综合属性以帮助你实现你的综合目的。使用时只需在VHDL源文件的开头加入以下属性包调用语句librarysynplify;usesynplify.attributes.all;当前12页,总共53页。四、用户界面当前13页,总共53页。五、工程流程1)CreateProject2)AddInputFiles3)CreateorEditImplementation•PickDevice•GlobalClockFrequency4)Soucecheck5)SetConstaintfileandoptimization6)ClickontheButton7)View/AnalyzeResultsandexportfiles当前14页,总共53页。1创建工程—使用projectwizard工程向导1)启用工程向导当前15页,总共53页。工程名2)指定工程名称和路径当前16页,总共53页。3)添加工程文件当前17页,总共53页。1创建工程---使用工具栏快捷按钮1)方法一、点击File->New当前18页,总共53页。方法二当前19页,总共53页。方法三当前20页,总共53页。2)添加文件当前21页,总共53页。2源代码错误检查•包括两个层次–语法错误检查–综合错误检查•推荐在代码调试阶段使用代码错误检查工具,及时发现问题当前22页,总共53页。综合检查当前23页,总共53页。3使用rtl观察编译结果执行run/compileonly命令当前24页,总共53页。4使用scope设计综合约束文件或单击按钮当前25页,总共53页。SCOPE窗口当前26页,总共53页。1)Clock定义一个信号作为时钟Enable标志约束是否生效Clock说明时钟信号名Value说明时钟的数值单位为Mhz或nsUnits说明Value一栏的单位Mhz或nsDutycycle说明时钟的占空比单位是ns或%Units说明时钟的占空比的单位ns或%Improve希望改善由这个时钟控制的寄存器的路径延迟的数量这个数值可以根据Synplify的时间报告中关于相关寄存器的路径延迟的负裕量给出这是一个高级用户选项Route希望改善由这个时钟控制的寄存器的路径延迟的数量与Improve有所不同的是这一栏的数值应填入布局布线工具的时间报告与Synplify的时间报告相差的数值这也是高级用户选项Improve和Route可以同时使用Units说明Improve和Route选项的单位只能是nsComments允许你加入一些注释当前27页,总共53页。2)ClocktoClock说明不同时钟间沿到沿的延迟,可以用来定义不同时钟控制的触发器之间的最大允许延迟说明一条时钟间的FalsePath或是描述一个不对称占空情况的时钟Clock1说明第一个时钟的名字Edge1说明是第一个时钟的上升或下降沿Clock2说明第二个时钟的名字Edge2说明是第二个时钟的上升或下降沿Value说明两个沿之间的延迟值或falsefalse选项指定两个沿之间的路径将被被忽略当前28页,总共53页。3)Input/Output建立FPGA的I/O端口与外部环境界面的模型,缺省的FPGA外部延迟为0Port说明端口名Type说明端口类型Input或OutputValueImproveRoute等与前面的相同或类似4)Registers这个约束的目的是按照给定的时间缩短进入一个寄存器或由其输出的路径延迟Type说明是输入路径还是输出路径Object说明指定寄存器的名字其他如ImproveRouteUnits等与前相同或类似当前29页,总共53页。5MulticyclePaths说明通过寄存器的多时钟周期路径通过这项约束你可以为输入或由一个寄存器输出的或是通过一条连线net的所有路径添加额外的时钟周期以放宽时间约束Type说明路径是输入或输出指定的端口或寄存器或连线Port/Register/Net说明指定路径时依据的端口或寄存器名Value说明为该路径提供的全部时钟周期的总数必须是整数Units说明Value的单位只能是个周期其他与前相同或类似6.FalsePath定义在时间分析或优化忽略的路径其中Port/Register/NetType等与前相同或类似当前30页,总共53页。8.Attribute在这里你可以说明设计属性其中Object栏和Attribute栏的下拉式菜单是同步的如果你在Object栏的下拉式菜单里选定一个对象则Attribute栏的下拉式菜单中只显示可以施加于该对象的属性反之亦然ObjectFilter说明属性施加对象的类型你可以用这一栏筛选和选择对象Object说明施加属性的对象名Attribute说明施加的属性Value说明所施加属性的值ValType说明属性值的正确类型Description包含关于该属性的一个简短描述其他与前相同或类似当前31页,总共53页。9.Other这一栏是为了让高级用户输入新近支持的约束文件命令这些命令优化和时间分析并不支持的但是他们会被作为约束传递给布局布线工具当前32页,总共53页。当前33页,总共53页。当前34页,总共53页。4设置综合优化参数(1)器件选型可以设置最大扇出系数缺省是500根据该工程所属模块是否和片外有信号联系选中或者不选中DisableI/Oinsert如果选中则告诉synplify不要为输入输出信号加buf缺省不选中设计采用流水当前35页,总共53页。(2)优化参数选项在综合过程中启动有限状态机编译器对设计中的状态机进行优化选中ResourceSharing选项则启动资源共享可以用synplify内置的状态机浏览器观察状态机的各种属性启动流水当前36页,总共53页。Pipelining–将较大的组合逻辑用寄存器分割成若干较小的逻辑,减少从输入到输出的时延–自动优化乘法器,ROM等结构,提高工作频率•Retiming–在不改变逻辑功能的前提下,自动用寄存器分割组合逻辑,在组合电路中插入平衡时延,提高芯片工作频率–本质是寄存器在宏观上的移动,不影响整体的寄存器级数–Retiming的功能比Pipelining更强大,选定了Retiming就一定会自动选上Pipelining时序优化工具当前37页,总共53页。Retiming和Pipelining当前38页,总共53页。(3)综合约束文件选项当前39页,总共53页。(4)综合结果存储必须选中此项当前40页,总共53页。(5)时序报告选项当前41页,总共53页。(6)语言参数选项Synplify把最后编译的module作为顶层设计故把你所要的顶层设计文件用左键拖拉到源文件菜单的末尾处或者点击ImplOptions”按钮在verilog属性页中设置顶层模块的名称当前42页,总共53页。5点击run进行综合6分析综合结果当前43页,总共53页。当前44页,总共53页。当前45页,总共53页。HDLAnalyst是synplify提供给设计者查看结果提高设计速度特性和优化面积的强有力的层次结构可视化图形工具。HDLAnalyst包含两个原理图视窗RTL视窗RTLView和目标技术视窗TechnologyViewRTL视窗显示的是高层的与目标技术无关的原理图是对编译结果的可视化显示。TechnologyView目标技术视窗提供的是相对低层的、特定厂家器件实现的原理图,是对映射结果的可视化显示,它显示的基本元是与特定厂家器件技术有关的,诸如查找表、级联和进位链、多路器、触发器等等。在设计者把他的设计映射到一个器件后HDLAnalyst自动生成层次化的RTL级和基本门级网表用HDLAnalyst打开你的设计后你就可以在你的源代码与你的逻辑图之间进行交叉索引cross_probe了你可以查看源代码中一段代码编译或映射后产生的结果是否和预期相符,也可以查看图中关键路径对应的是那一段源代码以做修改当前46页,总共53页。当前47页,总共53页。正确理解关键路径上的时间延迟显示信息如out[0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论