По умолчанию 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
Потоковая передача цикла