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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 10785|回复: 21

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

[复制链接]
发表于 2021-11-23 16:14:08 | 显示全部楼层 |阅读模式
悬赏100资产已解决
大神们,我之前做的设计一直没有io_pad,综合做完也没有违例啥的,很正常的结果。这几天在原设计上例化了io_pad,也通过了前仿真。但做综合时出现了违例。如下:
max_transition

                             Required        Actual
   Net                      Transition     Transition        Slack
   -----------------------------------------------------------------
   pad_PWM_B                    1.97           3.72          -1.75  (VIOLATED)
   pad_PWM_G                    1.97           3.72          -1.75  (VIOLATED)
   pad_PWM_R                    1.97           3.72          -1.75  (VIOLATED)
   pad_curr_mode_out[0]         1.97           3.72          -1.75  (VIOLATED)
   pad_curr_mode_out[1]         1.97           3.72          -1.75  (VIOLATED)
   pad_rpt_rz_err[0]            1.97           3.72          -1.75  (VIOLATED)
   pad_rpt_rz_err[1]            1.97           3.72          -1.75  (VIOLATED)
   pad_rpt_rz_err[2]            1.97           3.72          -1.75  (VIOLATED)
   pad_rpt_rz_err[3]            1.97           3.72          -1.75  (VIOLATED)
   pad_rpt_rz_err[4]            1.97           3.72          -1.75  (VIOLATED)
   pad_rpt_rz_err[5]            1.97           3.72          -1.75  (VIOLATED)
   pad_sd_out                   1.97           3.72          -1.75  (VIOLATED)
   pad_cfg_curr_mode[0]         1.97           2.57          -0.60  (VIOLATED)
       PORT :  pad_cfg_curr_mode[0]
                                1.97           2.57          -0.60  (VIOLATED)
   pad_cfg_curr_mode[1]         1.97           2.57          -0.60  (VIOLATED)
       PORT :  pad_cfg_curr_mode[1]
                                1.97           2.57          -0.60  (VIOLATED)
   pad_sd_in                    1.97           2.57          -0.60  (VIOLATED)
       PORT :  pad_sd_in        1.97           2.57          -0.60  (VIOLATED)

   -----------------------------------------------------------------
   Total                      15                -22.74  

   max_capacitance

                             Required        Actual
   Net                      Capacitance    Capacitance       Slack
   -----------------------------------------------------------------
   pad_PWM_B                    0.58           1.12          -0.54  (VIOLATED)
   pad_PWM_G                    0.58           1.12          -0.54  (VIOLATED)
   pad_PWM_R                    0.58           1.12          -0.54  (VIOLATED)
   pad_curr_mode_out[0]         0.58           1.12          -0.54  (VIOLATED)
   pad_curr_mode_out[1]         0.58           1.12          -0.54  (VIOLATED)
   pad_rpt_rz_err[0]            0.58           1.12          -0.54  (VIOLATED)
   pad_rpt_rz_err[1]            0.58           1.12          -0.54  (VIOLATED)
   pad_rpt_rz_err[2]            0.58           1.12          -0.54  (VIOLATED)
   pad_rpt_rz_err[3]            0.58           1.12          -0.54  (VIOLATED)
   pad_rpt_rz_err[4]            0.58           1.12          -0.54  (VIOLATED)
   pad_rpt_rz_err[5]            0.58           1.12          -0.54  (VIOLATED)
   pad_sd_out                   0.58           1.12          -0.54  (VIOLATED)
   pad_cfg_curr_mode[0]         0.58           0.77          -0.19  (VIOLATED)
   pad_cfg_curr_mode[1]         0.58           0.77          -0.19  (VIOLATED)
   pad_sd_in                    0.58           0.77          -0.19  (VIOLATED)

   -----------------------------------------------------------------
   Total                      15                 -7.01  

   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  

和这个警告:
Warning: In design 'jstwrapper', input port 'pad_clk_main_in' drives wired logic; the port direction may have been specified incorrectly. (LINT-6)
Warning: In design 'jstwrapper', input port 'pad_sd_in' drives wired logic; the port direction may have been specified incorrectly. (LINT-6)
Warning: In design 'jstwrapper', input port 'pad_rst_n' drives wired logic; the port direction may have been specified incorrectly. (LINT-6)
Warning: In design 'jstwrapper', input port 'pad_cfg_curr_mode[1]' drives wired logic; the port direction may have been specified incorrectly. (LINT-6)
Warning: In design 'jstwrapper', input port 'pad_cfg_curr_mode[0]' drives wired logic; the port direction may have been specified incorrectly. (LINT-6)
我本来的设计input是clk_main_in,例化io的时候这些端口就都加了pad_xxx。这些该怎么改呀
 楼主| 发表于 2021-11-24 17:30:03 | 显示全部楼层
本帖最后由 郑伟 于 2021-11-24 17:56 编辑


   
coolbear2021 发表于 2021-11-24 13:27
1)max transition,可能是io cell的输入transition差,或者io cell的输出load大,可以先解决max cap违例, ...


大神,我已经set_load 0.001 了,还是那几个违例只是违例的值变小了,而且我看到一个警告Warning: It is dangerous to create a clock source on inout port 'pad_clk_main_in'. (UID-376)
回复

使用道具 举报

 楼主| 发表于 2021-11-25 10:18:23 | 显示全部楼层


   
coolbear2021 发表于 2021-11-25 08:53
可以让工具报一下有cap违例的port的load构成,看看是约束上去的,还是库中引入的,要么约束上的问题,要么 ...


大神,怎么报load呀,我报出来的违例内容就是上面那几个图
回复

使用道具 举报

 楼主| 发表于 2021-11-25 16:44:44 | 显示全部楼层


   
coolbear2021 发表于 2021-11-25 11:24
可以使用report_port -verbose,这个可以看一下对应port的约束,看看是否符合预期。
另外,可以用report_de ...


大神,我出了下面这些报告,基本上都是什么都没有,这个该怎么改
Attributes:
    c - port_is_clock_port
    d - dont_touch_network
    i - ideal_network

                                   Pin      Wire     Max     Max     Connection
Port                   Dir     Load     Load     Trans   Cap     Class      Attrs
--------------------------------------------------------------------------------
pad_PWM_B      inout   0.0010   0.0000    1.97    0.02   --         
pad_PWM_G      inout   0.0010   0.0000    1.97    0.02   --         
pad_PWM_R      inout   0.0010   0.0000    1.97    0.02   --         
pad_cfg_curr_mode[0]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_cfg_curr_mode[1]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_clk_main_in
               inout   0.0010   0.0000   --      --      --         c, d, i
pad_curr_mode_out[0]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_curr_mode_out[1]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_rpt_rz_err[0]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_rpt_rz_err[1]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_rpt_rz_err[2]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_rpt_rz_err[3]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_rpt_rz_err[4]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_rpt_rz_err[5]
               inout   0.0010   0.0000    1.97    0.02   --         
pad_rst_n      inout   0.0010   0.0000   --      --      --         d, i
pad_sd_in      inout   0.0010   0.0000    1.97    0.02   --         
pad_sd_out     inout   0.0010   0.0000    1.97    0.02   --         


                     External  Max             Min                Min       Min
                    Number    Wireload        Wireload           Pin       Wire
Port               Points    Model           Model              Load      Load
--------------------------------------------------------------------------------
pad_PWM_B          1      --              --              --        --
pad_PWM_G          1      --              --              --        --
pad_PWM_R          1      --              --              --        --
pad_cfg_curr_mode[0]
                   1      --              --              --        --
pad_cfg_curr_mode[1]
                   1      --              --              --        --
pad_clk_main_in
                   1      --              --              --        --
pad_curr_mode_out[0]
                   1      --              --              --        --
pad_curr_mode_out[1]
                   1      --              --              --        --
pad_rpt_rz_err[0]
                   1      --              --              --        --
pad_rpt_rz_err[1]
                   1      --              --              --        --
pad_rpt_rz_err[2]
                   1      --              --              --        --
pad_rpt_rz_err[3]
                   1      --              --              --        --
pad_rpt_rz_err[4]
                   1      --              --              --        --
pad_rpt_rz_err[5]
                   1      --              --              --        --
pad_rst_n          1      --              --              --        --
pad_sd_in          1      --              --              --        --
pad_sd_out         1      --              --              --        --




                      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
                                                     -- /  --     
pad_PWM_G    scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_PWM_R    scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_cfg_curr_mode[0]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_cfg_curr_mode[1]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_curr_mode_out[0]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_curr_mode_out[1]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_rpt_rz_err[0]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_rpt_rz_err[1]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_rpt_rz_err[2]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_rpt_rz_err[3]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_rpt_rz_err[4]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_rpt_rz_err[5]
             scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_sd_in    scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     
pad_sd_out   scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                scc011ums_hd_rvt_ss_v1p08_125c_ccs/BUFHDV4
                                                     -- /  --     


                  Max Drive      Min Drive      Resistance    Min    Min       Cell
Input Port    Rise    Fall   Rise    Fall   Max     Min    Cap    Fanout    Deg
--------------------------------------------------------------------------------
pad_PWM_B     --      --     --      --     --      --     --     --        --
pad_PWM_G     --      --     --      --     --      --     --     --        --
pad_PWM_R     --      --     --      --     --      --     --     --        --
pad_cfg_curr_mode[0]
              --      --     --      --     --      --     --     --        --
pad_cfg_curr_mode[1]
              --      --     --      --     --      --     --     --        --
pad_clk_main_in
              --      --     --      --     --      --     --     --        --
pad_curr_mode_out[0]
              --      --     --      --     --      --     --     --        --
pad_curr_mode_out[1]
              --      --     --      --     --      --     --     --        --
pad_rpt_rz_err[0]
              --      --     --      --     --      --     --     --        --
pad_rpt_rz_err[1]
              --      --     --      --     --      --     --     --        --
pad_rpt_rz_err[2]
              --      --     --      --     --      --     --     --        --
pad_rpt_rz_err[3]
              --      --     --      --     --      --     --     --        --
pad_rpt_rz_err[4]
              --      --     --      --     --      --     --     --        --
pad_rpt_rz_err[5]
              --      --     --      --     --      --     --     --        --
pad_rst_n     --      --     --      --     --      --     --     --        --
pad_sd_in     --      --     --      --     --      --     --     --        --
pad_sd_out    --      --     --      --     --      --     --     --        --


                  Max Tran        Min Tran
Inout Port    Rise    Fall    Rise    Fall
--------------------------------------------------------------------------------
pad_PWM_B     --      --      --      --
pad_PWM_G     --      --      --      --
pad_PWM_R     --      --      --      --
pad_cfg_curr_mode[0]
              --      --      --      --
pad_cfg_curr_mode[1]
              --      --      --      --
pad_clk_main_in
              --      --      --      --
pad_curr_mode_out[0]
              --      --      --      --
pad_curr_mode_out[1]
              --      --      --      --
pad_rpt_rz_err[0]
              --      --      --      --
pad_rpt_rz_err[1]
              --      --      --      --
pad_rpt_rz_err[2]
              --      --      --      --
pad_rpt_rz_err[3]
              --      --      --      --
pad_rpt_rz_err[4]
              --      --      --      --
pad_rpt_rz_err[5]
              --      --      --      --
pad_rst_n     --      --      --      --
pad_sd_in     --      --      --      --
pad_sd_out    --      --      --      --


回复

使用道具 举报

 楼主| 发表于 2021-11-25 16:50:38 | 显示全部楼层


   
coolbear2021 发表于 2021-11-25 11:24
可以使用report_port -verbose,这个可以看一下对应port的约束,看看是否符合预期。
另外,可以用report_de ...


大神,这个是我用您给的第二个命令,产生的报告,但是报错了,u_pad_00的I和PAD是
PBSD2R u_pad_00(.IE(1'b1),.C(clk_main_in),.I(1'b0),.OEN(1'b1),.PAD(pad_clk_main_in));是要把I也改成和PAD一样吗?
From pin:                         u_pad_00/I
To pin:                           u_pad_00/PAD
Main Library Units:  1ns  1pF  1kOhm


Operating Conditions: ss_v1p08_125c   Library: scc011ums_hd_rvt_ss_v1p08_125c_ccs
Wire Load Model Mode: top

Error: There is no cell or net delay arc between pins 'u_pad_00/I' and 'u_pad_00/PAD'.
        The pins must be on the same net or the same cell. (RPT-35)
1

回复

使用道具 举报

 楼主| 发表于 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 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 15:01:03 | 显示全部楼层


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


大神,这个不管的话,不会影响后面吗
回复

使用道具 举报

 楼主| 发表于 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吗?

回复

使用道具 举报

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

本版积分规则

关闭

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


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

GMT+8, 2025-10-17 01:59 , Processed in 0.028960 second(s), 4 queries , Gzip On, Redis On.

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