Task Checker yang Dapat Digunakan Ulang
Termasuk bagian Desain dan Verifikasi RTL dalam perjalanan Verilog di Coddy. Pelajaran 27 dari 38.
task Verilog mengelompokkan pekerjaan prosedural dan dapat mengembalikan hasil melalui argumen output atau inout. task testbench mengurangi pemeriksaan yang berulang. Berbeda dengan function kombinasi, task dapat menyertakan kontrol waktu jika diperlukan, tetapi task pemeriksa ini hanya melakukan perbandingan tanpa waktu. Gunakan task otomatis jika pemanggilan bersamaan yang terpisah memerlukan penyimpanan lokal yang independen; pemanggilan yang disediakan di sini dilakukan secara berurutan.
Kutipan yang relevan; deklarasi dan koneksi di sekitarnya disediakan dalam tantangan.
task check_value;
input [7:0] actual,expected;
output ok;
begin ok = (actual === expected); end
endtaskPemanggil menerima hasil pemeriksaan melalui argumen output yang eksplisit.
Tentukan arah argumen task dan reset variabel hasil per pemanggilan sebelum mengumpulkan kegagalan.
Tantangan
SedangImplementasikan check_value agar ok bernilai satu ketika actual dan expected cocok berdasarkan kesetaraan empat keadaan, dan bernilai nol jika tidak. Module ini berisi task khusus simulasi yang dipanggil oleh testbench terkunci. Kolom output: ok.
Lengkapi design.v dan pertahankan nama module serta port-nya. testbench.v yang terkunci menyediakan perubahan input dan mencetak output setelah nilainya stabil. Testbench memilih skenario menggunakan argumen simulator seperti +CASE=1; input standar tidak diperlukan. Biarkan pencetakan dan pengaturan skenario di testbench yang terkunci; implementasikan hanya isi task. Output yang diharapkan adalah satu baris nilai desimal untuk setiap pengamatan, dipisahkan dengan satu spasi dan diakhiri dengan baris baru.
Coba sendiri
module dut;
task check_value;
input [7:0] actual,expected;
output ok;
begin
// Lengkapi task pemeriksa.
ok=0;
end
endtask
endmodulePelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua 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