Menu
CoddyTech

While loop

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

Perulangan while mengulang blok kode selama suatu kondisi bernilai true. Tidak seperti perulangan for, perulangan ini tidak memiliki penghitung bawaan. Kamu harus memperbarui variabel perulangan sendiri.

Perulangan while memeriksa kondisi sebelum setiap iterasi. Jika kondisinya 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.

Perulangan While vs Perulangan For

 Perulangan ForPerulangan While
PenghitungBawaanKamu mengelolanya
Kapan digunakanJumlah iterasi diketahuiTidak diketahui kapan perulangan akan berhenti
Sintaksfor (i=0; i<5; i=i+1)while (i < 5)

Perulangan while dalam testbench

Perulangan while berguna ketika kamu tidak tahu persis berapa banyak iterasi yang kamu perlukan:

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 berakhir
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 pernyataanDiperlukan jika lebih dari satu baris
challenge icon

Tantangan

Yang harus dilakukan:

Tambahkan perulangan while yang hilang untuk mencetak angka dari 0 hingga 2.

Coba sendiri

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: Tambahkan perulangan while
    // 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