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

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

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

<ycnoBne>GENERATE
¦"параллельные операторы> ;;
END GENERATE [<метка>]
Оператор генерации является удобным механизмом для описания объединения
компонентов в регулярных структурах. Наличие вариантов FOR и IF упрощает
создание структур с некоторыми вариациями начальных и конечных
компонентов. Несмотря на внешнее сходство с последовательными операторами
FOR и IF, следует учитывать специфику этого оператора; только
параллельные операторы могут использоваться внутри параллельного
оператора генерации.
у"
8.10.7. ОПИСАНИЕ ПОВЕДЕНИЯ
j
Основой описания поведения проекта или его определенной части является
понятие параллельно выполняемых процессов, каждый из которых может быть
выражен одним из параллельных операторов языка. Важнейшее место среди них
занимает оператор процесса, содержащий внутри себя совокупность
последовательных операторов.
Оператор процесса (Process Statement)
Синтаксис оператора. г
<Process_Statement>::= [<имя_процесса>] PROCESS
[<список_чувствительности>] "
<декларативная_часть> -
877
ПРОЕКТИРОВАНИЕ МПС
BEGIN
<список_последовательных_операторов>
END PROCESS [<имя_процесса>]
Оператор процесса представляет собой параллельный оператор, который
определяет независимое последовательное поведение некоторой части
проекта. Для обеспечения последовательного поведения процесс образуется
упорядоченной совокупностью последовательных операторов. С точки зрения
других объектов проекта, поведение процесса выглядит либо как единое
целое после изменения значения какого-либо сигнала из списка
чувствительности, либо как отдельные порции, разделяемые операторами
ожидания WAIT. Операторы ожидания относятся к последовательным операторам
и поэтому они могут помещаться в различные места совокупности
последовательных операторов процесса, разделяя процесс на отдельно и
последовательно исполняемые фрагменты. Для исключения неоднозначности
поведения процесс не может одновременно содержать и операторы ожидания и
список сигналов запуска (список чувствительности).
Последовательный оператор ожидания (Wait Statement)
Описание оператора.
<Wait_Statement>::= WAIT [ON (<список_чувствительности>)]
[1^Т11-<булевское_выражение>] [РОЙ<выражение_времени>];
Оператор должен содержать не менее одного (допустимо наличие нескольких
альтернативных вариантов) условия продолжения прерванного процесса. Это
может быть как истечение заданного интервала времени, наступление
заданного момента времени или наступления заданного события (условия).
Элементом, определяющим запуск процесса и взаимодействие процессов между
собой, являются сигналы, и в языке необходимы операторы, управляющие
изменением состояния сигналов. Одним из основных операторов этого типа
является последовательный оператор назначения сигнала.
Последовательный оператор назначения сигнала (Signal Assignment
Statement) Описание оператора.
<Signal_Assignment_Statement >::=<nqeHTn0HKaTop_CHmana><=[TRANSPORT]
{<выражение>[АРГЕЙ <время>] | NULL [AFTER<BpeMS>]}
Отнесение этих операторов к последовательным позволяет включать их в
совокупность последовательных операторов (прежде всего помещать внутри
операторов процесса), но благодаря основному свойству сигналов -
изменение значения сигнала происходит только после того, как завершены
преобразования во всех процессах, инициированных общим событием,
обеспечивается бесконфликтное планирование будущих значений сигнала.
Использование ключевого слова "TRANSPORT" позволяет заменить
предполагаемую по умолчанию инерционную задержку на транспортную
задержку. При транспортной задержке все изменения <выражения> будут
передаваться (назначаться) определяемому оператором сигналу независимо от
их временной протяженности. В отличие от транспортной задержки
инерционная задержка позволяет отразить в языке поведение реальных
электронных схем, отфильтровывающих входные сигналы с длительностью менее
определенного отрезка времени (величина отрезка указана после ключевого
слова AFTER).
Для исключения неоднозначности окончательного значения каждый сигнал
может использоваться в операторе назначения сигнала только один раз, т.
е. при выполнении последовательности параллельных операторов для каждого
сигнала должен быть реализован только один оператор назначения сигнала.
Для изменения значений сигналов в совокупности параллельных операторов
необходимы операторы назначения значений сигналов, относящиеся к классу
параллельных. Поскольку основным связующим элементом взаимодействия
процессов между собой явля-
878
БАЗОВЫЕ СВЕДЕНИЯ О ЯЗЫКЕ VHDL
ются сигналы, поэтому в состав языка VHDL включены более короткие по
форме (чем оператор процесс) варианты параллельных операторов,
определяющих условия изменений сигналов. К параллельным операторам
назначения сигнала относятся две модификации-условного и селективного
назначения сигнала. По принципам причинно-следственных связей каждое
событие является следствием исполнения одного события (возможно,
являющегося совокупностью одновременно сосуществующих событий), поэтому
Предыдущая << 1 .. 493 494 495 496 497 498 < 499 > 500 501 502 503 504 505 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed