exponenta event banner

Параметры стиля RTL

На этой странице описываются параметры, находящиеся на вкладке «Создание кода HDL» > «Глобальные параметры» > «Стиль кодирования» диалогового окна «Параметры конфигурации».

Использовать стиль «rising_edge/falling_edge» для регистров

Укажите, использует ли созданный код VHDL ®rising_edge или falling_edge функция обнаружения тактовых переходов.

Настройки

По умолчанию: Откл.

На

Сгенерированный код использует VHDL rising_edge или falling_edge функция.

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

Unit_Delay1_process : PROCESS (clk, reset)
  BEGIN
    IF reset = '1' THEN
      Unit_Delay1_out1 <= (OTHERS => '0');
    ELSIF rising_edge(clk) THEN
      IF clk_enable = '1' THEN
        Unit_Delay1_out1 <= signed(x_in);
      END IF;
    END IF; 
  END PROCESS Unit_Delay1_process;

Прочь

Созданный код использует 'event синтаксис.

Например, следующий код, сгенерированный из блока единичной задержки, использует clk'event AND clk = '1' для обнаружения положительных переходов тактового сигнала:

Unit_Delay1_process : PROCESS (clk, reset)
  BEGIN
    IF reset = '1' THEN
      Unit_Delay1_out1 <= (OTHERS => '0');
    ELSIF clk'event AND clk = '1' THEN
      IF clk_enable = '1' THEN
        Unit_Delay1_out1 <= signed(x_in);
      END IF;
    END IF; 
  END PROCESS Unit_Delay1_process;

Зависимость

Эта опция включена, если целевым языком является VHDL.

Информация командной строки

Свойство: UseRisingEdge
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'off'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Минимизация промежуточных сигналов

Укажите, следует ли оптимизировать код HDL для возможности отладки или покрытия кода.

Настройки

По умолчанию: Откл.

На

Оптимизация для покрытия кода путем минимизации промежуточных сигналов. Например, предположим, что генерируемый код с таким отключением:

const3 <= to_signed(24, 7);
subtractor_sub_cast <= resize(const3, 8);
subtractor_sub_cast_1 <= resize(delayout, 8);
subtractor_sub_temp <= subtractor_sub_cast - subtractor_sub_cast_1;

При включенной настройке HDL Coder™ оптимизирует выходные данные следующим образом:

subtractor_sub_temp <= 24 - (resize(delayout, 8));

Генератор кода удаляет промежуточные сигналы const3, subtractor_sub_cast, и subtractor_sub_cast_1.

Прочь

Оптимизация для возможности отладки за счет сохранения промежуточных сигналов.

Информация командной строки

Свойство: MinimizeIntermediateSignals
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'off'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Отмена отката для генерации петель в коде VHDL

Укажите, следует ли использовать VHDL FOR и GENERATE циклы распаковываются и исключаются из сгенерированного кода VHDL.

Настройки

По умолчанию: Откл.

На

Разобрать и опустить FOR и GENERATE петли из сгенерированного кода VHDL. (В коде Verilog ® циклы всегда разворачиваются.)

Прочь

Включать FOR и GENERATE петли в сгенерированном коде VHDL.

Совет

  • Если используется электронный инструмент автоматизации проектирования (EDA), который не поддерживает GENERATE выберите этот параметр, чтобы пропустить циклы из созданного кода VHDL.

  • Установка этой опции не влияет на результаты моделирования или синтеза генерируемого кода VHDL.

Зависимость

Эта опция активируется, если целевым языком (указанным в опции Язык) является VHDL.

Информация командной строки

Свойство: LoopUnrolling
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'off'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Создание параметризованного кода HDL из маскированной подсистемы

Создайте повторно используемый код HDL для подсистем с одинаковыми настраиваемыми параметрами маски, но с различными значениями.

Настройки

По умолчанию: Откл.

На

Создайте один повторно используемый файл HDL для нескольких маскированных подсистем с различными значениями параметров маски. Кодер HDL поддерживает скалярные, векторные и матричные значения в качестве параметров маски. Кодер HDL автоматически обнаруживает совместно используемые подсистемы с настраиваемыми параметрами маски.

В подсистеме параметр маски можно использовать только в следующих блоках и параметрах.

Блок ПараметрОграничение
Постоянный Постоянное значение на вкладке «Главная» диалогового окнаНичего
ВыгодаУсиление на вкладке «Главная» диалогового окнаТип данных параметра должен быть одинаковым для всех блоков усиления.
Прочь

Создайте отдельный файл HDL для каждой маскированной подсистемы.

Информация командной строки

Свойство: MaskParameterAsGeneric
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'off'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Ограничения для значений параметров маски

Значения параметров маски в блоках и параметрах имеют следующие ограничения:

  • Каждое значение должно быть скаляром, вектором или матрицей.

  • Значения не должны быть сложными.

  • Значения не должны быть перечисленными данными.

См. также

Создание многоразового кода для подсистем

Схема кодирования перечисляемого типа

Укажите схему кодирования для представления типов перечисления в сгенерированном коде HDL.

Настройки

По умолчанию: default

Использовать default, onehot, twohot, или binary схема кодирования для представления перечислимых типов в сгенерированном коде HDL.

default

Генератор кода использует десятичное кодирование в Verilog и VHDL-собственных перечисляемых типах в VHDL. В этом примере показан фрагмент кода verilog этой схемы кодирования для диаграммы Stateflow ®, имеющей четыре состояния.

parameter 
is_Chart_IN_s_idle = 2'd0, 
is_Chart_IN_s_rx = 2'd1, 
is_Chart_IN_s_wait_0 = 2'd2, 
is_Chart_IN_s_wait_tb = 2'd3;

onehot

Генератор кода использует схему одноступенчатого кодирования, где один бит является высоким для представления каждого значения перечисления. В этом примере показан фрагмент кода verilog этой схемы кодирования для диаграммы Stateflow, имеющей четыре состояния.

parameter 
is_Chart_IN_s_idle = 4'b0001, 
is_Chart_IN_s_rx = 4'b0010, 
is_Chart_IN_s_wait_0 = 4'b0100, 
is_Chart_IN_s_wait_tb = 4'b1000;
Эта схема кодирования не поддерживает более 64 значения перечисления или количество состояний.

twohot

Генератор кода использует схему кодирования с двумя горячими разрядами, где два бита являются высокими для представления каждого значения перечисления. В этом примере показан фрагмент кода verilog этой схемы кодирования для диаграммы Stateflow, имеющей четыре состояния.

parameter 
is_Chart_IN_s_idle = 4'b0011, 
is_Chart_IN_s_rx = 4'b0101, 
is_Chart_IN_s_wait_0 = 4'b0110, 
is_Chart_IN_s_wait_tb = 4'b1001;

binary

Генератор кода использует двоичную схему кодирования для представления каждого значения перечисления. В этом примере показан фрагмент кода verilog этой схемы кодирования для диаграммы Stateflow, имеющей четыре состояния.

parameter 
is_Chart_IN_s_idle = 2'b00, 
is_Chart_IN_s_rx = 2'b01, 
is_Chart_IN_s_wait_0 = 2'b10, 
is_Chart_IN_s_wait_tb = 2'b11;

В VHDL сгенерированный код использует CONSTANT используется для кодирования значений перечисления, не используемых по умолчанию, в созданном коде. Например, этот фрагмент кода показывает сгенерированный код VHDL, когда используется кодировка с двумя горячими состояниями для диаграммы Stateflow, имеющей четыре состояния.

 PACKAGE s_pkg IS
  -- Constants
  -- Two-hot encoded enumeration values for type state_type_is_Chart
  CONSTANT IN_s_idle         : std_logic_vector(3 DOWNTO 0) := 
    "0011";
  CONSTANT IN_s_rx           : std_logic_vector(3 DOWNTO 0) := 
    "0101";
  CONSTANT IN_s_wait_0       : std_logic_vector(3 DOWNTO 0) := 
    "0110";
  CONSTANT IN_s_wait_tb      : std_logic_vector(3 DOWNTO 0) := 
    "1001";

END s_pkg;

Информация командной строки

Свойство: EnumEncodingScheme
Текст: символьный вектор
Значение: 'default' | 'onehot' | 'twohot''binary'
По умолчанию: 'default'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.