Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 498

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 492 493 494 495 496 497 < 498 > 499 500 501 502 503 504 .. 528 >> Следующая

• оператор блока (Block Statement);
• оператор условного назначения сигнала (Conditional Signal Assignment
Statement);
• оператор выборочного назначения сигнала (Selected Signal Assignment
Statement);
• оператор параллельного вызова процедуры (Procedure Call Statement);
• оператор параллельного сообщения (Assert Statement).
При создании структуры соединений объектов используются два параллельных
оператора - оператор конкретизации (создания экземпляра) компонента
(Component Instantiation Statement) и оператор генерации (Generate
Statement). Альтернативным вариантом задания компонент и их соединений
между собой является понятие блока (Block Statement).
Так как именно проблемно-ориентированная составляющая языка представляет
наибольший интерес и предопределяет правильную интерпретацию приводимых
далее практических примеров, остановимся более подробно на элементах этой
составляющей языка.
875
ПРОЕКТИРОВАНИЕ МПС
8.10.6. СТРУКТУРНОЕ ОПИСАНИЕ
Для структурной организации проекта используется ряд операторов языка.
Прежде всего сама структура описания тела модуля проекта (Architecture)
предполагает возможность (при структурном варианте описания) объявления в
декларативной части компонентов, из которых будет собран модуль, и
сигналов, при помощи которых отдельные компоненты будут соединяться друг
с другом. А в исполняемой части архитектурного тела модуля проекта нужно
использовать операторы, конкретизирующие объединение компонент между
собой и их связь с остальными операторами архитектурного тела. Сигналы в
таком случае используются в двух качествах: с одной стороны, имена
сигналов отождествляются с именами цепей, соединяющих порты (контакты)
отдельных компонентов между собой, а с другой стороны, те же самые имена
сигналоа используются уже по прямому назначению (как воздействия,
передаваемые в поведенческий модуль).
Определение тела объекта (модуля проекта)
<Architecture_Declaration>::=
АР?СН1ТЕСТ1!Р?Е<имя_архитектуры_объекта> OF <имя_объекта> IS -объявление
конфигурации -объявление глобальных переменных и констант -объявление
функции и подпрограмм -объявление сигналов [ {SIGNAL<cnncoK_HMeH>:
<тип>;}]
-объявление компонент [ (COMPONENT <имя_типа_компонента>
[СЕЫЕВЮ(<параметры_настройки>);]
(PORT (<список_имен_входов>: IN <тип>);
<список_имен_выходов>: OUT <тип>;]
END COMPONENT;}]
BEGIN
-описание структурного соединения
[{<имя_компонента>:<имя_типа_компонента>
[GENERIC МАР (<список_настроек>);]
PORT МАР (<список_сигналов>);]
-описание поведения [<параллельные_операторы>]
END [<имя_архитектуры_объекта>];
При описании структуры соединения компонентов между собой в определении
архитектурного тела может быть использован параллельный оператор
конкретизации компонента. Оператор конкретизации компонента (Component
Instantiation Statement)
Определение оператора.
<Component_lnstantiation_Statement>::=
<имя_компонента>:<имя_типа_компонента>
[GENERIC МАР(<параметры_настройки>)]
[PORT МАР(<параметры_соединения>)];
Оператор позволяет использовать один и тот же тип компонента несколько
раз, используя при создании очередного экземпляра компонента уникальные
имена и конкретизируя связи одноименных входов. Соответствие входных и
выходных портов может осуществляться как обычным позиционным
соответствием формальных и фактических параметров, так и путем
использования символа ключевого соответствия (=>).
Альтернативным вариантом разбиения проекта на отдельные структурные
элементы (декомпозицию проекта) является использование оператора блока.
876
БАЗОВЫЕ СВЕДЕНИЯ О ЯЗЫКЕ VHDL
Оператор-блок (Block Statement)
Определение.
<Block_Statement>::=
<метка_блока >: В1_ОСК[(<охранное_выражение>)]
[GENERIC (<список_парметров_настройки>);]
[GENERIC МАР (< список_настроек>);]
PORT (<список_выводов>);
PORT МАР (<список_соединений>);
<декларации_6лока>;
BEGIN
<параллельные_операторы >
END BLOCK <метка_блока>;
Блок является подмодулем, который может использоваться внутри
архитектурного тела. Блок является элементом (единицей) модульного
описания структуры со своим собственным интерфейсом и функционированием.
Для этого блок имеет раздел описания и раздел исполняемых операторов.
Блоки могут быть иерархически вложены. Оператор блока позволяет
записывать структуру и поведение модулей системы одновременно и
соответственно более компактно.
В разделе деклараций блока могут размещаться: декларации подпрограмм;
тела подпрограмм; типы, подтипы; декларации констант; константы;
декларации атрибутов; спецификации атрибутов; альтернативные точки входа;
сигналы. Использование конструкции "охранное выражение" позволяет
блокировать выполнение охраняемых (сопровождаемых опцией GUARDED)
параллельных операторов назначения сигналов в теле блока.
Еще одним средством, позволяющим создавать компактную запись структуры
описываемой системы, является оператор генерации.
Оператор генерации (Generate Statement)
Описание оператора. э
<Generate_Statement>::= <метка >: FOR <параметр>1М "диапазон^ENERATE | IF
Предыдущая << 1 .. 492 493 494 495 496 497 < 498 > 499 500 501 502 503 504 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed