静态时序分析·Output Delay 约束

1、系统同步输出
     分析FPGA内部时序单元到输出端口的路径时,当source clock 和 destination clock 来自统一系统时钟,称为系统同步输出(system synchronous output)。
 
     当source clock 或者 destination clock 不在FPGA设计中时,则需要约束一个虚拟时钟,如图1所示,source clock 是CLKA,destination clock 是CLKB,其中CLKA通过FPGA时钟输入端口引入FPGA内部(约束成主时钟),而CLKB引入到FPGA外部的板上芯片,并没有引入FPGA内部,因此需要将CLKB约束成虚拟时钟,约束如下:
 
     create_clock -name CLKA-period 10 -waveform {0 5} [get_ports {CLKA}]
 
     create_clock -name CLKB-period 10 -waveform {0 5}
 
1129
图1
 
     output delay 的计算公式如下:
     max_output_delay = Tbd_max + Tsetup + Tcd_int_max - Tcd_ext_min
     min_output_delay = Tbd_min – Thold + Tcd_int_min - Tcd_ext_max
     其中Tcd_ext表示外部时钟源到外部芯片的延时;Tcd_int表示外部时钟源到FPGA时钟端口的延时;Tsetup表示外部芯片tsu时间;Thold表示外部芯片thd时间;Tbd表示FPGA输出端口到外部芯片的板上延时。
 
     2、源同步输出
     分析FPGA内部时序单元到输出端口路径时,输出到外部芯片的数据和时钟是同源的,称为源同步。
 
     结构如图2所示,从FPGA内部输出到外部芯片除了数据外,还有一路随路时钟。
 
              图2
 
参考图2中时间参数,其中Tcd表示时钟从FPGA输出到外部芯片输入端口的延时;Tsetup表示外部芯片tSU时间;Thold表示外部芯片tH时间;Tbd表示FPGA输出端口到外部芯片的板上延时。Output delay的计算式如下(推导与系统同步输出类似,不再累述):
 
       max_output_delay = Tbd_max + Tsetup - Tcd_min
 
       min_output_delay = Tbd_min – Thold - Tcd_max
 
       源同步输出的output delay约束命令如下:
 
set_output_delay -clockCLKB -max max_output_delay [get_ports{DOUT}]
 
set_output_delay -clockCLKB -min min_output_delay [get_ports{DOUT}]
posted @ 2014-04-03 19:22  woaichengdian  阅读(4298)  评论(0编辑  收藏  举报