Эта страница описывает параметры, которые находятся на вкладке HDL Code Generation > Global Settings > Coding Style диалогового окна Параметров конфигурации.
Укажите, использует ли сгенерированный код 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
.
Укажите, 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-коды для подсистем с теми же настраиваемыми параметрами маски, но с другими значениями.
По умолчанию: 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
.