FPGA时序分析笔记(三)

时钟分组

时钟组的引出是因为电路中有异步时钟。
电路中有异步时钟意味着,各时钟之间的相位关系位置,从而没法计算建立检查(是否满足建立时间要求)、保持检查。所以让工具避免满足这类路径的时序要求。
可是用set_clock_groups实现。
当让set_clock_groups还可以避免互斥时钟之间的路径时序、以及串扰分析。
该指令的BNF为:

set_clock_groups   
     [-name  group_name]
     [-group  clock_list]
     [-logically_exclusive]
     [-physically_exclusive]
     [-asynchronous]
     [-allow_paths]
     [-comments comment_string]

logically_exclusive、-physically_exclusive、-asynchronous是互斥的。在creat_clock_groups命令中只能使用一个。

eg1:

creat_clock –preiod 10 –name C1 –waveform {0 5}[get_ports C1]
       creat_clock–preiod 10 –name C2 –waveform {0 5}[get_ports C2`]
set_clock_groups-logically_exclusive –group C1 –group C2

eg2:

creat_clock –preiod 10 –name C1 –waveform {0 5}[get_ports C1]
       creat_clock–preiod 10 –name C2 –waveform {0 5}[get_ports C2]
set_clock_groups- physically_exclusive  –group C1 –group C2

eg3:

creat_clock –preiod 10 –name C1 –waveform {0 5}[get_ports C1]
       creat_clock–preiod 10 –name C2 –waveform {0 5}[get_ports C2]
set_clock_groups -asynchronous  –group C1 –group C2
  1. 这三个选项 说明时序电路路径分析工具不再考虑。
  2. 对于串扰分析来说:
  • 时钟组设为-logically_exclusive,则时钟组之间的串扰分析就像两个同步时钟。
  • 时钟组设为-physically_exclusive,则无法完成串扰分析。此时可以和-allow_paths选项一起使用,此选项用于信号完整性的检查。
  • 时钟组设为-asynchronous,则假设干扰源和受扰者同在一个无限时序窗口。

可以在一个set_clock_groups 命令中设定多个组。

这个时钟组列表意味着一组时钟和其他组时钟保持逻辑独立、物理独立、或异步关系。如果仅设定了一个组,则组内所有时钟与设计中的其他时钟均保持逻辑独立、物理独立、或异步关系。这条命令不涉及组内关系
eg:

set_clock_groups  -asynchronous  –group [get_clocks {clk1 clk2 clk3}] –group [get_clock{ clk4 clk5clk6}]

这个指令表示:

       clk1 异步与 clk4  clk5  clk6。
       clk2 异步与 clk4  clk5  clk6。
       clk3 异步与 clk4  clk5  clk6。
       clk1 clk2 clk3 直接没有假设关系
       clk4 clk5 clk6 直接没有假设关系

注意事项

  1. 就虽然定义了一个时钟组,只是说不考虑是否满足时序,而不代表他们同步了。
  2. 组内时钟之间的关系可以另外定义(利用set_clock_group 或者工具默认的设置)
  3. 三个选项使用总结:
    • 如果设计中共存多个时钟,却没有相位关系,使用-asynchronous。
    • 如果设计中共存多个时钟,且电路中仅选择其中一个,使用-logically_exclusive
    • 如果设计中不能共存多个时钟,使用 -physically_exclusive

fpga时序分析笔记一
fpga时序分析笔记二
fpga时序分析笔记三
fpga时序分析笔记四

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2019-04-28 10:02:29 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它