exponenta event banner

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

Указание комментария заголовка

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

Параметр «Комментарий в заголовке» можно использовать для добавления комментария к концу блока комментариев заголовка в каждом созданном файле. Например, используйте этот параметр для добавления "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. Выберите вкладку Общие на панели Дополнительные параметры.

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

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

Разрешение конфликтов имен объектов или модулей

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

Чтобы изменить постфикс:

  1. Выберите вкладку Глобальные настройки (Global Settings) в диалоговом окне Создать ЛПВП (Generate HDL).

  2. Выберите вкладку Общие на панели Дополнительные параметры.

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

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

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

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

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

Чтобы изменить постфикс:

  1. Выберите вкладку Глобальные настройки (Global Settings) в диалоговом окне Создать ЛПВП (Generate HDL).

  2. Выберите вкладку Общие на панели Дополнительные параметры.

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

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

Зарезервированные таблицы Word

В следующих таблицах перечислены зарезервированные слова 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

Настройка Postfix для пакетных файлов VHDL

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

  1. Выберите вкладку Глобальные настройки (Global Settings) в диалоговом окне Создать ЛПВП (Generate HDL).

  2. Выберите вкладку Общие на панели Дополнительные параметры.

  3. Укажите новое значение в поле Постфикс пакета.

    Примечание

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

Альтернатива командной строки: generatehdl функции с помощью PackagePostfix для переименования файла postfix для файлов пакета 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. Выберите вкладку Общие на панели Дополнительные параметры.

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

    Указанный вектор символов

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

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

    Примечание

    Если указать зарезервированное слово 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 позволяет изменить постфикс на значение, отличное от '_process'. Например, чтобы изменить постфикс на '_clkproc', выполните следующие действия:

  1. Выберите вкладку Глобальные настройки (Global Settings) в диалоговом окне Создать ЛПВП (Generate HDL).

  2. Выберите вкладку Общие на панели Дополнительные параметры.

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

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

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

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

Можно установить префикс в значение, отличное от 'u_'. Чтобы изменить префикс:

  1. Выберите вкладку Глобальные настройки (Global Settings) в диалоговом окне Создать ЛПВП (Generate HDL).

  2. Выберите вкладку Общие на панели Дополнительные параметры.

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

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

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

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

Примечание

Векторный префикс не поддерживается для создания кода Verilog.

Можно установить префикс в значение, отличное от 'vector_of_'. Чтобы изменить префикс:

  1. Выберите вкладку Глобальные настройки (Global Settings) в диалоговом окне Создать ЛПВП (Generate HDL).

  2. Выберите вкладку Общие на панели Дополнительные параметры.

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

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