На этой странице описываются параметры, находящиеся на вкладке «Создание кода HDL» > «Глобальные параметры» > «Стиль кодирования» диалогового окна «Параметры конфигурации».
Укажите, использует ли созданный код 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 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 для каждой маскированной подсистемы.
Свойство:
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.