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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 郑伟

[求助] io综合出现违例和警告

[复制链接]
发表于 2021-11-25 17:28:37 | 显示全部楼层


郑伟 发表于 2021-11-25 16:44
大神,我出了下面这些报告,基本上都是什么都没有,这个该怎么改
Attributes:
    c - port_is_clock_por ...


应该是约束不对,pad上设置了driving cell。模块级可以针对输入设置set_driving_cell,带io pad时,要设置set_input_transtion,不要用set_driving_cell了。
去除set_driving_cell,改用set_input_transtion 0.x,x值可以看情况确定,一般0.3就可以了。

                      Driving Cell
Input Port       Rise(min/max)      Fall(min/max)      Mult(min/max)  Attrs(min/max)
--------------------------------------------------------------------------------
pad_PWM_B    scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --   






 楼主| 发表于 2021-11-25 17:48:14 | 显示全部楼层


coolbear2021 发表于 2021-11-25 17:18
要找一个输出的io,有违例的那几个。你报的那个是输入的,当然没有I到PAD的路径了
...


大神,第一个命令出来的结果就是之前给您发的那个,都是--,肯定都是错的,这个该怎么修呀。
第二个命令出来的delay的结果是:
Rise Delay

   cell delay = 1.27588
     Table is indexed by
      (X) input_pin_transition = 0.175386
      (Y) output_net_total_cap = 0.772
     Relevant portion of lookup table:
                   (X)  0.1488      (X)  0.2980
  (Y)  0.7710      (Z)  1.2690      (Z)  1.3030
  (Y)  2.7710      (Z)  2.9120      (Z)  2.9470

     Z = A + B*X + C*Y + D*X*Y
     A =  0.6021           B =  0.2253
     C =  0.8210           D =  0.0034

  Z = 1.27588
  scaling result for operating conditions
  multiplying by 1 gives 1.27588

Fall Delay

   cell delay = 1.34934
     Table is indexed by
      (X) input_pin_transition = 0.134187
      (Y) output_net_total_cap = 0.772
     Relevant portion of lookup table:
                   (X)  0.0108      (X)  0.1488
  (Y)  0.7710      (Z)  1.3200      (Z)  1.3520
  (Y)  2.7710      (Z)  2.7850      (Z)  2.8150

     Z = A + B*X + C*Y + D*X*Y
     A =  0.7527           B =  0.2375
     C =  0.7326           D = -0.0072

  Z = 1.34934
  scaling result for operating conditions
  multiplying by 1 gives 1.34934

  Cell Delay
  rise:  1.27588
  fall:  1.34934

Transition的结果是:
Transition rise
   transition = 1.15285
     Table is indexed by
      (X) input_pin_transition = 0.175386
      (Y) output_net_total_cap = 0.772
     Relevant portion of lookup table:
                   (X)  0.1488      (X)  0.2980
  (Y)  0.7710      (Z)  1.1510      (Z)  1.1520
  (Y)  2.7710      (Z)  4.5000      (Z)  4.5030

     Z = A + B*X + C*Y + D*X*Y
     A = -0.1403           B =  0.0015
     C =  1.6735           D =  0.0067

  Z = 1.15285
  scaling result for operating conditions
  multiplying by 1 gives 1.15285


  Transition fall
   transition = 1.00067
     Table is indexed by
      (X) input_pin_transition = 0.134187
      (Y) output_net_total_cap = 0.772
     Relevant portion of lookup table:
                   (X)  0.0108      (X)  0.1488
  (Y)  0.7710      (Z)  0.9960      (Z)  0.9996
  (Y)  2.7710      (Z)  3.9010      (Z)  3.9000

     Z = A + B*X + C*Y + D*X*Y
     A = -0.1243           B =  0.0389
     C =  1.4527           D = -0.0167

  Z = 1.00067
  scaling result for operating conditions
  multiplying by 1 gives 1.00067

大神,这些值我都没设置过,我就设置了set_max_capacitance还是0.02,这个cap也没跟着我设置的来呀,之前我还试着设置了set_max_transition想着约束一下,结果也没有用,感觉加了pad以后,那些约束都不怎么会影响结果
 楼主| 发表于 2021-11-26 10:41:35 | 显示全部楼层
本帖最后由 郑伟 于 2021-11-26 10:52 编辑


coolbear2021 发表于 2021-11-26 08:56
report_port报告里,可以看到有driving_cell,要把set_driving_cell约束全部去掉,换成set_input_transit ...


大神,是只去pad里的drive_cell还是都去呀,我直接把drive_cell的那条命令都注释了,大部分违例都消了,就剩下这一个了,感觉好像没和pad连在一起一样。
min_capacitance

                             Required        Actual
   Net                      Capacitance    Capacitance       Slack
   -----------------------------------------------------------------
   cfg_curr_mode[0]             0.00           0.00           0.00  (VIOLATED: increase significant digits)
   cfg_curr_mode[1]             0.00           0.00           0.00  (VIOLATED: increase significant digits)

   -----------------------------------------------------------------
   Total                      2                  -0.00  


发表于 2021-11-26 10:46:21 | 显示全部楼层


郑伟 发表于 2021-11-26 10:41
大神,是只去pad里的drive_cell还是都去呀


所有的set_driving_cell约束全部去掉吧,如果加了pad,原则上就应该用set_input_transition与set_load约束就可以了,不需要set_driving_cell了,除非有特殊情况
 楼主| 发表于 2021-11-26 11:12:43 | 显示全部楼层


coolbear2021 发表于 2021-11-26 10:46
所有的set_driving_cell约束全部去掉吧,如果加了pad,原则上就应该用set_input_transition与set_load约 ...


大神,大部分违例都消了,就剩下这一个了,感觉好像没和pad连在一起一样。我刚才看了一下编译的log,有几个警告之前没有注意,这些pad我也没用啊
Warning: IO pad 'PVSS3CAPR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PVSS3APR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PVSS1R' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PVDD3CAPR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PVDD3APR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PVDD1R' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PVDD1CER' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PANA2APR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PANA1CAPR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PANA1CANPR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PANA1APR' is unusable: unknown logic function.  (OPT-1022)
Warning: IO pad 'PANA1ANPR' is unusable: unknown logic function.  (OPT-1022)
Warning: Operating condition ss_v1p08_125c set on design jstwrapper has different process,
voltage and temperatures parameters than the parameters at which target library
scc011ums_hd_rvt_ff_v1p32_85c_ccs is characterized. Delays may be inaccurate as a result. (OPT-998)

min_capacitance

                             Required        Actual
   Net                      Capacitance    Capacitance       Slack
   -----------------------------------------------------------------
   cfg_curr_mode[0]             0.00           0.00           0.00  (VIOLATED: increase significant digits)
   cfg_curr_mode[1]             0.00           0.00           0.00  (VIOLATED: increase significant digits)

   -----------------------------------------------------------------
   Total                      2                  -0.00  

发表于 2021-11-26 13:36:05 | 显示全部楼层


郑伟 发表于 2021-11-26 11:12
大神,大部分违例都消了,就剩下这一个了,感觉好像没和pad连在一起一样。我刚才看了一下编译的log,有几 ...


min_cap,那两个是内部的net,违例很小,另外不清楚min在dc阶段是否会修,可以先不管了。如果要查的话,可以用report_net以及report_delay_calculation去看。
report_net cfg_curr_mode[0] -verbose -connections,这个可以看对应net连接了谁,具体的cap分布之类的。

 楼主| 发表于 2021-11-26 15:01:03 | 显示全部楼层


coolbear2021 发表于 2021-11-26 13:36
min_cap,那两个是内部的net,违例很小,另外不清楚min在dc阶段是否会修,可以先不管了。如果要查的话, ...


大神,这个不管的话,不会影响后面吗
发表于 2021-11-26 15:44:46 | 显示全部楼层


郑伟 发表于 2021-11-26 15:01
大神,这个不管的话,不会影响后面吗


不会有影响的,违例太小了
 楼主| 发表于 2021-11-26 16:19:29 | 显示全部楼层


coolbear2021 发表于 2021-11-26 15:44
不会有影响的,违例太小了


大神,之前不是有几个input的警告吗,我把他改成inout以后,警告没了,但做仿真,就报错了。
Error-[VIHIOP] Variable in high conn of inout port
jsttb.v, 28
"clk_main_in"
  This variable is not a net, it cannot be connected to an inout port.
  "jsttb.v", 42: jstwrapper uut( .pad_clk_main_in (clk_main_in),  .pad_sd_in
  (sd_in),  .pad_rst_n (rst_n),  .pad_cfg_curr_mode (cfg_curr_mode),  
  .pad_sd_out (sd_out),  .pad_rp ...

做仿真的时候输入只能是input吗?

发表于 2021-11-26 16:46:27 | 显示全部楼层


郑伟 发表于 2021-11-26 16:19
大神,之前不是有几个input的警告吗,我把他改成inout以后,警告没了,但做仿真,就报错了。
Error-[VIHI ...


要看你tb上是怎么写的,针对inout类型的pin(比如名称是a),直接连接的那个必须是wire类型的,不能是reg。如果你的是reg,可以参考如下写法。


module tb_top;

wire a;

reg tb_reg_a;

assign a = tb_reg_a;

initial begin
   tb_reg_a = 1'b0;
   ...
end

dut u_dut(
  .a(a),
...
);

endmodule



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

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-27 00:57 , Processed in 0.026444 second(s), 5 queries , Gzip On, Redis On.

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