第八章Synplify综合高级课堂

上传人:s9****2 文档编号:578902771 上传时间:2024-08-25 格式:PPT 页数:54 大小:3.99MB
返回 下载 相关 举报
第八章Synplify综合高级课堂_第1页
第1页 / 共54页
第八章Synplify综合高级课堂_第2页
第2页 / 共54页
第八章Synplify综合高级课堂_第3页
第3页 / 共54页
第八章Synplify综合高级课堂_第4页
第4页 / 共54页
第八章Synplify综合高级课堂_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《第八章Synplify综合高级课堂》由会员分享,可在线阅读,更多相关《第八章Synplify综合高级课堂(54页珍藏版)》请在金锄头文库上搜索。

1、Synplify教程1学习幻灯内容一 、什么是综合二、Synplify pro综合综合三、基本概念四、用户界面五、基本工程流程2学习幻灯什么是综合? 设计描述高层次描述:对整个系统的数学模型描述,它试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现系统设计中存在的问题,此时考虑更多的是系统结构和工作过程能够达到设计规格的要求,而与具体的工艺和器件无关逻辑描述:对设计进行RTL级描述,导出逻辑表达式,并用功能仿真工具进行仿真门级描述:设计的门级实现,相当于系统的逻辑原理图物理描述:或称版图描述,ASIC设计中表现为GDSII 文件综合指不同设计描述之间的转换3学习幻灯IC设计中的综合设计中

2、的综合 4学习幻灯IC设计中的综合设计中的综合高层次综合:将系统算法层的行为描述转化为寄存器传输层的结构描述逻辑综合:将寄存器传输层的的结构描述转化为逻辑层的结构描述,以及将逻辑层的结构描述转化为电路的结构描述物理综合:将系统电路层的结构描述转化为版图层的物理描述5学习幻灯综合约束综合约束设计所期望达到的性能和面积的目标,在综合实现阶段附加约束,是为了便于控制综合实现过程,使设计满足运行速度,引脚位置等方面的要求附加合理的约束达到面积,速度,性能的良好折中约束原则面积和速度是设计效果最终的评定标准,在两者冲突时,采用速度优先6学习幻灯二二 Synplify pro综合综合FPGA的综合的综合针

3、对具体的针对具体的FPGA器件,将器件,将RTL级的设计描述转化成门级描述级的设计描述转化成门级描述-Synthesis=Translation+Optimization+Mapping 对对 HDL源代码进行编译与逻辑层次上的优化,消除冗余逻辑对源代码进行编译与逻辑层次上的优化,消除冗余逻辑对编译的结果进行逻辑映射与结构层次上的优化,生成逻辑网表编译的结果进行逻辑映射与结构层次上的优化,生成逻辑网表特点特点综合速度快综合速度快综合效果比较好综合效果比较好Synplify与与SynplifyproSynplify简装版,后者包含了前者所有功能简装版,后者包含了前者所有功能综合原理和机制完全相同

4、综合原理和机制完全相同7学习幻灯三、 基本概念1 综合2 工程文件3 脚本4 约束文件5 宏库6 属性包8学习幻灯综合综合Synthesis ,简单地说就是将HDL代码转化为门级网表的过程,Synplify 对电路的综合包括三个步骤表示如下:1 HDL compilation: 把HDL的描述编译成已知的结构元素2 Optimization :运用一些算法进行面积优化和性能优化,使设计在满足给定性能约束的前提下,面积尽可能的小。这里Synplify进行的是基本的优化与具体的目标器件技术无关3 Technology mapping :将设计映射到指定厂家的特定器件上,针对目标器件结构优化,生成作

5、为布局布线工具输入的网表9学习幻灯工程文件工程文件工程文件*.prj 以tcl 的格式保存以下信息设计文件约束文件综合选项的设置情况等Tcl 脚本脚本Tcl Tool Command Language 是一种非常流行的工业标准批处理描述语言常用作软件应用的控制应用Synplify 的Tcl script 文件设计者可以用批处理命令的形式执行一个综合也可以一次执行同一设计多个综合尝试不同的器件不同的时延目标不同的约束条件Synplify 的script 文件以*.tcl 保存10学习幻灯约束文件约束文件约束文件采用Tcl ,以(*.sdc )保存用来提供设计者定义的时间约束、综合属性、供应商定义

6、的属性等。约束文件既可以通过SCOPE创建编辑,也可以使用文正编辑器创建编辑。可被添加到在工程窗口的代码菜单中,也可以被Tcl script 文件调用。宏库宏库Synplify 在它内建的宏库中提供了由供应商给出的宏模块比如一些门电路计数器寄存器I/O模块等你可以把这些宏模块直接例化到你的设计中去11学习幻灯属性包属性包Synplify为VHDL提供了一个属性包,在Synplify_install_dir/lib/vhd/synattr.vhd 。内容有时间约束,如对黑匣子的时间约束,供应商提供的一些属性,还有一些综合属性以帮助你实现你的综合目的。使用时只需在VHDL源文件的开头加入以下属性包

7、调用语句library synplify;use synplify.attributes.all;12学习幻灯四、用户界面13学习幻灯五、工程流程1)Create Project2)Add Input Files3)Create or Edit ImplementationPick DeviceGlobal Clock Frequency4) Souce check5) Set Constaint file and optimization6)Click on the Button7)View/Analyze Results and export files14学习幻灯1 创建工程使用proj

8、ect wizard工程向导1)启用工程向导15学习幻灯工程名2)指定工程名称和路径16学习幻灯3)添加工程文件17学习幻灯1 创建工程-使用工具栏快捷按钮1)方法一、点击File-New 18学习幻灯方法二19学习幻灯方法三20学习幻灯2)添加文件21学习幻灯2 源代码错误检查包括两个层次语法错误检查综合错误检查推荐在代码调试阶段使用代码错误检查工具,及时发现问题22学习幻灯综合检查23学习幻灯3 使用rtl观察编译结果执行 run/compile only命令24学习幻灯4 使用scope设计综合约束文件或单击 按钮25学习幻灯SCOPE窗口26学习幻灯1)Clock定义一个信号作为时钟E

9、nable 标志约束是否生效Clock 说明时钟信号名Value 说明时钟的数值单位为Mhz或nsUnits 说明Value一栏的单位Mhz或nsDuty cycle 说明时钟的占空比单位是ns或%Units 说明时钟的占空比的单位ns或%Improve 希望改善由这个时钟控制的寄存器的路径延迟的数量 这个数值可以根据Synplify的时间报告中关于相关寄存器的路径延迟的负裕量给出这是一个高级用户选项Route 希望改善由这个时钟控制的寄存器的路径延迟的数量 与Improve有所不同的是这一栏的数值应填入布局布线工具的时间报告与Synplify的时间报告相差的数值这也是高级用户选项Improv

10、e和Route可以同时使用Units 说明Improve和Route选项的单位只能是nsComments 允许你加入一些注释27学习幻灯2) Clock to Clock说明不同时钟间沿到沿的延迟,可以用来定义不同时钟控制的触发器之间的最大允许延迟说明一条时钟间的False Path 或是描述一个不对称占空情况的时钟Clock1 说明第一个时钟的名字Edge1 说明是第一个时钟的上升或下降沿Clock2 说明第二个时钟的名字Edge2 说明是第二个时钟的上升或下降沿Value 说明两个沿之间的延迟值或false false选项指定两个沿之间的路径将被被忽略28学习幻灯3 ) Input/Out

11、put建立FPGA的I/O端口与外部环境界面的模型,缺省的FPGA外部延迟为0 Port 说明端口名Type 说明端口类型Input 或 OutputValue Improve Route等与前面的相同或类似4) Registers这个约束的目的是按照给定的时间缩短进入一个寄存器或由其输出的路径延迟Type 说明是输入路径还是输出路径Object 说明指定寄存器的名字其他如Improve Route Units等与前相同或类似29学习幻灯5 Multicycle Paths说明通过寄存器的多时钟周期路径通过这项约束你可以为输入或由一个寄存器输出的或是通过一条连线net 的所有路径添加额外的时钟

12、周期以放宽时间约束Type 说明路径是输入或输出指定的端口或寄存器或连线Port/Register/Net 说明指定路径时依据的端口或寄存器名Value 说明为该路径提供的全部时钟周期的总数必须是整数Units 说明Value的单位只能是个周期其他与前相同或类似6. False Path定义在时间分析或优化忽略的路径其中Port/Register/Net Type等与前相同或类似30学习幻灯8. Attribute在这里你可以说明设计属性其中Object栏和Attribute栏的下拉式菜单是同步的如果你在Object栏的下拉式菜单里选定一个对象则Attribute栏的下拉式菜单中只显示可以施加

13、于该对象的属性反之亦然Object Filter 说明属性施加对象的类型你可以用这一栏筛选和选择对象Object 说明施加属性的对象名Attribute 说明施加的属性Value 说明所施加属性的值Val Type 说明属性值的正确类型Description 包含关于该属性的一个简短描述其他与前相同或类似31学习幻灯9. Other这一栏是为了让高级用户输入新近支持的约束文件命令这些命令优化和时间分析并不支持的但是他们会被作为约束传递给布局布线工具32学习幻灯33学习幻灯34学习幻灯4 设置综合优化参数(1)器件选型可以设置最大扇出系数缺省是500根据该工程所属模块是否和片外有信号联系选中或者

14、不选中Disable I/O insert 如果选中则告诉synplify不要为输入输出信号加buf 缺省不选中设计采用流水35学习幻灯(2) 优化参数选项在综合过程中启动有限状态机编译器对设计中的状态机进行优化选中Resource Sharing 选项则启动资源共享可以用synplify内置的状态机浏览器观察状态机的各种属性启动流水36学习幻灯Pipelining将较大的组合逻辑用寄存器分割成若干较小的逻辑,减少从输入到输出的时延自动优化乘法器,ROM等结构,提高工作频率Retiming在不改变逻辑功能的前提下,自动用寄存器分割组合逻辑,在组合电路中插入平衡时延,提高芯片工作频率本质是寄存器

15、在宏观上的移动,不影响整体的寄存器级数Retiming的功能比Pipelining更强大,选定了Retiming就一定会自动选上Pipelining时序优化工具37学习幻灯Retiming和和Pipelining38学习幻灯(3)综合约束文件选项39学习幻灯(4)综合结果存储必须选中此项40学习幻灯(5)时序报告选项41学习幻灯(6)语言参数选项Synplify把最后编译的module作为顶层设计故把你所要的顶层设计文件用左键拖拉到源文件菜单的末尾处或者点击Impl Options”按钮在verilog 属性页中设置顶层模块的名称42学习幻灯5 点击run 进行综合6 分析综合结果43学习幻灯

16、44学习幻灯45学习幻灯HDL Analyst是synplify提供给设计者查看结果提高设计速度特性和优化面积的强有力的层次结构可视化图形工具。HDL Analyst包含两个原理图视窗RTL视窗RTL View 和目标技术视窗Technology ViewRTL视窗显示的是高层的与目标技术无关的原理图是对编译结果的可视化显示。Technology View目标技术视窗提供的是相对低层的、特定厂家器件实现的原理图,是对映射结果的可视化显示,它显示的基本元是与特定厂家器件技术有关的,诸如查找表、级联和进位链、多路器、触发器等等。在设计者把他的设计映射到一个器件后HDL Analyst自动生成层次化

17、的RTL级和基本门级网表用HDL Analyst 打开你的设计后你就可以在你的源代码与你的逻辑图之间进行交叉索引cross_probe 了你可以查看源代码中一段代码编译或映射后产生的结果是否和预期相符,也可以查看图中关键路径对应的是那一段源代码以做修改46学习幻灯47学习幻灯正确理解关键路径上的时间延迟显示信息如 out0 (dfm7a), delay : 12.9 ns, slack:-10.5ns 表示路径延迟累积到此寄存器dfm7a 对应设计中的out0 为12.9ns 到此已超出时间要求10.5ns 关键路径是指设计中从输入到输出经过的延时最长的逻辑路径。48学习幻灯查看综合报表 综合

18、报表所含的信息基本编译信息有限状态机编译信息时序约束信息总体性能概括(Performance Summary)时钟参数信息(Clock Relationships)输入输出引脚信息(Input Ports and Output Ports)较差时钟路径的起点和终点信息(Starting Points and Ending Points with Worst Slack)组合电路时序优化信息综合频率信息面积信息(资源消耗信息)49学习幻灯50学习幻灯51学习幻灯Synplify与quartus接口1 在quartus工程添加vqm文件52学习幻灯在quartus中直接调用1 Synplify软件路径设置软件路径设置 启动quartus软件,选择tools/options/general/EDA tool options,设置synplify安装路径53学习幻灯2设置设置Synplify Pro综综合器合器 54学习幻灯

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号