ВУЗ:
Составители:
23
системы. Параллельные операторы могут быть простыми и составными.
Составной оператор включает несколько простых операторов, для которых
определены общие условия инициализации. Такая совокупность
операторов называется телом составного оператора.
Важнейшим составным оператором является оператор процесса
process, синтаксис которого определен следующим образом:
process(CLK)
begin
if CLK’event and CLK=’1’ then
Q<=D;
end if;
end process;
Последовательные операторы могут записываться только в теле
оператора
process. При моделировании фрагменты алгоритма,
заключенные в оператор process, будут исполняться друг за другом после
возникновения в системе "инициализирующего события" - изменении
одного из сигналов, перечисленных в списке инициализаторов, или в
заранее определенный момент времени. Параллельные операторы в теле
процесса не определены. Поэтому переменные могут быть определены
только в теле процесса, а
сигналы во всем архитектурном теле.
Некоторые параллельные и последовательные операторы совпадают
по форме записи. В этом случае различие устанавливается по контексту:
если оператор локализован в теле процесса, он трактуется как
последовательный, а если в другом месте программы - как параллельный.
Наиболее явно разница между сигналами и переменными
проявляется при интерпретации операторов
последовательных
присвоений. Для обоих видов сохраняется общее для последовательных
операторов правило начала исполнения: первый оператор в процессе
исполняется после выполнения условий инициализации процесса, а
каждый следующий сразу после исполнения предыдущего. Однако
результат присвоения переменной непосредственно доступен любому
последующему оператору в теле процесса. Трактовка оператора
последовательного присвоения сигналу существенно отличается от
трактовки присвоения переменной или операторов присваивания в тради-
ционных языках программирования. Присвоение сигналу не приводит
непосредственно к изменению его значения. Новое значение сначала
заносится в буфер, называемый драйвером сигнала, и следующие
операторы в теле процесса оперируют со старыми значениями.
Фактическое изменение значения сигнала выполняется только после
23 системы. Параллельные операторы могут быть простыми и составными. Составной оператор включает несколько простых операторов, для которых определены общие условия инициализации. Такая совокупность операторов называется телом составного оператора. Важнейшим составным оператором является оператор процесса process, синтаксис которого определен следующим образом: process(CLK) begin if CLK’event and CLK=’1’ then Q<=D; end if; end process; Последовательные операторы могут записываться только в теле оператора process. При моделировании фрагменты алгоритма, заключенные в оператор process, будут исполняться друг за другом после возникновения в системе "инициализирующего события" - изменении одного из сигналов, перечисленных в списке инициализаторов, или в заранее определенный момент времени. Параллельные операторы в теле процесса не определены. Поэтому переменные могут быть определены только в теле процесса, а сигналы во всем архитектурном теле. Некоторые параллельные и последовательные операторы совпадают по форме записи. В этом случае различие устанавливается по контексту: если оператор локализован в теле процесса, он трактуется как последовательный, а если в другом месте программы - как параллельный. Наиболее явно разница между сигналами и переменными проявляется при интерпретации операторов последовательных присвоений. Для обоих видов сохраняется общее для последовательных операторов правило начала исполнения: первый оператор в процессе исполняется после выполнения условий инициализации процесса, а каждый следующий сразу после исполнения предыдущего. Однако результат присвоения переменной непосредственно доступен любому последующему оператору в теле процесса. Трактовка оператора последовательного присвоения сигналу существенно отличается от трактовки присвоения переменной или операторов присваивания в тради- ционных языках программирования. Присвоение сигналу не приводит непосредственно к изменению его значения. Новое значение сначала заносится в буфер, называемый драйвером сигнала, и следующие операторы в теле процесса оперируют со старыми значениями. Фактическое изменение значения сигнала выполняется только после
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »