Menu
CoddyTech

Nilai Default Mencegah Latch

Termasuk bagian Desain dan Verifikasi RTL dalam perjalanan Verilog di Coddy. Pelajaran 1 dari 38.

Output kombinasi harus diberi nilai untuk setiap jalur input. Jika blok always melewatkan pemberian nilai pada suatu output, output tersebut mempertahankan nilai lamanya, yang dapat menyimpulkan latch. Penetapan default yang diikuti dengan penimpaan membuat cakupan terlihat.

Kutipan yang relevan; deklarasi dan koneksi di sekitarnya disediakan dalam tantangan.

always @* begin
    y = 0;
    if (en) y = data;
end

default mencakup jalur yang dinonaktifkan, jadi output hanya bergantung pada input saat ini.

Tetapkan setiap output kombinatorial di semua jalur; gunakan nilai default sebelum penimpaan bersyarat.

challenge icon

Tantangan

Sedang

Implementasikan output 8-bit yang dikendalikan: saat en bernilai satu, y sama dengan a; jika tidak, y bernilai nol. Tetapkan y pada setiap jalur kombinasi. Kolom output: y. Semua nilai stimulus adalah nilai biner yang diketahui.

Lengkapi design.v dan pertahankan nama module serta port-nya. testbench.v yang terkunci menyediakan perubahan input dan mencetak output setelah stabil. Testbench memilih skenario menggunakan argumen simulator seperti +CASE=1; input standar tidak diperlukan. Jangan tambahkan pencetakan, jeda, atau penghentian simulasi ke dalam desain. Output yang diharapkan adalah satu baris nilai desimal untuk setiap pengamatan, dipisahkan dengan satu spasi dan diakhiri dengan baris baru.

Coba sendiri

module dut (input en, input [7:0] a, output reg [7:0] y);
    // Ganti bagian sementara ini dengan desainmu.
    initial y = 0;
endmodule
quiz iconUji dirimu

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

Semua pelajaran di Desain dan Verifikasi RTL

Latihan sendiri: Compiler Verilog online