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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
楼主: 亭ting

[求助] 用Liberate对时序单元触发器特征化

[复制链接]
发表于 2019-3-22 08:59:13 | 显示全部楼层
你template里面,arc怎么定义的?还是说没有arc定义在里面?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-22 11:40:16 | 显示全部楼层


   
chedanzhuzhu 发表于 2019-3-22 08:54
constraint_delay_degrade把这个设置的大一点把,默认是0.1,设成0.3试试看看能不能仿真跑过,仿真能过得话 ...


我设置了:


   

        

                
  1. set_var constraint_delay_degrade 0.3
  2. set_var constraint_delay_degrade_abstol 1e-12

  3.         

   

    复制代码
然后还把那个template中index变小了,


   

        

                
  1. define_template -type delay \
  2.          -index_1 {1 12 27 47 67 87 102 127 147 167 187 } \
  3.          -index_2 {0.001 0.002 0.0035 0.005 0.0065 0.008 0.0095 0.011 0.0125 0.014 0.016 } \
  4.          delay_template_11x11

  5. define_template -type constraint \
  6.          -index_1 {1 47 187 } \
  7.          -index_2 {1 47 187 }  \
  8.          constraint_template_3x3

  9.         

   

    复制代码
可是结果还是不行,仍然报错:


   

        

                
  1. ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFM1RA_st', r_pin:'CK', r_pin dir:'r', pin:'D', pin dir:'r', type:'hold_rising rise_constraint', vector:'RRxx'. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, review the saved simulation results for deck: hold_5. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large;
            

   

    复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-22 11:41:33 | 显示全部楼层


   
lightpisces 发表于 2019-3-22 08:59
你template里面,arc怎么定义的?还是说没有arc定义在里面?


我是这样定义的:


   

        

                
  1. define_cell \
  2.        -clock { CK } \
  3.        -input { D } \
  4.        -output { Q QB } \
  5.        -pinlist { CK D Q QB } \
  6.        -delay delay_template_11x11 \
  7.        -power power_template_11x11 \
  8.        -constraint constraint_template_3x3 \
  9.        DFM1RA_st
            

   

    复制代码


   

        

                
  1. define_template -type delay \
  2.          -index_1 {1 12 27 47 67 87 102 127 147 167 187 } \
  3.          -index_2 {0.001 0.002 0.0035 0.005 0.0065 0.008 0.0095 0.011 0.0125 0.014 0.016 } \
  4.          delay_template_11x11

  5. define_template -type constraint \
  6.          -index_1 {1 47 187 } \
  7.          -index_2 {1 47 187 }  \
  8.          constraint_template_3x3

  9. #         -index_1 {2 52 100 } \
  10. #         -index_2 {2 52 100 }  \

  11. define_template -type power \
  12.          -index_1 {1 12 27 47 67 87 102 127 147 167 187 } \
  13.          -index_2 {0.001 0.002 0.0035 0.005 0.0065 0.008 0.0095 0.011 0.0125 0.014 0.016 } \
  14.          power_template_11x11
            

   

    复制代码


回复 支持 反对

使用道具 举报

发表于 2019-3-22 15:04:23 | 显示全部楼层
你看看你那边有没有相同类型cell的lib,读取后生成一个template试试看,里面有define_arc,char的时候加上-use_only试试
回复 支持 反对

使用道具 举报

发表于 2019-3-22 15:10:06 | 显示全部楼层
user_arcs_only
回复 支持 反对

使用道具 举报

发表于 2019-3-22 16:25:05 | 显示全部楼层
你arc没定义啊,应该类似这样:
define_arc \
       -type hold \
       -vector {RRxx} \
       -related_pin CK \
       -pin D \
       DFM1RA_st
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 10:00:29 | 显示全部楼层


   
lightpisces 发表于 2019-3-22 16:25
你arc没定义啊,应该类似这样:
define_arc \
       -type hold \


我用的template就是从一个lib里读取来的,里面有这样的arc定义,如下:


   

        

                
  1. # constraint arcs from CK => D  hold_rising
  2. define_arc \
  3.        -type hold \
  4.        -vector {RRxx} \
  5.        -related_pin CK \
  6.        -pin D \
  7.        DFM1RA_st

  8. # constraint arcs from CK => D  hold_rising
  9. define_arc \
  10.        -type hold \
  11.        -vector {RFxx} \
  12.        -related_pin CK \
  13.        -pin D \
  14.        DFM1RA_st

  15. define_arc \
  16.        -type setup \
  17.        -vector {RRxx} \
  18.        -related_pin CK \
  19.        -pin D \
  20.        DFM1RA_st

  21. define_arc \
  22.        -type setup \
  23.        -vector {RFxx} \
  24.        -related_pin CK \
  25.        -pin D \
  26.        DFM1RA_st

  27. # delay arcs from CK => Q  rising_edge
  28. define_arc \
  29.        -type edge \
  30.        -vector {RxRx} \
  31.        -related_pin CK \
  32.        -pin Q \
  33.        DFM1RA_st

  34. # delay arcs from CK => Q  rising_edge
  35. define_arc \
  36.        -type edge \
  37.        -vector {RxFx} \
  38.        -related_pin CK \
  39.        -pin Q \
  40.        DFM1RA_st

  41. # delay arcs from CK => QB  rising_edge
  42. define_arc \
  43.        -type edge \
  44.        -vector {RxxR} \
  45.        -related_pin CK \
  46.        -pin QB \
  47.        DFM1RA_st

  48. # delay arcs from CK => QB  rising_edge
  49. define_arc \
  50.        -type edge \
  51.        -vector {RxxF} \
  52.        -related_pin CK \
  53.        -pin QB \
  54.        DFM1RA_st

  55.         

   

    复制代码
就是我在template里包含了这样的内容,不过这还用用那个user_arcs_only吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 10:29:46 | 显示全部楼层


我在char_library里加了-user_arcs_only,而且那个define arc里也有hold的define arc,但是还是出了错,


   

        

                
  1. ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFM1RA_st', r_pin:'CK', r_pin dir:'r', pin:'D', pin dir:'r', type:'hold_rising rise_constraint', vector:'RRxx'. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, review the saved simulation results for deck: hold_5. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
            

   

    复制代码
请问,还有什么没有考虑到的吗?
回复 支持 反对

使用道具 举报

发表于 2019-3-25 14:43:52 | 显示全部楼层


   
亭ting 发表于 2019-3-25 10:00
我用的template就是从一个lib里读取来的,里面有这样的arc定义,如下:
就是我在template里包含了这样的 ...


user_arcs_only就是指定liberate从你的template里面去找arc
如果不设定,它会自己去找arc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 15:02:15 | 显示全部楼层


   
lightpisces 发表于 2019-3-25 14:43
user_arcs_only就是指定liberate从你的template里面去找arc
如果不设定,它会自己去找arc
...


我添加了这个user_arcs_only,还是报错,就像上面那样,请问还有什么办法吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-15 21:10 , Processed in 0.033051 second(s), 3 queries , Gzip On, Redis On.

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