Menguasai Konstruksi Loop dan Exit dalam VHDL: Panduan Praktis
Dalam tutorial sebelumnya kami membahas penundaan timing dengan pernyataan wait for dan mengeksplorasi loop proses. Sekarang kami akan fokus pada konstruksi inti VHDL yang memungkinkan Anda mengeksekusi kode sekali dan kemudian mengulangi blok sampai kondisi tertentu terpenuhi: pernyataan loop.
Sementara proses dapat berjalan tak terbatas, Anda sering membutuhkan loop yang terkontrol yang dapat dihentikan dengan anggun. Pernyataan loop dalam VHDL adalah bentuk paling sederhana dari konstruksi semacam itu, dan hanya berakhir ketika sebuah exit ditemui.
Sintaks loop sederhana
loop -- statements end loop;
Setiap exit keluar dari loop terdalam tempatnya berada, dan dapat muncul dalam setiap jenis loop.
Latihan
Tutorial ini mendemonstrasikan cara membuat loop dasar dan keluar darinya setelah satu iterasi.
Kode Contoh
entity T03_LoopTb is end entity; architecture sim of T03_LoopTb is begin process is begin report "Hello!"; loop report "Peekaboo!"; exit; -- Keluar setelah iterasi pertama end loop; report "Goodbye!"; wait; -- Menangguhkan proses tak terbatas end process; end architecture;
Konsol menunjukkan bahwa semua pesan terjadi pada waktu 0 ns, mengonfirmasi bahwa pernyataan selain wait tidak mengonsumsi waktu simulasi. Pernyataan exit menghentikan loop setelah satu iterasi, setelah itu proses mencapai wait akhir dan tetap idle.
Analisis
Dengan memeriksa stempel waktu, Anda dapat melihat urutan eksekusi yang tepat: report "Hello!" → report "Peekaboo!" → exit → report "Goodbye!". Contoh ini menunjukkan cara menggunakan loop dan exit untuk mengontrol aliran tanpa bergantung pada mesin status yang kompleks.
Poin Utama
loop menciptakan loop tak terbatas yang berjalan sampai exit dipanggil.
exit segera mengakhiri loop saat ini, terlepas dari tingkat bersarang.