Минимизируйте часы, включает

По умолчанию HDL Coder™ генерирует код в стиле, который предназначается, чтобы сопоставить с регистрами с часами, включает, и DUT имеет часы верхнего уровня, включают порт.

Если вы не хотите генерировать регистры с часами, включает, можно минимизировать часы, включают логику. Например, если ваш целевой компьютер содержит регистры без часов, включает, можно сохранить аппаратные ресурсы путем минимизации часов, включают логику.

Следующий код VHDL® показывает стиль по умолчанию сгенерированного кода, который использует часы, включает. enb сигнал является часами, включите:

Unit_Delay_process : PROCESS (clk, reset)
  BEGIN
    IF reset = '1' THEN
      Unit_Delay_out1 <= to_signed(0, 32);
    ELSIF clk'EVENT AND clk = '1' THEN
      IF enb = '1' THEN
        Unit_Delay_out1 <= In1_signed;
      END IF;
    END IF;
  END PROCESS Unit_Delay_process;

Следующий код VHDL показывает стиль кода, который вы генерируете, если вы минимизируете часы, включает:

Unit_Delay_process : PROCESS (clk, reset)
  BEGIN
    IF reset = '1' THEN
      Unit_Delay_out1 <= to_signed(0, 32);
    ELSIF clk'EVENT AND clk = '1' THEN
      Unit_Delay_out1 <= In1_signed;
    END IF;
  END PROCESS Unit_Delay_process;

Используя графический интерфейс пользователя

Минимизировать часы включает, в HDL Workflow Advisor, на вкладке HDL Code Generation> Set Code Generation Options> Set Optimization Options> General, выберите Minimize clock enables.

Используя командную строку

Минимизировать часы включает в coder.HdlConfig объект настройки, набор MinimizeClockEnables свойство к true. Например:

hdlCfg = coder.config('hdl')
hdlCfg.MinimizeClockEnables = true;

Ограничения

Если вы задаете оптимизацию области, которую кодер реализует путем увеличения тактовой частоты в определенных областях проекта, вы не можете минимизировать часы, включает. Следующая оптимизация предотвращает часы, включают минимизацию:

  • Разделение ресурсов

  • Отображение RAM

  • Потоковая передача цикла