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

Эта страница описывает параметры, которые находятся на вкладке HDL Code Generation > Global Settings > Coding Style диалогового окна Параметров конфигурации.

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

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

Настройки

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

На

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

Например, следующий код, сгенерированный из блока Unit Delay, использует 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 синтаксис.

Например, следующий код, сгенерированный из блока Unit Delay, использует 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-код для отладки или покрытия кода.

Настройки

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

На

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

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

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

Настройки

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

На

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

Прочь

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

Совет

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

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

Зависимость

Эта опция активируется, когда целевой язык (заданный опцией Language ) является VHDL.

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

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

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

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

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

Настройки

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

На

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

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

Блок ПараметрОграничение
Постоянный Constant value на вкладке Main диалогового окнаНичего
ВыгодаGain на вкладке Main диалогового окнаParameter data type должны быть одинаковыми для всех блоков Gain.
Прочь

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

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

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

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

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

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

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

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

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

См. также

Сгенерируйте переиспользуемый код для подсистем

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

Задайте схему кодирования, чтобы представлять перечисляемые типы в сгенерированном HDL-коде.

Настройки

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

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

default

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

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

Генератор кода использует одну схему горячего кодирования, где один бит высок, чтобы представлять каждое значение перечисления. Этот пример показывает фрагмент кода верилога этой схемы кодирования для Chart 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

Генератор кода использует схему двойного горячего кодирования, где два бита являются высокими, чтобы представлять каждое значение перечисления. Этот пример показывает фрагмент кода верилога этой схемы кодирования для Chart 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

Генератор кода использует двоичную схему кодирования, чтобы представлять каждое значение перечисления. Этот пример показывает фрагмент кода верилога этой схемы кодирования для Chart 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 типы для кодирования значений перечисления nondefault в сгенерированном коде. Для примера этот фрагмент кода показывает сгенерированный VHDL код, когда вы используете кодировку двух горячих состояний для Chart 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.