仿真、综合的介绍及其平台的使用Microsoft Word 文档.doc_第1页
仿真、综合的介绍及其平台的使用Microsoft Word 文档.doc_第2页
仿真、综合的介绍及其平台的使用Microsoft Word 文档.doc_第3页
仿真、综合的介绍及其平台的使用Microsoft Word 文档.doc_第4页
仿真、综合的介绍及其平台的使用Microsoft Word 文档.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1.1 使用典型时序分析器设置时序约束 时序约束包括全局时序约束和个别时序约束。全局时序约束即指定工程范围内通用的全局性时序约束。个别时序约束即对特殊的结点、路径、分组、模块指定个别性的时序约束。个别时序约束的优先级高于全局时序约束。QuartusII中常用的设置时序约束的途径:【Assigments】/【Timing Settings】【Assigments】/【Wizards】/【Timing Wizard】【Assigments】/【Assigment Editor】全局时序约束具体设置包括:l 时序驱动的编译l 全局时钟设置l 全局的I/O时序设置l 时序分析和报告选项l 时序向导指定个别时序约束:l 输入最大最小延时l 输出最大最小延时l 反相时钟l 非时钟l 要求(最大、最小)、 要求、 要求、 要求l 剪除时序路径个别时序约束的对象l 单点l 点到点l 通配符l 时序组1.2 使用TimeQuest进行时序约束和分析1.2.1 使用TimeQuest的基本流程(1)产生Timing Netlist(2)输入SDC约束新建或者读入已有的SDC文件或者在控制台上直接添加约束(3)更新timing netlist(4)生成时序分析报告Generate timing reports(5)保存时序约束(可选步骤)TimeQuest的GUI界面图 Error! No text of specified style in document.1 TimeQuest界面使用TimeQuest的核心环节便是输入SDC约束,有下面两种方式打开TimeQuest File menu =New/Open SDC FileQuartusII File menu = New =Other Files tab图 三2为项目中的部分SDC时序约束:图 Error! No text of specified style in document.2 SDC编辑界面1.2.2 SDC时序约束 SDC约束主要包括如下约束:n 时钟n 异步路径约束n False pathsn Multicycle pathsn Absolute delaysn Time Groups(1) 设置时钟约束:用GUI来建立一个时钟约束:Edit any field(change values; use wildcards in targets or command)TimeQuest main: Constraints Create ClockSDC Editor: Edit Insert Constraint Create ClockName Finder (next slide)Select collection to searchEdit command here or final command to use wildcardsOptions available depend on selected collection图 Error! No text of specified style in document.3用GUI建立时钟约束(2)异步路径约束异步路径是指驱动异步输入的,来自外部寄存器的信号,用来初始化和输出控制结构,必须对它进行约束。TimeQuest 分析异步信号输入是分内部寄存器和外部寄存器两种,TimeQuest 对异步信号进行recovery(setup)和removal(hold)分析。ASYNCDQCLRSETCLKTremValidASYNCTrecCLK图 Error! No text of specified style in document.4 异步信号Trec 和TremRecovery:在时钟沿到达之前,异步信号必须保持稳定的最小时间Removal:在时钟沿到达之后,异步信号必须保持稳定的最小时间 (3)False PathsFalse Paths是Timing异常情况,一般有两类:l 基于逻辑Logic-based,某些路径跟正常电路不相关,例如测试逻辑, 静态寄存器l 基于时序Timing-based我们不需要分析这些路径,例如异步路径已经通过同步时钟来同步。我们使用set_false_path 命令来告诉TimeQuest忽略这些路径。设置举例如FPGA/CPLDdataclk1Reg1Reg2Reg3clk2PRED QCLRPRED QCLRPRED QCLR图 三5:FPGA/CPLDdataclk1Reg1Reg2Reg3clk2PRED QCLRPRED QCLRPRED QCLR图 Error! No text of specified style in document.5 设置false path的example set_false_path from get_pins reg1|regout to get_pins reg2|datain(4)Multicycle PathsMulticycle Paths一般是Timing有异常情况,路径需要超过一个时钟周期来传递,我们可以任意指定edge的迁移个数。图 Error! No text of specified style in document.6 Multicycle Pathsset_multicycle_path from get_pins reg1|regout to get_pins reg2|datain setup 2set_multicycle_path from get_pins reg1|regout to get_pins reg2|datain hold 1(5) Absolute Delays绝对延迟Absolute Delays是应用在在特殊路径上的约束,会忽略现有的setup/hold以及IO约束,我们使用set_max_delay & set_min_delay 来约束路径,指定一个输入引脚到寄存器输入的延迟,或者寄存器到输出口的延迟。(6)Time Group定义一个组节点来设置相同的约束,组成员可以包括包含不规则的名称,或者是通配符,可以用Tcl “set” 命令。如有需要,我们可以使用Quartus II软件来建立Time Groups如图 三7。MembersExcluded MembersCreate & Name Group图 Error! No text of specified style in document.7 Quartus 设置界面用tcl脚本的话,命令如下: timegroup -add_member TimeQuest时序分析报告:图 Error! No text of specified style in document.8TimeQuest 时序分析报告2 FPGA综合的一些原则对项目工程进行综合前,需要在使用工具前尽量熟悉其功能,才能取得较好的综合结果。当出现综合结果不能满足约束条件时,不要急于修改设计源文件,应当通过综合器提供的时序和面积分析命令找出关键所在,然后更改综合控制或修改代码。2.1 大规模设计的综合(1)分块综合当设计规模很大时,综合会耗费很多时间。如果设计只更改某个模块时,可以分块综合。如有设计 top.v 包含 a.v和b.v两个模块,当只修改a.v的话,可以先单独综合b.v,输出其网表b.edf,编写一个b模块的黑盒子接口b_syn.v,每次修改a.v后只综合top.v、a.v、b_syn.v,将综合后的网表和b.edf送去布线,可以节约综合b模块的时间。(2)采用脚本命令当设计规模比较大时,综合控制也许会比较复杂,可以考虑采用脚本控制文件的方式进行综合控制,modelsim和Quartus都支持TCL(Tool Command Language)语言,采用脚本控制可以提供比图形界面更灵活和更方便的控制手段,在目前的项目中也有部分用到tcl脚本。2.2 必须重视工具产生的警告信息综合工具对设计进行处理可能会产生各种警告信息,有些是可以忽略的,但设计者应该尽量去除,不去除必须确认每条警告的含义,避免因此使设计的实现产生隐患。这个原则对仿真和布局布线同样适用。3 分块综合简介QuartusII提供一种分块综合的技术即LogicLock技术。LogicLock是FPGA器件内部的布局约束,能将设计好的电路系统或某一底层模块约束到FPGA中某个指定的区域上,并固定原来的布线/布局方案。难点在于成功的LogicLock需要对可能的时序收敛目标作出预计,考虑特定逻辑资源(引脚、存储器、DSP)与LogicLock Region的位置关系对时序的影响,并可以参考上一次时序成功收敛的结果。图 Error! No text of specified style in document.9 分块综合与传统综合比较从图 Error! No text of specified style in document.9可见,传统的FPGA设计流程和使用LogicLock的设计流程的不同在于:前者将系统中的各个模块分别设计,并集成为系统,然后对整个系统进行优化和测试;而后者则将系统中的各模块分别设计和优化,并保持优化结果,最后进行模块集成和系统测试。如上所述,传统的设计中,对于每个模块来说,它们都能满足设计要求,但当它们合成系统后,却不能达到原来的要求了。即使有时有的模块的功能满足要求,但当修改其他模块后,整个编译后会导致其它模块性能的改变,甚至下降。而针对复杂设计时,LogicLock能很好的解决这一问题。它能很容易的完成对每一模块的设计、测试和优化,再将这些模块集成为一个系统,进行系统优化设计,同时又能很好地保持原来已设计好的每一单个模块的优化特性。当把这些模块集成为一个系统后,只需对模块之间的逻辑行为进行优化就可以了。其具体的区域锁定方式,适配,约束策略,锁定区域德移植与复用等(略)4 综合环境使用说明我们项目中用来进行综合的标准环境包含四个文件:Modem.qpf、Modem.qsf、Modem.sdc、Modem.tcl。Modem.tcl在综合前必须先运行,它主要包括文件拷贝等等,在综合之前拷贝脚本中指定的初始化数据文件至当前综合目录下面。Modem.qsf是工程在Quartus中的配置文件,文件中指定了工

温馨提示

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

评论

0/150

提交评论