Menu
CoddyTech

Tantangan: Peristiwa Berpola

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

challenge icon

Tantangan

Sedang

Deteksi pola bit 101 pada sampel input yang diterima. en=1 menerima bit_in pada tepi naik; en=0 mempertahankan state kecocokan parsial dan menghasilkan hit=0. Atur hit terdaftar menjadi 1 hanya saat bit yang diterima melengkapi 101. Kecocokan yang tumpang tindih diperbolehkan: 10101 menghasilkan dua pulsa. rst sinkron menghapus state dan hit, serta diprioritaskan daripada en. Kolom output: hit. Semua kontrol dan data stabil sebelum setiap tepi naik clock; hasil diamati setelahnya.

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, penundaan, atau penghentian simulasi pada desain. Output yang diharapkan adalah satu baris nilai desimal untuk setiap pengamatan, dipisahkan dengan satu spasi dan diakhiri baris baru.

Coba sendiri

module dut (input clk, input rst, input en, input bit_in, output reg hit);
    // Ganti bagian sementara ini dengan desainmu.
    initial hit = 0;
endmodule

Semua pelajaran di Desain dan Verifikasi RTL

Latihan sendiri: Compiler Verilog online