Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Объявление объектов (Instance Declarations)

Читайте также:
  1. II. Восприятие объектов
  2. Анализ надежности объектов с раздельным резервированием. Влияние обрывов и коротких замыканий на качество раздельного резервирования
  3. Визуальные слагаемые средовых объектов
  4. Восстановление объектов ландшафтной архитектуры
  5. Высокое загрязнение водных объектов Вологодской области
  6. выявленных объектов,
  7. Географические координаты некоторых указанных в тексте объектов

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

При необходимости реализации объекта мега- или макрофункции надо убедиться в существовании соответствующего ей файла с описанием ее логического функционирования. Затем используется оператор Function Prototype для описания портов и параметров функции и производится реализация функции посредством подставляемой ссылки или объявления объекта.

Для экземпляра примитива также используется подставляемая ссылка или объявления объекта. Однако, в отличие от мега- и макрофункций, логика функционирования примитива предопределена, поэтому нет необходимости определять логику функционирования примитива в отдельном текстовом файле проекта. В большинстве случаев нет необходимости использовать оператор Function Prototype.

При использовании процедуры объявления объекта в разделе описания переменных производится описание переменной типа <primitive>, <megafunction> или <macrofunction>. Для параметрических мега- и макрофункций объявление включает список параметров, используемых объектом и в необязательном порядке, значения этих параметров. После определения переменной порты объекта функции можно использовать с применением следующего формата:

 

<имя экземпляра>.<имя порта>

 

Например, если необходимо использовать в данном файле проекта функции adder и compare, нужно выполнить следующие описания экземпляров в разделе описания переменных:

 

VARIABLE

comp: compare;

adder: lpm_add_sub WITH (LPM_WIDTH = 8);

 

Переменные comp и adder являются объектами функций compare и lpm_add_sub, имеющих следующие входы и выходы:

 

a[3..0], b[3..0]: INPUT; -- входы компаратора

less, equal, greater:OUTPUT;--выходы компаратора

 

a[8..1], b[8..1]: INPUT; -- входы сумматора

sum[8..1]: OUTPUT;--выходы сумматора

 

Таким образом, в секции Logic можно использовать следующие порты переменных comp и adder:

 

comp.a[], comp.b[], comp.less, comp.equal, comp.greater

adder.dataa[], adder.datab[], adder.result[]

 

Эти порты могут использоваться в любом операторе также как и узлы.

Поскольку все примитивы имеют только один выход можно использовать имя примитива без указания имени его выходного порта (например, без.q или.out) в правой части выражений. Аналогично, если примитив имеет лишь один вход (т.е. все примитивы за исключением примитивов JKFF, JKFFE, SRFF и SRFFE), то можно использовать имя примитива без указания имени его входного порта в левой части выражений (т.е., без.d,.t или.in).

На этапе компиляции компилятор осуществляет поиск значений параметров мега- и макрофункций в порядке, описанном в разделе “Оператор Parameters”.


Дата добавления: 2015-08-21; просмотров: 97 | Нарушение авторских прав


Читайте в этой же книге: Зарезервированные слова | Символы | Диапазоны и поддиапазоны шин | Арифметические операторы | Массивы примитивов | Мегафункции и библиотеки параметризуемых модулей | Определение включаемого текста (оператор Include) | Определение параметров (оператор Parameters) | Определение прототипов логических функций (оператор Function Prototype). | Задание исходных значений (Defaults Statment) |
<== предыдущая страница | следующая страница ==>
Определение порядка следования битов (оператор Options)| Объявление конечных автоматов (State Machine Declarations)

mybiblioteka.su - 2015-2024 год. (0.006 сек.)