Integer dan Real
Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 8 dari 90.
Selain wire dan reg, Verilog memiliki tipe data lain untuk angka dengan berbagai kegunaan.
Integer
integer adalah variabel serbaguna untuk menghitung dan melakukan perhitungan.
- Ukuran default adalah 32 bit
- Bertanda (dapat menyimpan angka negatif)
- Terutama digunakan dalam testbench dan for loop
Mendeklarasikan integer:
integer i; // Variabel bertanda 32-bit
integer count; // Dapat menyimpan bilangan negatifMenggunakan integer:
integer i;
initial begin
i = 0; // Mulai dari 0
i = i + 1; // Tambah hitungan
i = -5; // Bisa menyimpan nilai negatif
$display("i = %d", i); // Menampilkan: i = -5
endReal
real digunakan untuk bilangan floating-point (bilangan dengan angka desimal).
- Menyimpan nilai pecahan
- Digunakan dalam testbench untuk perhitungan
- Tidak dapat disintesis menjadi perangkat keras
Mendeklarasikan real:
real pi; // Variabel bilangan pecahan
real voltage;Menggunakan real:
real pi;
initial begin
pi = 3.14159; // Nilai desimal
pi = 22.0 / 7.0; // Hasil pembagian
$display("pi = %f", pi); // Menampilkan: pi = 3.142857
endDi Mana Menggunakannya
Dalam testbench: Integer dan real umumnya digunakan untuk pencacah perulangan, perhitungan, dan memeriksa nilai yang diharapkan. Keduanya membuat kode pengujian lebih mudah ditulis dan dipahami.
Pada perangkat keras: Tipe-tipe ini biasanya tidak dapat disintesis, artinya tidak dapat diubah menjadi sirkuit nyata. Untuk perangkat keras yang akan dipasang pada FPGA atau chip, gunakan reg dan wire.
Tantangan
Lengkapi kode agar testbench berfungsi.
Yang harus dilakukan:
- Deklarasikan integer bernama i (untuk pencacah perulangan)
- Deklarasikan real bernama value (untuk perhitungan)
Coba sendiri
module test;
// Deklarasikan bilangan bulat bernama i
// Deklarasikan bilangan real bernama value
initial begin
i = 7;
value = i * 0.5;
$display("i = %0d, value = %f", i, value);
$finish;
end
endmodulePelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua 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