Синтезировать с помощью компилятора проекта, report_constraint показывает, что емкость нарушена

(1) После успешного синтеза report_constraint показывает нарушение емкости.

dc_shell> report_constraint -all_violators -significant_digits 6
****************************************
Report : constraint
        -all_violators
Design : SCPU_SRAM_8BIT_ALU_TOP
Version: D-2010.03-SP2
Date   : Fri Apr 29 16:39:03 2016
****************************************
   max_capacitance            Required        Actual
   Net                      Capacitance    Capacitance       Slack
   -----------------------------------------------------------------
 SCPU_ALU_CTRL_UUT_REG_B[3] 0.170640       0.172200       -0.001560 (VIOLATED)

(2) Тем не менее, нарушений синхронизации нет, а резерв положительный.

dc_shell> report_timing -significant_digits 6
****************************************
Report : timing
        -path full
        -delay max
        -max_paths 1
Design : SCPU_SRAM_8BIT_ALU_TOP
Version: D-2010.03-SP2
Date   : Fri Apr 29 17:09:55 2016
****************************************
  ......................

  --------------------------------------------------------------------------
  data required time                                             4.648854
  data arrival time                                              -4.646599
  --------------------------------------------------------------------------
  slack (MET)      

                                          0.002255

(3) Я пытался изменить ограничения с помощью команды set_max_capacitance 5 ${My_Design}. Тем не менее, нарушение все же есть.


person folodover    schedule 29.04.2016    source источник


Ответы (1)


Я проверяю много отчетов, информация report_net показывает большое разветвление, связанное с выводом.

Net                 Fanout     Fanin      Load   Resistance    Pins
----------------------------------------------------------------------
SCPU_ALU_CTRL_UUT_REG_B[3]  11     1      0.17         0.00      12
----------------------------------------------------------------------

Поэтому я изменяю ограничение с именем set_max_fanout на 10 и снова синтезирую. Задача решена!

person folodover    schedule 01.05.2016
comment
Это хорошее решение, однако для предварительного макета нарушение незначительно. - person ; 11.02.2018