Tantangan: Pipeline Paritas
Termasuk bagian Desain dan Verifikasi RTL dalam perjalanan Verilog di Coddy. Pelajaran 36 dari 38.
Tantangan
SedangBuat 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;
endmoduleSemua pelajaran di Desain dan Verifikasi RTL
1RTL Kombinasional yang Andal
Nilai Default Mencegah LatchEncoder PrioritasValidasi One-HotDekode Case yang AmanRangkuman: Router Permintaan2Lebar Bit dan Aritmetika Bertanda
Mempertahankan Bit CarryPerbandingan BertandaPergeseran Kanan AritmetikaOverflow dan SaturasiRangkuman, Selisih Bertanda3RTL yang Dapat Digunakan Kembali
Fungsi KombinasionalParameter yang Aman terhadap LebarGenerate loopGenerate dengan KondisiRingkasan: Masker Bit yang Dapat Digunakan Kembali6Testbench dengan Pemeriksaan Mandiri
Pemeriksaan Empat KeadaanTask Checker yang Dapat Digunakan UlangModel Referensi dan SkorCakupan Batas dan KontrolRangkuman: Audit PenjumlahLatihan sendiri: Compiler Verilog online