fpganedir.com'da ara

fpganedir mail

WAIT

Herhangi bir işlemi ya da process’i askıya almak için kullanılır. Bir sinyal değişimi ya da zaman periyodu bekleme koşulu olarak kullanılabilir.

wait;
wait on sinyal_listesi;
wait until koşul;
wait for zaman;

Process içinde bir “wait” ifadesiyle karşılaşılınca durulur ve aşağıda belirtilen bekleme koşullarının değişmesi beklenir:

NOT:

ÖRNEK 1 :

wait until CLK'event and CLK='1';   --CLK sinyalinin yükselen kenarında process kaldığı yerden devam eder.

ÖRNEK 2 :

wait for 80 ns;      --80 ns sonra işleme kaldığı yerden devam edilir.  

ÖRNEK 3 :

BC : process
begin
  wait on E, F until CLK = '0';
  . . .
end process;

E ya da F sinyallerinden herhangi birisinin CLK sinyali  ‘0’ iken değişmesi durumunda işlem kaldığı yerden devam eder.

ÖRNEK 4 :

wait until En = '1';
--   loop
--   wait on En;
--   exit when En = '1';
--   end loop;

"En" sinyalinin değeri  ‘1’ olana kadar işlem askıya alınır. Bu işlem, alt satırlarda açıklama olarak verilen loop ifadesiyle aynı görevi görür.

ÖRNEK 5:

signal S1, S2 : interger;
. . .
process
  begin
   . . .
   wait on S1, S2;  --Process sonlandırılmadan önce S1 ya da S2’den herhangi birinin değerinin değişmesi beklenir.
end process;

ÖRNEK 5:

P: process
begin
   P0 <= '1' after 5 ns,
               '0' after 15 ns;
    P1<= '1' after 5 ns,
               '0' after 10 ns,
               '1' after 15 ns,
               '0' after 20 ns;
wait;
end process P;

P0 ve P1sinyalleri; 5, 10, 15 ve 20 ns zamanlarında sırasıyla '11', '10', '01', and '00' değerlerini aldıktan sonra,  işlem sonsuza kadar askıya alınır.

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.