Pencacah Saturasi
Termasuk bagian Desain dan Verifikasi RTL dalam perjalanan Verilog di Coddy. Pelajaran 17 dari 38.
Fundamentals menggunakan pencacah yang berputar kembali. Pencacah saturasi berhenti pada batas, sehingga berguna untuk menghitung dalam rentang terbatas. Tambahkan penjagaan eksplisit pada pembaruan aritmetika dan pastikan perilaku enable dan reset tetap tidak bergantung pada batas.
Kutipan yang relevan; deklarasi dan koneksi di sekitarnya disediakan dalam tantangan.
always @(posedge clk) begin
if(rst) count <= 0;
else if(en && count != 15) count <= count + 1;
endNilai maksimum dipertahankan, bukan kembali ke nol.
Tangani pembaruan batas secara eksplisit saat penghitung harus mencapai batas maksimum alih-alih berputar kembali.
Tantangan
SedangBuat counter saturasi 4-bit q. rst sinkron akan mengosongkannya. Tepi clock yang diaktifkan akan menaikkan nilainya hingga 15, lalu nilainya tetap 15. Tepi clock yang dinonaktifkan juga membuat nilainya tetap. Reset memiliki prioritas. Kolom output: q. Semua kontrol dan data stabil sebelum setiap tepi naik clock, hasil diamati sesudahnya.
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, tidak diperlukan input standar. Jangan tambahkan pencetakan, jeda, atau penghentian simulasi ke design. Output yang diharapkan berupa satu baris nilai desimal untuk setiap pengamatan, dipisahkan oleh satu spasi dan diakhiri dengan baris baru.
Coba sendiri
module dut (input clk, input rst, input en, output reg [3:0] q);
// Ganti placeholder ini dengan desainmu.
initial q = 0;
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 Permintaan4RTL Sekuensial Terkendali
Prioritas Reset dan EnablePencacah SaturasiPipeline Data dan ValidMendeteksi Tepi pada SampelRingkasan: Pencacah Peristiwa2Lebar 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