[an error occurred while processing this directive]
Разница вот в чем.
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено Pashka 21 августа 2002 г. 10:58
В ответ на: Если не трудно, то расскажите с чем были связаны проблемы? Хочется понять, в чем же разница. отправлено Gunner 21 августа 2002 г. 09:59

1. Blocking Assignment выполняется как бы последовательно как программа, т.е. пока не закончено выполнение одной строчки кода (грубо говоря) следующая не выполнится (отсюда и название, выполнени как бы блокируется). Если в присвоении стоит задержка, то следующее присвоение выполнится только после этой задержки. Например,
начальная инициализация:
initial begin
a = #10 1; // a станет 1 в момент времени 10
b = #2 0; // b станет 0 в момент времени 12
c = #4 1; // c станет 1 в момент времени 16
end

Если же имеется такая конструкция

always (@ posedge CLOCK)
b = a;
c = b;
d = c;
end

после выполнения все сигналы будут иметь одно значение, равное а на момент входа в процесс. Как так на каждом следующем присвоении используется результат предыдущего. Т.е это не синтезуруемая (или неправильно работающая после синтеза) конструкция, подходящая только для моделирования.

2. Non-blocking Assignment осуществляет так сказать парралельность выполнения операций. Блокирования не происходит. На тех же примерах:

initial begin
a <= #10 1; // a станет 1 в момент времени 10
b <= #2 0; // b станет 0 в момент времени 2 !!!!
c <= #4 1; // c станет 1 в момент времени 4 !!!!
end


И процесс:

always (@ posedge CLOCK)
b <= a;
c <= b;
d <= c;
end

В этом случае сигналам присвоятся старые сначения. Т.е. в b будет a, в c - b,в d - c. Получаем нормальные триггера и сдвиговые регисты. Все синтезируется и работает.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru