По умолчанию 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» > «Настройка параметров создания кода» > «Настройка параметров оптимизации» > «Общие» выберите «Минимизировать включение часов».
Для минимизации включения тактового синхросигнала в coder.HdlConfig объект конфигурации, установите MinimizeClockEnables свойство для true. Например:
hdlCfg = coder.config('hdl')
hdlCfg.MinimizeClockEnables = true;При определении оптимизации площадей, реализуемой кодером путем увеличения тактовой частоты в определенных областях конструкции, минимизировать включение тактовой частоты невозможно. Следующие оптимизации предотвращают минимизацию тактового сигнала:
Совместное использование ресурсов
Отображение ОЗУ
Петлевая потоковая передача