Penghitung bit
Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 87 dari 90.
Tantangan
Dalam bab ini, kamu akan membuat pemancar UART langkah demi langkah. UART adalah singkatan dari Universal Asynchronous Receiver-Transmitter. UART adalah protokol perangkat keras sederhana yang memungkinkan dua perangkat berkomunikasi hanya dengan menggunakan satu kabel (untuk mengirim) dan kabel lain (untuk menerima).
Bayangkan seperti dua orang yang berbicara melalui telepon: satu orang berbicara (mengirim), yang lain mendengarkan (menerima). UART mengirim data satu bit setiap kali, dengan bit awal dan bit akhir untuk menandai awal dan akhir setiap byte.
Pemancar UART mengirim 10 bit: bit awal (1), bit data (8), bit akhir (1). Untuk melacak bit yang sedang dikirim, kita memerlukan penghitung bit yang menghitung dari 0 hingga 10.
Cara Kerja Penghitung Bit
- Mulai dari 0
- Tambahkan 1 pada setiap siklus clock
- Saat mencapai 10, kembali ke 0
- Ulangi terus-menerus
Dalam tugas ini, kita belum akan meresetnya: kita hanya akan menambah nilainya.
Yang harus dilakukan:
- Buat module bernama
uart_txdengan:- Satu input:
clk - Satu output:
cnt(4 bit, tipereg)
- Satu input:
- Di dalam module:
- Atur
cntmenjadi 0 di awal, di dalam blok initial - Tambahkan blok
always @(posedge clk) - Buat
cntbertambah 1 pada setiap tepi clock
- Atur
Coba sendiri
// TODO: Buat module uart_tx dengan input clk dan output cnt (4 bit)
// TODO: Atur cnt ke 0 saat awal di dalam blok initial
// TODO: Tambahkan blok always @(posedge clk)
// TODO: Naikkan nilai cntSemua pelajaran di Dasar-Dasar
1Pengantar
Apa Itu VerilogPerangkat Keras vs Perangkat LunakModul PertamamuKomentarTingkat Abstraksi Desain4Operator Bagian 1
Operator AritmetikaOperator ModuloOperator PerbandinganUlasan, Matematika SederhanaOperator Bitwise7Penugasan dan Gerbang
Penugasan KontinuPenugasan dengan OperatorPrimitif Gerbang BawaanGerbang AND, OR, NOTGerbang XOR, XNORUlasan: Rangkaian Gerbang Logika10Pengambilan Keputusan
Pernyataan IfIf - ElseRangkuman: Komparator SederhanaPernyataan CaseCasex dan CasezRangkuman: Desain ALU5Operator Bagian 2
Operator LogikaOperator ReduksiOperator GeserOperator PenggabunganOperator KondisionalRangkuman, Tantangan Operator3Sistem Bilangan
Representasi BinerBilangan BerukuranBilangan Tanpa UkuranBilangan NegatifNilai Khusus X dan ZRingkasan: Format Bilangan6Modul
Struktur ModulPort Input dan OutputPort InoutInstansiasi ModulPemetaan Port Berdasarkan NamaPemetaan Port Berdasarkan UrutanRangkuman: Bangun Modul9Blok Prosedural
Blok alwaysBlok initialDaftar SensitivitasPenugasan BlockingPenugasan Non-BlockingRangkuman: always vs initial15Pengendali Lampu Lalu Lintas
Menentukan StatusLogika Mesin StatusLatihan sendiri: Compiler Verilog online