Menu
CoddyTech

Tantangan: Pipeline Paritas

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

challenge icon

Tantangan

Sedang

Buat pipeline parity dua tahap. Pertama, tangkap data byte dan in_valid. Pada tepi berikutnya yang tidak sedang reset, output parity adalah XOR reduksi dari byte yang sebelumnya ditangkap jika valid sebelumnya bernilai high, jika tidak, nilainya nol. out_valid adalah valid yang tertunda tersebut. rst sinkron menghapus kedua tahap dan output. Kolom output: parity, out_valid. 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 memberikan perubahan input dan mencetak output setelah stabil. Testbench memilih skenario menggunakan argumen simulator seperti +CASE=1; input standar tidak diperlukan. Jangan tambahkan pencetakan, delay, atau penghentian simulasi ke 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 clk, input rst, input in_valid, input [7:0] data, output reg parity, output reg out_valid);
    // Ganti placeholder ini dengan desainmu.
    initial parity = 0;
    initial out_valid = 0;
endmodule

Semua pelajaran di Desain dan Verifikasi RTL

Latihan sendiri: Compiler Verilog online