Ringkasan: Bank Baca Ganda
Termasuk bagian Desain dan Verifikasi RTL dalam perjalanan Verilog di Coddy. Pelajaran 25 dari 38.
Tantangan
SedangImplementasikan empat word 8-bit dengan satu penulisan ber-clock dan dua output pembacaan data lama yang terdaftar, qa dan qb. we menulis ke waddr. rst sinkron hanya mengosongkan qa dan qb. Jika tidak, re mengaktifkan kedua pembacaan dari raddr_a dan raddr_b; pembacaan yang dinonaktifkan mempertahankan nilainya. Penulisan pada tepi clock yang sama tidak mengubah nilai lama yang ditangkap oleh pembacaan ini. Pengujian menginisialisasi word sebelum membacanya. Kolom output: qa, qb. Semua kontrol dan data stabil sebelum setiap tepi clock naik; hasil diamati setelahnya.
Lengkapi design.v dan pertahankan nama module serta port-nya. testbench.v yang dikunci 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 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 clk, input rst, input we, input re, input [1:0] waddr, input [1:0] raddr_a, input [1:0] raddr_b, input [7:0] data, output reg [7:0] qa, output reg [7:0] qb);
// Ganti kode sementara ini dengan rancanganmu.
initial qa = 0;
initial qb = 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 Bertanda5Memori dan Tabel Pencarian
Tabel ROM KombinasionalPenyimpanan array registerPort Baca TerdaftarPenerusan Baca-TulisRingkasan: Bank Baca Ganda3RTL 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