set_input_delay/ set_output_delay

TimeQuest出现以后,随之 set input delay 与 set output delay 也跟着出现,该约束命令用“外包资料”的方式,不仅可以将时钟抖动也包装进去,而且也能将外部ic的寄存器特性也包裹进去

  在与时钟选项定义的时钟相关的输入port上定义data arrival time,可将输入延时定义与上升沿或下降沿相关。

  如果输入延时与简单的生成时钟相关,到生成时钟的clock arrival time要加到data arrival time上。

  输入延时可以定义与时钟网络中的port相关,到参考port的clock arrival time要加到data arrival time上。

  输入延时可以包含时钟源延时,默认条件下,相关的时钟源延时加到输入延时上;但是,当定义-source_latency_included选项时,时钟源延时不要相加,因为它并没有用作为input delay value的时序因素。

max用在时钟建立时间或恢复(recovery)校验上,min用于时钟保持时钟或移除(removal)校验上。

  以上内容摘自Quartus help,基本定义edn上很多仁兄已经讲的很清楚了。

看下面简单的例子,两级触发器,来自

  http://www.altera.com.cn/support/examples/timequest/exm-timequest.html

很简单的例子,仅仅加时钟周期约束的条件下,

create_clock -period 10.000-name clk_in [get_ports {clk_in}]

用TimeQuest分析仅会得到一路path的分析,reg1 to reg2,时序图如下:

clock arrival time=latch edge+clock network delay to destination register

11.110=10+1.110

data required time =clock arrival time -u/tsu

11.125=11.110-(-0.015)

data arrival time=launch edge +clock network delay source register +u/tco+register-to-register delay

1.438=0+1.148+0.199+0.091

clock setup slack =data required time -data arrival time

9.687 = 11.125-1.438

set_input_delay -clock { clk_in } -add_delay 1.200 [get_ports {data_in}]

set_output_delay -clock { clk_in } -add_delay 2.000 [get_ports data_out]

重新运行TimeQuest,可以看到3个path分析

  1) data_in to reg1

2) reg1 to reg2

3) reg2 to data_out

 可以看到,输入路径在data arrival time上加上了input delay;输出路径在data required time上减去了output delay;分别表现为对setup和hold时间的影响。

timequest 中set input delay set output delay 的使用的更多相关文章

  1. 关于fpga优化的set input delay 和 set output delay

    set input delay 和set output delay 首先必须明确的是指的外部delay,而非input或output的内部delay,那么这外部delay包含什么呢?包含1,外部路径延 ...

  2. FPGA静态时序分析——IO口时序(Input Delay /output Delay)

    1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...

  3. FPGA静态时序分析——IO口时序(Input Delay /output Delay)(转载)

    转载地址:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟 ...

  4. FPGA静态时序分析——IO口时序(Input Delay /output Delay)

    1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...

  5. 每天进步一点点------时序分析基础与时钟约束实例(四)IO口时序(Input Delay /output Delay)

    1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...

  6. 深入比特币原理(三)——交易的输入(input)与输出(output)

    本节内容非常重要,如果你不能很好的掌握本节内容,你无法真正理解比特币的运行原理,请务必要学习清楚. 比特币的交易模型为UTXO(unspend transaction output),即只记录未花费的 ...

  7. python 中的input

    渣渣之路. 一. 在python编程初学者指南中的第六章.使用参数和返回值的例子中: # -*- coding: utf-8 -*- def display(message): print messa ...

  8. view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的

    view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的,就是没有name属性,后台获取不到值

  9. 数组乘积--满足result[i] = input数组中除了input[i]之外所有数的乘积(假设不会溢出

    数组乘积(15分) 输入:一个长度为n的整数数组input 输出:一个长度为n的整数数组result,满足result[i] = input数组中除了input[i]之外所有数的乘积(假设不会溢出). ...

随机推荐

  1. [javascript]jQuery绑定事件方法:on()

    语法: $(selector).on(event,childSelector,data,function) on(event,childSelector,data,function):在被选元素及子元 ...

  2. lr设置监控本地和远程windows系统资源

    LoadRunner之设置监控本地和远程Windows系统资源   一般在客户端通过LoadRunner对服务器进行压力测试,都需要实时监控服务器端的系统资源,本篇主要简单介绍一下如何设置在LoadR ...

  3. 022——VUE中remove()方法的使用:

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. bzoj3623

    题解: 刚看到题目,还以为是2-sat 可是似乎不对啊... 然后就只能爆搜了 看了网上的题解,woc还真是报搜 然后就ac了 当然爆搜还要随机化 代码: #include<bits/stdc+ ...

  5. JBPM4入门——1.jbpm简要介绍

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  6. volatile关键字解析(一)

    引起线程并发问题,可以简单的总结为以下三条: 原子性问题 可见性问题 有序性问题(重排序问题) 原子性问题 什么是原子性? 原子性,即一个操作或者多个操作,要么全部执行并且执行过程中不会被任何因素打断 ...

  7. python中pickle模块与base64模块的使用

    pickle模块的使用 pickle模块是python的标准模块,提供了对于python数据的序列化操作,可以将数据转换为bytes类型,其序列化速度比json模块要高. pickle.dumps() ...

  8. L157

    UK Watchdog: Smugglers to Exploit Border if no Brexit DealSmugglers and other organized criminals ar ...

  9. L148

    You don't know about real loss, because that only occurs when you love something more than you love ...

  10. vue.js 源代码学习笔记 ----- instance state

    /* @flow */ import Dep from '../observer/dep' import Watcher from '../observer/watcher' import { set ...