时序约束

                                                               时序约束

 

第一步时钟设置

设置输入输出时钟

create_clock -name {mc_clk_20m_sys} -period $CLK_20M_PERIOD -waveform { 0.000 25 } [get_ports {mc_clk_20m_sys}]  -add

对于PLL 的输出时钟,用creat_generated_clock 创建,用derive_pll_clocks生成所有的pll时钟。

 


第二步时序约束

在进行时序约束之前,我们先了解一下Data Arrival and Data Required Time

图1

                                                                    图1  Timequest timing netlist

 

  •   Part 1 setup check

图2

 

                                                               图2  timing analysis 示意图(register to register)

 

 

                                                                          图3  setup check

 

 

 

 

 

                                                                     图片来自altera文档

 

由上面的三个等式:

         当setup slack >= 0 ,timing met

         当setup slack <  0 ,timing violation

 

  • Part 2 hold check

 

                                                                                          图4 hold check

 

 

 

 

                                                                         图片来自altera文档

 

由上面的三个等式:

        当hold slack >= 0 ,timing met

        当hold slack <  0 ,timing violation

 

  • Part 3 输入输出约束

约束最大最小输入输出延时,这样工具才好分析fpga/cpld 内的建立保持slack。

 

                                                                                   输入约束示意图

 

                                                                                    输出约束示意图

 

 

 

设置输入输出时序约束用set_input_delay /set_output_delay


  • 第三步:其他的时序约束

其余的时序约束,如多周期时钟路径,异步时钟等。

多周期 set_multicycle_path

不需要检测的路径 set_false_path

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值