Menu
CoddyTech

While loop

Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 59 dari 90.

Perulangan while mengulang blok kode selama kondisi bernilai true. Berbeda dengan for loop, perulangan ini tidak memiliki penghitung bawaan. Kamu harus memperbarui variabel perulangan sendiri.

Perulangan while memeriksa kondisi sebelum setiap iterasi. Jika kondisi bernilai benar, perulangan dijalankan. Jika salah, perulangan berhenti.

Sintaks:

while (condition) begin
  // Kode yang diulang
end

Contoh Sederhana

integer i = 0;

while (i < 5) begin
  $display("i = %d", i);
  i = i + 1;
end

Output:

i = 0
i = 1
i = 2
i = 3
i = 4

Perulangan berjalan selama i < 5.

While Loop vs For Loop

 For LoopWhile Loop
PenghitungBawaanKamu mengelolanya
Kapan digunakanJumlah iterasi diketahuiWaktu perulangan berhenti tidak diketahui
Sintaksfor (i=0; i<5; i=i+1)while (i < 5)

While loop di testbench

While loop berguna saat kamu tidak tahu persis berapa banyak iterasi yang diperlukan:

integer i = 0;

while (i < 16) begin
  $display("Testing value %d", i);
  i = i + 1;
end

Menemukan Nilai Tertentu

integer i = 0;
reg [7:0] data;

while (data[i] != 1) begin
  i = i + 1;
end
$display("First 1 found at position %d", i);

Aturan Penting

AturanPenjelasan
Kondisi harus menjadi falseJika tidak, perulangan tidak akan berhenti
Perbarui variabel perulangan di dalamnyaJika tidak, perulangan tidak akan pernah berakhir
Variabel perulangan harus berupa integer atau regTidak boleh berupa wire
Gunakan begin/end untuk beberapa pernyataanWajib digunakan untuk lebih dari satu baris
challenge icon

Tantangan

Yang harus dilakukan:

Tambahkan perulangan while yang belum ada untuk mencetak angka dari 0 sampai 2.

Coba sendiri

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: Tambahkan while loop
    // Ulangi selama i < 3
    // Di dalam perulangan, cetak i
    // Tambah i sebesar 1
    
    $finish;
  end
endmodule
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Verilog online