3  Skew between signals

  Skew is the difference in timing between two or more signals, maybe data, clock or both.

  Clock latency is the total time it takes from the clock source to an end point.

  Clock skew is the difference in arrival times at the end points of the clock tree.

  

  Latency of a clock tree can be explicitly specified using the set_clock_latency command.

set_clock_latency 2.2 [get_clocks BZCLK]
# Both rise and fall latency is 2.2ns.
# Use options -rise and -fall if different.

  Clock skew for a clock tree can also be implied by explicitly specifying its value using the set_clock_uncertainty command.

set_clock_uncertainty 0.250 -setup [get_clocks BZCLK]
set_clock_uncertainty 0.100 -hold [get_clocks BZCLK]

  The set_clock_uncertainty specifies a window within which a clock edge can occur. Every real clock source has a finite amount of jitter - a window within which a clock edge can occur.

  Figure 2-16 shows an example of a clock with a setup uncertainty of 250ps. Figure 2-16(b) shows how the uncertainty takes away from the time available for the logic to propagate to the next flip-flop stage.

  

4  Timing Arcs and Unateness

  Every cell has multiple timing arcs.   (uate -- 单边)

  - Combinational logic cell, such as and, or, nand, nor, adder cell, has timing arcs from each input to each output of the cell.

  - Sequential cell (flip-flop) has timing arc from the clock to the output and timing constraints for the data pins with respect to the clock.

5  Min and Max timing paths

  A max path between two end points is the path with the largest delay (also referred to as the longest path). Similarly, a min path is the path with the smallest delay (also referred to as the shortest path).

  

  When a flip-flop to flip-flop path, one of the flip-flops launches the data and the other flip-flop captures the data.

  In this case, UFF1 is referred to as the launch flip-flop, and UFF3 is referred to as the capture flip-flop.

  The launch and capture terminology are always with reference to a flip-flop to flip-flop path. For example, UFF3 would become a launch flip-flop for the path to whatever flip-flop captures the data produced by UFF3.

6  Clock domains

  A clock typically feeds a number of flip-flops. The set of flip-flops being fed by one clock is called its clock domain.

  For example, 200 flip-flops may be clocked by USBCLK and 1000 flip-flops may be fed by clock MEMCLK. Figure 2-20 depicts the flip-flops along with the clocks. In this example, we say that there are two clock domains.

  If indeed there are data paths that cross between clock domains (see Figure2-21), a decision has to be made as to whether the paths are real or not.

  

  An example of a real path is a flip-flop with a 2x speed clock driving into a flip-flop with a 1x speed clock.

  An example of a false path is where the designer has explicitly placed clock synchronizer logic between the two clock domains. Such a path is referred to as a false path, because the clock synchronizer ensures that the data passes correctly from one domain to the next.   

set_false_path -from [get_clocks USBCLK] -to [get_clocks MEMCLK]

最新文章

  1. IOS 数据库
  2. hdu2553 N皇后问题
  3. oracle注意事项
  4. org.pentaho.di.ui.core.widget.PasswordTextVar
  5. [转]CentOS开机启动脚本
  6. linux驱动系列之tftp(转)
  7. 配置Git自动补全功能
  8. Tomcat 配置 Probe 监控
  9. Qt-获取主机网络信息之QHostAddress
  10. 基础题:HDU 5122 K.Bro Sorting
  11. Oracle去掉特殊字符
  12. Gunplot 命令大全
  13. ASP.NET MVC 学习之路-2
  14. maven 编
  15. 01-java技术体系基础
  16. jstl的foreach标签
  17. thymeleaf循环
  18. GALV_maptravel研究分析(2)
  19. linux内存源码分析 - 内存回收(整体流程)
  20. SpringBoot-性能优化之扫包优化

热门文章

  1. poj3211Washing Clothes(字符串处理+01背包) hdu1171Big Event in HDU(01背包)
  2. [WebGL入门]五,矩阵的基础知识
  3. ubuntu14.04 的ibus不能卸载(安装fcitx输入法框架时可能有这个需求)。出现无system setting有用程序
  4. 网关 192.168.2.1 114.114.114.114 dns查询
  5. JS的内存空间
  6. BZOJ_3175_[Tjoi2013]攻击装置_二分图匹配
  7. IJ:Eclipse快捷键大全
  8. softmax function in c++
  9. P4110 [HEOI2015]小L的白日梦
  10. 【js】callback时代的变更