Идентификаторы HDL и комментарии

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

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

Можно использовать опцию Comment in header, чтобы добавить комментарий в конец блока комментария заголовка в каждом сгенерированном файле. Например, используйте эту опцию, чтобы добавить “This module was automatically generated”. С этим изменением предыдущий блок комментария заголовка появился бы можно следующим образом:

-- -------------------------------------------------------------
--
-- Module: Hlp
--
-- Generated by MATLAB(R) 7.11 and the Filter Design HDL Coder 2.7.
--
-- Generated on: 2010-08-31 13:32:16
--
-- This module was automatically generated
--
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- HDL Code Generation Options:
--
-- TargetLanguage: VHDL
-- Name: Hlp
-- UserComment:  User data, length 47

-- Filter Specifications:
--
-- Sampling Frequency : N/A (normalized frequency)
-- Response           : Lowpass
-- Specification      : Fp,Fst,Ap,Ast
-- Passband Edge      : 0.45
-- Stopband Edge      : 0.55
-- Passband Ripple    : 1 dB
-- Stopband Atten.    : 60 dB
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- HDL Implementation    : Fully parallel
-- Multipliers           : 43
-- Folding Factor        : 1
-- -------------------------------------------------------------
-- Filter Settings:
--
-- Discrete-Time FIR Filter (real)
-- -------------------------------
-- Filter Structure  : Direct-Form FIR
-- Filter Length     : 43
-- Stable            : Yes
-- Linear Phase      : Yes (Type 1)
-- Arithmetic        : fixed
-- Numerator         : s16,16 -> [-5.000000e-001 5.000000e-001)
-- Input             : s16,15 -> [-1 1)
-- Filter Internals  : Full Precision
--   Output          : s33,31 -> [-2 2)  (auto determined)
--   Product         : s31,31 -> [-5.000000e-001 5.000000e-001)  (auto determined)
--   Accumulator     : s33,31 -> [-2 2)  (auto determined)
--   Round Mode      : No rounding
--   Overflow Mode   : No overflow
-- -------------------------------------------------------------

Добавить комментарий заголовка,

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings.

  3. Введите текст комментария в поле Comment in header, как показано в следующей фигуре.

Альтернатива командной строки: Используйте функцию generatehdl со свойством UserComment добавить комментарий в конец блока комментария заголовка в каждом сгенерированном файле HDL.

Решение конфликтов сущности или имени модуля

Кодер проверяет, совместно используют ли несколько сущностей в VHDL или несколько модулей в Verilog то же имя. Если конфликт по совпадению имен существует, кодер добавляет постфиксный '_block' к второму из двух соответствующих векторов символов.

Изменить постфикс:

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings.

  3. Введите новый вектор символов в поле Entity conflict postfix, как показано в следующую фигуру.

Альтернатива командной строки: Используйте функцию generatehdl со свойством EntityConflictPostfix изменить сущность или постфикс конфликта модуля.

Решение конфликтов зарезервированного слова HDL

Кодер проверяет, снабжают ли векторы символов, которые вы задаете как имена, постфиксом значения, или метки являются зарезервированными словами VHDL или Verilog. См. Таблицы Зарезервированного слова для списков зарезервированных слов VHDL и Verilog.

Если вы задаете зарезервированное слово, кодер добавляет постфиксный _rsvd к вектору символов. Например, при попытке назвать свой фильтр mod для кода VHDL, кодер добавляет постфиксный _rsvd, чтобы сформировать имя mod_rsvd.

Изменить постфикс:

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings.

  3. Введите новый вектор символов в поле Reserved word postfix, как показано в следующую фигуру.

Альтернатива командной строки: Используйте функцию generatehdl со свойством ReservedWordPostfix изменить постфикс зарезервированного слова.

Таблицы зарезервированного слова

Следующие таблицы приводят зарезервированные слова VHDL и Verilog.

Зарезервированные слова VHDL

absaccessafteraliasall
andarchitecturearray assertattribute
beginblockbodybufferbus
casecomponentconfiguration constantdisconnect
downtoelseelsifendentity
exitfileforfunctiongenerate
genericgroupguardedifimpure
ininertialinoutislabel
librarylinkageliteralloopmap
modnandnewnextnor
notnullofonopen
orothersoutpackageport
postponedprocedureprocesspurerange
recordregisterrejectremreport
returnrolrorselectseverity
signalsharedslasllsra
srlsubtypethen totransport
typeunaffectedunitsuntiluse
variablewaitwhenwhilewith
xnorxor   

Зарезервированные слова Verilog

alwaysandassignautomaticbegin
bufbufif0bufif1casecasex
casezcellcmosconfigdeassign
defaultdefparamdesigndisableedge
elseendendcaseendconfigendfunction
endgenerateendmoduleendprimitiveendspecifyendtable
endtaskeventforforceforever
forkfunctiongenerategenvarhighz0
highz1ififnoneincdirinclude
initialinoutinputinstanceinteger
joinlargeliblistlibrarylocalparam
macromodulemediummodulenandnegedge
nmosnornoshowcancellednotnotif0
notif1oroutputparameterpmos
posedgeprimitivepull0pull1pulldown
pulluppulsestyle_oneventpulsestyle_ondetectrcmosreal
realtimeregreleaserepeatrnmos
rpmosrtranrtranif0rtranif1scalared
showcancelledsignedsmallspecifyspecparam
strong0strong1supply0supply1table
tasktimetrantranif0tranif1
tritri0tri1triandtrior
triregunsignedusevectoredwait
wandweak0weak1whilewire
worxnorxor

Установка постфикса для файлов пакета VHDL

По умолчанию кодер добавляет постфиксный _pkg к основному имени файла при генерации файла пакета VHDL. Чтобы переименовать постфикс для файлов пакета, сделайте следующее:

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings .

  3. Задайте новое значение в поле Package postfix.

    Примечание

    При определении вектора символов для использования в качестве постфикса в именах файлов рассмотрите размер базового имени и специфичных для платформы требований именования файла и ограничений.

Альтернатива командной строки: Используйте функцию generatehdl со свойством PackagePostfix переименовать постфикс имени файла для файлов пакета VHDL.

Определение префикса для коэффициентов фильтра

Кодер объявляет коэффициенты для фильтра как константы в архитектуре rtl. Кодер выводит постоянные имена, добавляющие префиксный coeff. Содействующие имена зависят от типа фильтра.

Для...Префикс конкатенирован с...
КИХ-фильтры

Каждый содействующий номер, начиная с 1.

Примеры: coeff1, coeff22

БИХ-фильтры

Подчеркивание (_) и a или содействующее имя b (например, _a2, _b1 или _b2) сопровождаемый _sectionn, где n является номером раздела.

Пример: coeff_b1_section3 (первый коэффициент числителя третьего раздела)

Например:

ARCHITECTURE rtl OF filt IS
  -- Type Definitions
  TYPE delay_pipeline_type IS ARRAY(NATURAL range <>) OF signed(15 DOWNTO 0);-- sfix16_En15
  CONSTANT coeff1               : signed(15 DOWNTO 0) := to_signed(-30, 16); -- sfix16_En15
  CONSTANT coeff2               : signed(15 DOWNTO 0) := to_signed(-89, 16); -- sfix16_En15
  CONSTANT coeff3               : signed(15 DOWNTO 0) := to_signed(-81, 16); -- sfix16_En15
  CONSTANT coeff4               : signed(15 DOWNTO 0) := to_signed(120, 16); -- sfix16_En15

Использовать префикс кроме coeff,

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings.

  3. Введите новый вектор символов в поле Coefficient prefix, как показано в следующую фигуру.

    Вектор символов, который вы задаете

    • Должен начаться с буквы.

    • Не может включать двойное подчеркивание (__).

    Примечание

    Если вы задаете зарезервированное слово VHDL или Verilog, кодер добавляет постфикс зарезервированного слова к вектору символов, чтобы сформировать допустимый идентификатор. Если вы задаете префикс, который заканчивается подчеркиванием, кодер заменяет символ подчеркивания на under. Например, если вы задаете coef_, кодер генерирует содействующие имена, такие как coefunder1.

Альтернатива командной строки: Используйте функцию generatehdl со свойством CoeffPrefix изменить базовое название для коэффициентов фильтра.

Определение постфикса для меток блока процесса

Кодер генерирует блоки процесса, чтобы изменить содержимое регистров. Метка для каждого из этих блоков выведена с имени регистра и постфиксного _process. Например, кодер выводит метку delay_pipeline_process в следующем блоке от имени регистра delay_pipeline и постфиксный '_process'.

delay_pipeline_process : PROCESS (clk, reset)
BEGIN
  IF reset = '1' THEN
    delay_pipeline (0 To 50) <= (OTHERS => (OTHERS => '0'));
  ELSIF clk'event AND clk = '1' THEN
    IF clk_enable = '1' THEN
      delay_pipeline(0) <= signed(filter_in)
      delay_pipeline(1 TO 50) <= delay_pipeline(0 TO 49);
    END IF;
  END IF;
END PROCESS delay_pipeline_process;

Свойство Clocked process postfix позволяет вам изменить постфикс на значение кроме '_process'. Например, чтобы изменить постфикс на '_clkproc', сделайте следующее:

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings.

  3. Введите новый вектор символов в поле Clocked process postfix, как показано в следующую фигуру.

Альтернатива командной строки: Используйте функцию generatehdl со свойством ClockProcessPostfix изменить постфикс, добавленный, чтобы обработать метки.

Установка префикса для имен экземпляра компонента

Instance prefix задает вектор символов, который будет снабжен префиксом к именам экземпляра компонента в сгенерированном коде. Значением по умолчанию является 'u_'.

Можно установить префикс на значение кроме 'u_'. Изменить префикс:

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings.

  3. Введите новый вектор символов в поле Instance prefix, как показано в следующую фигуру.

Альтернатива командной строки: Используйте функцию generatehdl со свойством InstancePrefix изменить префикс экземпляра.

Установка префикса для векторных имен

Vector prefix задает вектор символов, который будет снабжен префиксом к векторным именам в сгенерированном коде VHDL. Значением по умолчанию является 'vector_of_'.

Примечание

Vector prefix не поддержан для генерации кода Verilog.

Можно установить префикс на значение кроме 'vector_of_'. Изменить префикс:

  1. Выберите вкладку Global Settings на диалоговом окне Generate HDL.

  2. Выберите вкладку General в панели Additional settings.

  3. Введите новый вектор символов в поле Vector prefix, как показано в следующую фигуру.

Альтернатива командной строки: Используйте функцию generatehdl со свойством VectorPrefix изменить префикс экземпляра.

Для просмотра документации необходимо авторизоваться на сайте