承接上一篇文件《 基于xilinx FPGA验证ASIC可能遇到的timing问题》中提到的问题,本文列数一下在vivado中可能用到的约束方法和面对timing问题的解决办法。

(1)详尽的时钟约束

create_clock:和其他FPGA EDA tool一样,在vivado中timing约束越全越好,越细越好,而place约束可以很粗略或者省略调。约束中最常用的语句就是create_clock了,用语法create_clock -name NAME -period PRERIOD  get_ports{***}来定义FPGA的外部输入时钟源头,这是FPGA所有MMCM或PLL的时钟源,一般对其只有周期和引脚的约束,需要注意的是引脚最好采用FPGA的时钟专用引脚,对xilinx 7系列FPGA来说就是有MRCC和SRCC属性的引脚,这类引脚可以直接驱动BUFG,保证时钟信号质量,如果设计中不得已采用了一般的GPIO作为时钟输入引脚,在约束中最好加上CLOCK_DEDICADED_ROUTE的property约束,否则在place中可能因为BUFG资源的互相挤压报出error。

create_generated_clock:创建衍生时钟的约束同样非常常用,在FPGA中的design很少只工作在同一时钟下,所以create_generated_clock经常用于对MMCM或者PLL,甚至Flip-Flop分频产生的时钟增加约束,语法create_generated_clock -name NAME -divide_by DIVIDE -multiply_by MULTI -source SOURCE_CLOCK get_pins{***},如果有相位差还要增加相位的参数, create_generated_clock很灵活,可以用rise和fall边沿来定义时钟,这样可以定义占空比特殊的时钟。

set_input_delay:对FPGA的input类型GPIO增加set_input_delay约束,语法set_input_delay -max MAX -clock get_clocks{***} get_ports{***}和set_input_delay -min MIN -clock get_clocks{***} get_ports{***},通常min和max都要加的,这两个delay参数来自于PCB走线。

set_output_delay:同样的,对FPGA output类型的GPIO增加set_output_delay约束,语法也类似set_output_delay -max MAX -clock get_clocks{***} get_ports{***}和set_output_delay -min MIN -clock get_clocks{***} get_ports{***}。

(2)精细的时钟关系

不同时钟之间的关系要做到越全越好,用set_clock_groups语句来定义不同时间的关系,如果用了-async参数,那么不同组之间就是异步关系,相当于加了最强的set_false_path一样,在同一个-group{******}里加的时钟都是有关系的,工具就会检查跨时钟域,如同上一篇文章所说,第一轮的时序约束可以采用最紧的方式,让工具检查出所有的跨时钟域path,简单分析一下各个关键路径,确定有问题的就可以采用set_multicycle_path -from -to -setup N -hold M来约束,这里set_multicycle_path要根据时钟关系来写,源自同一时钟源的,并且是整倍数关系的比较简单,只写-setup就可以了,源自异步时钟或者是小数倍数关系的,要根据从快时钟进入慢时钟,还是从慢时钟进入快时钟的关系,增加-end或-start的参数,组合方式是-setup -start和-hold -end这两种,其影响是检查setup的边沿和检查hold的边沿是否同时进行multicycle的变化。

有一种情况对一个pin定义了两次create_generated_clock,这个pin很可能是个clk_mux的输出,它会工作在两种以上的时钟频率,所以对这两次定义的create_generated_clock要做一个set_clock_groups -logically_exclusive 的约束,说明这两个时钟不会同时存在。

时序约束方法及解决timing问题的方法(一)相关推荐

  1. ise 时钟约束_ISE时序约束笔记2——Global Timing Constraints

    问题思考本文引用地址:http://www.eepw.com.cn/article/269207.htm 单一的全局约束可以覆盖多延时路径 如果箭头是待约束路径,那么什么是路径终点呢? 所有的寄存器是 ...

  2. FPGA时序约束和timequest timing analyzer

    FPGA时序约束和timequest timing analyzer FPGA时序约束 时钟约束 #************************************************** ...

  3. 简述计算机噪音解决方法,如何解决电脑主机噪音大

    电脑主机用一段时间后,噪音就会变得非常大,很多用户都不知道如何解决.那么如何解决电脑主机噪音大呢?这里学习啦小编就教给大家解决电脑主机噪音大的方法. 解决电脑主机噪音大方法 首先我们来找找电脑主机噪音 ...

  4. 修改时序约束改变slack_改变我们使用Slack的方式解决了我们的透明度和筒仓问题

    修改时序约束改变slack 协作和信息孤岛是当今大多数组织中的现实. 人们倾向于将它们视为创新和组织效率的巨大障碍. 对于所有类型的软件工具供应商来说,它们也是解决方案的最爱目标. 但是,工具本身很少 ...

  5. 时序约束优先级_几种进行时序约束的方法

    对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛过程就会更可控 ...

  6. fpga如何约束走线_经验总结:FPGA时序约束的6种方法

    对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛过程就会更可控 ...

  7. fpga如何约束走线_FPGA时序约束的几种方法

    对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛过程就会更可控 ...

  8. FPGA 时序约束几种方法

    原文地址:http://www.eefocus.com/leageshine/blog/09-01/163871_8a32a.html 收藏,学习!!! 对自己的设计的实现方式越了解,对自己的设计的时 ...

  9. (37)一个合理的时序约束方法

    (37)一个合理的时序约束方法 1 文章目录 1)文章目录 2)时序约束引言 3)FPGA时序约束课程介绍 4)一个合理的时序约束方法 5)技术交流 6)参考资料 2 时序约束引言 1)什么是静态时序 ...

最新文章

  1. SQL Server中的分页查询
  2. 网站关键词优化有哪些技巧?
  3. 区块链金融应用论坛关于量化的分享
  4. 从SQL Server 2000/2005到SQL Server 2008的升级测试
  5. docker and ssh issues
  6. java内存回收机制
  7. identifier __ldg is undefined
  8. elementUI组件el-dropdown - 踩坑篇
  9. 计算机可以调剂其他专业吗,机械能跨专业调剂计算机吗
  10. CodeBlocks13.12汉化以及去掉注释及字符串的下划线
  11. MySQL数据库中多表联合查询
  12. 微型计算机上的射箭成为什么,《说文解字》第429课:“谢”字里为什么有一个“射箭”的“射”...
  13. mysql禁止超线程_如何在BIOS中关闭CPU的超线程功能
  14. sql修改服务器标记,KB974006-SQL Server 查询优化程序修复程序模型4199服务模型
  15. 手机app推广渠道的安装来源追踪与归因
  16. python编写游戏测试机器人客户端(四)
  17. Ajax的网络响应时间
  18. linux防火墙 限制流量,Linux防火墙对P2P流量的限制
  19. windows防火墙是干什么的_防火墙的作用有哪些?Windows防火墙的主要作用是什么?...
  20. vue 实现app项目版本迭代自动更新 热更新

热门文章

  1. IDE(4)——VS系列(4)——sln解决方案
  2. CSS + HTML 实现纸张类似稿纸效果
  3. 利用python自己动手制作一个音乐下载器,想听什么歌自己下就好了。
  4. PDF视图工具栏不显示如何调出来
  5. 计算机桌面怎么右挪,电脑桌面的任务栏跑到右边去了怎么办如何还原 - 驱动管家...
  6. web开发技术情况_如何在不失去思想的情况下成为Web开发人员
  7. 微信竟然可以查出行轨迹了?
  8. MIT公开课:How to speak
  9. 游戏行业未来发展趋势分析?
  10. 截图表格转可编辑Word文本教程