Pada tutorial sebelumnya kita telah mempelajari cara menunda waktu menggunakan wait for penyataan. Kami juga belajar tentang loop proses. Sekarang kita tahu bahwa jika kita membiarkannya, proses "utas" akan berulang dalam proses selamanya.
Tetapi bagaimana jika kita ingin melakukan sesuatu sekali saja di awal proses? Dan kemudian mengulang beberapa kode lain di akhir? Jenis perulangan paling sederhana dalam VHDL dapat dibuat dengan menggunakan loop pernyataan.
Pos blog ini adalah bagian dari seri Tutorial VHDL Dasar.
Sintaks untuk loop sederhana adalah:
loop
end loop;
Perulangan seperti itu akan berlanjut tanpa batas, atau sampai exit; ditemui. exit pernyataan dapat digunakan untuk keluar dari loop apa pun.
Olahraga
Video tutorial ini mengajarkan Anda cara membuat loop sederhana, dan cara memutusnya:
Kode terakhir yang kita buat dalam tutorial ini:
entity T03_LoopTb is
end entity;
architecture sim of T03_LoopTb is
begin
process is
begin
report "Hello!";
loop
report "Peekaboo!";
exit;
end loop;
report "Goodbye!";
wait;
end process;
end architecture;
Output ke konsol simulator saat kita menekan tombol run di ModelSim:
Saat menjalankan kode terakhir di simulator, kami melihat "Halo!" yang pertama. dicetak ke konsol ModelSim. Kemudian, "Cincau!" antara loop; dan end loop; dicetak. Pada baris berikutnya program menekan exit; pernyataan, menyebabkan program keluar dari loop. Akhirnya, "Selamat tinggal!" dicetak. Setelah ini tidak ada lagi yang terjadi karena program dijeda selamanya pada wait; pernyataan.
Kita dapat melihat dari stempel waktu hasil cetakan bahwa semuanya terjadi pada waktu simulasi 0 ns. Seperti yang kita pelajari dari tutorial sebelumnya, semuanya selain wait pernyataan menghabiskan waktu nol.
Bawa Pulang
loop pernyataan mengimplementasikan infinite loop
exit pernyataan akan keluar dari apa saja lingkaran