Настройте порты, идентификаторы и комментарии
С портом HDL и свойствами идентификатора, можно настроить порты, идентификаторы и комментарии в сгенерированном коде.
Задайте эти свойства как разделенные запятой пары Name,Value
аргументы к generatehdl
functionName
имя свойства и Value
соответствующее значение. Name
должен появиться в одинарных кавычках (' '
Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Например:
fir = dsp.FIRFilter('Structure','Direct form antisymmetric'); generatehdl(fir,'InputDataType',numerictype(1,16,15),'ClockInputPort','clk_input');
ClockEnableInputPort
— Имя часов включает входной порт'clk_enable'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя часов включает входной порт, заданный как 'clk_enable'
, вектор символов или скаляр строки.
Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd
к этому значению. Можно обновить постфиксное значение при помощи ReservedWordPostfix
свойство. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.
ClockEnableOutputPort
— Имя часов включает выходной порт'ce_out'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя часов включает выходной порт, заданный как 'ce_out'
, вектор символов или скаляр строки. Это свойство применяется только к Многоскоростным фильтрам, которые используют одни входные часы (поведение по умолчанию ClockInputs
). Для примера смотрите Порты Часов для Многоскоростных фильтров. Для получения дополнительной информации см. Опции Генерации кода для Многоскоростных фильтров.
Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd
к этому значению. Можно обновить постфиксное значение при помощи ReservedWordPostfix
свойство. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.
ClockInputPort
— Имя входного порта часов'clk'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя входного порта часов, заданного как 'clk'
, вектор символов или скаляр строки.
Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd
к этому значению. Можно обновить постфиксное значение при помощи ReservedWordPostfix
свойство. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.
InputPort
— Имя входного порта фильтра'filter_in'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя входного порта фильтра, заданного как 'filter_in'
, вектор символов или скаляр строки.
Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd
к этому значению. Можно обновить постфиксное значение при помощи ReservedWordPostfix
свойство. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.
InputType
— Тип данных входного порта фильтра'std_logic_vector'
(значение по умолчанию) | 'signed/unsigned'
| 'wire'
Тип данных входного порта фильтра, заданного как одно из следующего:
'std_logic_vector'
или 'signed/unsigned'
(когда выходной язык является VHDL),
'wire'
(когда выходным языком является Verilog),
OutputPort
— Имя выходного порта фильтра'filter_out'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя выходного порта фильтра, заданного как 'filter_out'
, вектор символов или скаляр строки.
Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd
к этому значению. Можно обновить постфиксное значение при помощи ReservedWordPostfix
свойство. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.
OutputType
— Тип данных выходного порта фильтра'Same as input data type'
(значение по умолчанию) | 'std_logic_vector'
| 'signed/unsigned'
| 'wire'
Тип данных выходного порта фильтра в сгенерированном HDL-коде, заданном как одно из следующего:
'Same as input data type'
, 'std_logic_vector'
, или 'signed/unsigned'
(когда выходной язык является VHDL),
'wire'
(когда выходным языком является Verilog),
ResetInputPort
— Имя фильтра сбросило порт'reset'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя фильтра сбросило порт, заданный как 'reset'
, вектор символов или скаляр строки. Используйте ResetAssertedLevel
свойство управлять поведением этого порта.
Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd
к этому значению. Можно обновить постфиксное значение при помощи ReservedWordPostfix
свойство. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.
RemoveResetFrom
— Подавите генерацию сброса от сдвиговых регистров'none'
(значение по умолчанию) | 'ShiftRegister'
Подавите генерацию сброса от сдвиговых регистров, заданных как 'none'
или 'ShiftRegister'
. Чтобы не использовать сигналы сброса от сдвиговых регистров, установите это свойство на 'ShiftRegister'
. Отключение сигналов сброса от сдвиговых регистров может привести к более эффективной реализации FPGA. Для получения дополнительной информации смотрите Генерацию Подавления Логики Сброса.
ResetAssertedLevel
— Утверждаемый (активный) уровень входного сигнала сброса'active-high'
(значение по умолчанию) | 'active-low'
Утверждаемый (активный) уровень входного сигнала сброса, заданного как одно из следующего:
'active-high'
— Чтобы сбросить регистры в создании фильтра, входной сигнал сброса должен управляться высоко (1).
Например, этот код проверяет ли reset
активно высоко прежде, чем заполнить delay_pipeline
регистр.
Delay_Pipeline_Process : PROCESS (clk, reset) BEGIN IF reset = '1' THEN delay_pipeline(0 TO 50) <= (OTHERS => (OTHERS => '0'));
'active-low'
— Чтобы сбросить регистры в создании фильтра, входной сигнал сброса должен управляться низко (0).
Например, этот код проверяет ли reset
активно низко прежде, чем заполнить delay_pipeline
регистр.
Delay_Pipeline_Process : PROCESS (clk, reset) BEGIN IF reset = '0' THEN delay_pipeline(0 TO 50) <= (OTHERS => (OTHERS => '0'));
ResetType
— Сбросьте стиль для регистров'async'
(значение по умолчанию) | 'sync'
Сбросьте стиль для регистров, заданных как одно из следующего:
'async'
— Кодер использует асинхронный сброс. Блок процесса HDL не проверяет на активные часы прежде, чем выполнить сброс. Например:
delay_pipeline_process : PROCESS (clk, reset) BEGIN IF Reset_Port = '1' THEN delay_pipeline (0 To 50) <= (OTHERS =>(OTHERS => '0')); ELSIF Clock_Port'event AND Clock_Port = '1' THEN IF ClockEnable_Port = '1' THEN delay_pipeline(0) <= signed(Fin_Port); delay_pipeline(1 TO 50) <= delay_pipeline(0 TO 49); END IF; END IF; END PROCESS delay_pipeline_process;
'sync'
— Кодер использует синхронный стиль сброса. В этом случае, проверки блока процесса HDL на фронт прежде, чем выполнить сброс. Например:
delay_pipeline_process : PROCESS (clk, reset) BEGIN IF rising_edge(Clock_Port) THEN IF Reset_Port = '0' THEN delay_pipeline(0 To 50) <= (OTHERS =>(OTHERS => '0')); ELSIF ClockEnable_Port = '1' THEN delay_pipeline(0) <= signed(Fin_Port); delay_pipeline(1 TO 50) <= delay_pipeline(0 TO 49); END IF; END IF; END PROCESS delay_pipeline_process;
BlockGenerateLabel
— Постфикс к меткам блока-участка'_gen'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к меткам блока-участка, заданным как '_gen'
, вектор символов или скаляр строки. Это свойство применяется только, когда выходной язык является VHDL. Кодер добавляет этот постфикс к меткам блока-участка VHDL GENERATE
операторы.
InstanceGenerateLabel
— Постфикс к экземпляру разделяет метки'_gen'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к экземпляру разделяет метки, заданные как '_gen'
, вектор символов или скаляр строки. Это свойство применяется только, когда выходной язык является VHDL. Кодер добавляет этот постфикс к меткам раздела экземпляра VHDL GENERATE
операторы.
OutputGenerateLabel
— Постфикс, чтобы вывести присвоение блокирует метки'outputgen'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс, чтобы вывести присвоение блокирует метки, заданные как 'outputgen'
, вектор символов или скаляр строки. Это свойство применяется только, когда выходной язык является VHDL. Кодер добавляет этот постфикс к выходным меткам блока присвоения VHDL GENERATE
операторы.
ClockProcessPostfix
— Постфикс к HDL синхронизирует имена процесса'_process'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к HDL синхронизирует имена процесса, заданные как '_process'
, вектор символов или скаляр строки. Кодер использует блоки процесса HDL, чтобы изменить содержимое регистров в фильтре. Метка блока выведена из имени регистра и этого постфикса. Например, в следующем объявлении блока, кодер выводит метку процесса из имени регистра delay_pipeline
и постфиксный '_process'
по умолчанию.
delay_pipeline_process : PROCESS (clk, reset) BEGIN
CoeffPrefix
— Префикс для содействующих имен фильтра'coeff'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПрефикс для содействующих имен фильтра, заданных как 'coeff'
, вектор символов или скаляр строки. Кодер выводит содействующие имена путем добавления специфичных для фильтра характеристик к этому префиксу.
Отфильтруйте тип | Содействующее имя |
---|---|
КИХ | Кодер добавляет содействующий номер к CoeffPrefix , Начиная с 1. Например, значением по умолчанию для первого коэффициента является coeff1 . |
БИХ |
Кодер добавляет следующие символы к
Например, значением по умолчанию для первого коэффициента числителя третьего раздела является |
Например:
firfilt = design(fdesign.lowpass,'equiripple', ... 'FilterStructure','dfsymfir','SystemObject',true); generatehdl(firfilt,'InputDataType',numerictype(1,16,15), ... 'CoefficientSource','Internal','CoeffPrefix','mycoeff');
Кодер заменяет содействующий префикс имени по умолчанию на пользовательское значение:
ARCHITECTURE rtl OF firfilt IS -- Local Functions -- Type Definitions TYPE delay_pipeline_type IS ARRAY (NATURAL range <>) OF signed(15 DOWNTO 0); -- sfix16_En15 -- Constants CONSTANT mycoeff1 : signed(15 DOWNTO 0) := to_signed(-159, 16); -- sfix16_En16 CONSTANT mycoeff2 : signed(15 DOWNTO 0) := to_signed(-137, 16); -- sfix16_En16 CONSTANT mycoeff3 : signed(15 DOWNTO 0) := to_signed(444, 16); -- sfix16_En16 CONSTANT mycoeff4 : signed(15 DOWNTO 0) := to_signed(1097, 16); -- sfix16_En16 ...
Это свойство применяется только, когда вы устанавливаете CoefficientSource
к 'Internal'
.
ComplexImagPostfix
— Постфикс к мнимой части комплексных имен сигнала'_im'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к мнимой части комплексных имен сигнала, заданных как '_im'
, вектор символов или скаляр строки. Смотрите Используя Комплексные данные и Коэффициенты.
ComplexRealPostfix
— Постфикс к действительной части комплексных имен сигнала'_re'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к действительной части комплексных имен сигнала, заданных как '_re'
, вектор символов или скаляр строки. Смотрите Используя Комплексные данные и Коэффициенты.
EntityConflictPostfix
— Постфикс, чтобы скопировать сущность или имена модуля'_block'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс, чтобы скопировать сущность или имена модуля, заданные как '_block'
, вектор символов или скаляр строки. Кодер добавляет этот постфикс, чтобы разрешить дублирующиеся имена модуля сущности или Verilog VHDL. Например, если кодер обнаруживает две сущности с именем MyFilt
, кодер называет первую сущность MyFilt
и второй экземпляр MyFilt_block
.
InstancePrefix
— Префикс для имени экземпляра компонента'u_'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПрефикс для имени экземпляра компонента, заданного как 'u_'
, вектор символов или скаляр строки.
PackagePostfix
— Постфикс к имени файла пакета VHDL'_pkg'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к имени файла пакета VHDL, заданному как '_pkg'
, вектор символов или скаляр строки. Кодер выводит имя пакета путем добавления этого постфикса к имени фильтра. Эта опция применяется, только если файл пакета требуется для проекта.
ReservedWordPostfix
— Постфикс к зарезервированным словам'_rsvd'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к зарезервированным словам, заданным как '_rsvd'
, вектор символов или скаляр строки. Это свойство применяется к имени, постфиксу или значениям метки, заданным как вектор символов или скаляр строки в Name,Value
парные аргументы к generatehdl
. Если заданное значение является зарезервированным словом на выходном языке, кодер добавляет этот постфикс к значению. Например, если вы вызываете generatehdl
с парой аргумента 'Name','mod'
, кодер формирует имя mod_rsvd
в сгенерированном коде фильтра. См. Таблицы Зарезервированного слова.
SplitEntityArch
— Разделите сущность VHDL и код архитектуры'off'
(значение по умолчанию) | 'on'
Разделите сущность VHDL и код архитектуры, заданный как 'off'
или 'on'
. Когда это свойство установлено в 'on'
, кодер генерирует сущность VHDL и код архитектуры фильтра в двух отдельных файлах. Кодер выводит имена файлов из имени фильтра путем добавления постфиксов _entity
и _arch
к основному имени файла. Чтобы задать пользовательские постфиксные значения, установите SplitEntityFilePostfix
и SplitArchFilePostfix
свойства.
SplitArchFilePostfix
— Постфикс к имени файла архитектуры VHDL'_arch'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к имени файла архитектуры VHDL, заданному как '_arch'
, вектор символов или скаляр строки.
Это свойство применяется только, когда вы устанавливаете SplitEntityArch
к 'on'
.
SplitEntityFilePostfix
— Постфикс к имени файла сущности VHDL'_entity'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к имени файла сущности VHDL, заданному как '_entity'
, вектор символов или скаляр строки.
Это свойство применяется только, когда вы устанавливаете SplitEntityArch
к 'on'
.
UserComment
— Добавьте комментарии пользователей в сгенерированный HDL-кодДобавьте комментарии пользователей в сгенерированный HDL-код, заданный как вектор строки или вектор символов. Комментарии пользователей появляются в блоке комментария заголовка наверху сгенерированных файлов, которым предшествуют путем продвижения символов комментария, характерных для выходного языка. Когда вы включаете новые строки или переводы строки в комментариях пользователей, кодер испускает однострочные комментарии для каждой новой строки. Например:
firfilt = dsp.FIRFilter; generatehdl(firfilt,'InputDataType',numerictype(1,16,15), ... 'UserComment','This is a comment line.\nThis is a second line.')
firfilt
следующие:-- ------------------------------------------------------------- -- -- Module: firfilt -- Generated by MATLAB(R) 9.1 and the Filter Design HDL Coder 3.1. -- Generated on: 2016-11-08 15:28:25 -- This is a comment line. -- This is a second line. -- -- ------------------------------------------------------------- -- ------------------------------------------------------------- -- HDL Code Generation Options: -- -- TargetLanguage: VHDL -- Name: firfilt -- InputDataType: numerictype(1,16,15) -- UserComment: User data, length 47 -- GenerateHDLTestBench: off -- ------------------------------------------------------------- -- HDL Implementation : Fully parallel -- Folding Factor : 1 -- ------------------------------------------------------------- -- Filter Settings: -- -- Discrete-Time FIR Filter (real) -- ------------------------------- -- Filter Structure : Direct-Form FIR -- Filter Length : 2 -- Stable : Yes -- Linear Phase : Yes (Type 2) -- Arithmetic : fixed -- Numerator : s16,15 -> [-1 1) -- -------------------------------------------------------------
VectorPrefix
— Префикс для вектора VHDL сигнализирует об именах'vector_of_'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПрефикс для вектора VHDL сигнализирует об именах, заданных как 'vector_of_'
, вектор символов или скаляр строки.
Если вы используете функциональный fdhdltool
чтобы сгенерировать HDL-код, можно установить соответствующие свойства в диалоговом окне Generate HDL.
Свойство | Местоположение в диалоговом окне |
---|---|
Input data type Output data type Clock enable output port Input port Output port | Вкладка Global Settings> вкладка Ports |
Дополнительный порт и свойства идентификатора |
Главный раздел вкладки Global Settings и вкладки Global Settings> вкладка General |
Проверьте основную вкладку Global Settings, и Ports и вкладки General вкладки Global Settings.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.