在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 282|回复: 14

[原创] 对输入时钟加一个控制信号进行时钟翻转DC里面的slcak不对

[复制链接]
发表于 2024-4-15 22:19:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 叶子iou 于 2024-4-15 22:24 编辑

为什么对时钟加入反相器之后的报告里面的rise edge 不对
Startpoint: TDC_Data_collection_inst/a2/async_fifo_inst/wr_ptr_g_d2_reg[1]
              (rising edge-triggered flip-flop clocked by CLOCKC')
  Endpoint: TDC_Data_collection_inst/a2/async_fifo_inst/data_out_reg[10]
            (rising edge-triggered flip-flop clocked by CLOCKC)
  Path Group: CLOCKC
  Path Type: max

  Point                                                   Incr       Path
  --------------------------------------------------------------------------
  clock CLOCKC' (rise edge)                               1.25       1.25
  clock network delay (ideal)                             0.00       1.25
  TDC_Data_collection_inst/a2/async_fifo_inst/wr_ptr_g_d2_reg[1]/CK (DRNQHDV2)
                                                          0.00 #     1.25 r
  TDC_Data_collection_inst/a2/async_fifo_inst/wr_ptr_g_d2_reg[1]/Q (DRNQHDV2)
                                                          0.39       1.64 r
  TDC_Data_collection_inst/a2/async_fifo_inst/U245/Z (XOR2HDV2)
                                                          0.23       1.87 f
  TDC_Data_collection_inst/a2/async_fifo_inst/U7/ZN (INOR2HDV2)
                                                          0.09       1.96 r
  TDC_Data_collection_inst/a2/async_fifo_inst/U64/ZN (AOI32HDV2)
                                                          0.08       2.04 f
  TDC_Data_collection_inst/a2/async_fifo_inst/U63/ZN (NOR2HDV4)
                                                          0.15       2.19 r
  TDC_Data_collection_inst/a2/async_fifo_inst/U62/ZN (INAND2HDV2)
                                                          0.13       2.32 r
  TDC_Data_collection_inst/a2/async_fifo_inst/U58/ZN (INHDV4)
                                                          0.06       2.38 f
  TDC_Data_collection_inst/a2/async_fifo_inst/U89/ZN (INAND2HDV16)
                                                          0.07       2.45 r
  TDC_Data_collection_inst/a2/async_fifo_inst/U54/ZN (INHDV16)
                                                          0.06       2.52 f
  TDC_Data_collection_inst/a2/async_fifo_inst/data_out_reg[10]/E (EDQHDV2)
                                                          0.00       2.52 f
  data arrival time                                                  2.52

  clock CLOCKC (rise edge)                                2.50       2.50
  clock network delay (ideal)                             0.00       2.50
  clock uncertainty                                      -0.20       2.30
  TDC_Data_collection_inst/a2/async_fifo_inst/data_out_reg[10]/CK (EDQHDV2)
                                                          0.00       2.30 r
  library setup time                                     -0.15       2.15
  data required time                                                 2.15
  --------------------------------------------------------------------------
  data required time                                                 2.15
  data arrival time                                                 -2.52
  --------------------------------------------------------------------------
  slack (VIOLATED)                                                  -0.37

发表于 2024-4-16 09:21:45 | 显示全部楼层
你这个问题是由于launch reg是上升沿触发,而你的clock一开始是下降沿,所以要等到半周期后的上升沿才触发,这个path是半周期path
 楼主| 发表于 2024-4-16 10:20:51 | 显示全部楼层


houluhui0724 发表于 2024-4-16 09:21
你这个问题是由于launch reg是上升沿触发,而你的clock一开始是下降沿,所以要等到半周期后的上升沿才触发 ...


那我在DC脚本命令里面可以用什么命令来约束我的clock一开始就是上升沿呀?求解
发表于 2024-4-16 13:57:11 | 显示全部楼层
create_clock -waveform {0 1.25} ,waveform指定0~1.25即可
 楼主| 发表于 2024-4-16 14:25:46 | 显示全部楼层


aqiqiqiqi 发表于 2024-4-16 13:57
create_clock -waveform {0 1.25} ,waveform指定0~1.25即可


我的这个命令就是这样的,然后代码里面用了一个控制信号,让时钟信号进行翻转,然后在跑DC的时候就不对了
create_clock -name CLOCKC -period 2.5 -waveform {0 1.25} [get_ports rd_clk_320];

发表于 2024-4-16 14:51:14 | 显示全部楼层


叶子iou 发表于 2024-4-16 14:25
我的这个命令就是这样的,然后代码里面用了一个控制信号,让时钟信号进行翻转,然后在跑DC的时候就不对了 ...


是哪里不对呀,没看出来,就是正常路径呀
 楼主| 发表于 2024-4-16 15:08:16 | 显示全部楼层


啵啵33 发表于 2024-4-16 14:51
是哪里不对呀,没看出来,就是正常路径呀


  clock CLOCKC' (rise edge)                               1.25       1.25
这个里面的rise edge它理应在0~1.25的时候为高电平,0应该是作为上升沿,但是报告上面的是1.25作为上升沿,
或者还有一种方法就是换一个更小的反相器类型,但是我没有找到更换器件的命令


发表于 2024-4-16 16:39:09 | 显示全部楼层


叶子iou 发表于 2024-4-16 14:25
我的这个命令就是这样的,然后代码里面用了一个控制信号,让时钟信号进行翻转,然后在跑DC的时候就不对了 ...


建议和设计那进行约束的review,或者让他们跑个预综合先
发表于 2024-4-16 17:07:08 | 显示全部楼层


叶子iou 发表于 2024-4-16 15:08
clock CLOCKC' (rise edge)                               1.25       1.25
这个里面的rise edge它理 ...


rise edge为什么它理应在0~1.25的时候为高电平,0时刻是高和低对时序有影响吗,rise edge不是代表上升沿触发的意思吗,还是不理解,我经常遇到这样的检查感觉
 楼主| 发表于 2024-4-17 09:28:44 | 显示全部楼层


啵啵33 发表于 2024-4-16 17:07
rise edge为什么它理应在0~1.25的时候为高电平,0时刻是高和低对时序有影响吗,rise edge不是代表上升沿 ...


我现在的问题是,在这个设计中,我在没加时钟反相器的时候slack是正的,但是我一旦加反相器进去的时候,slack就变成了负的,我就不知道该怎么解决这个问题了

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-1 21:03 , Processed in 0.028953 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表