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