Menu
CoddyTech

Fungsi Kombinasional

Termasuk bagian Desain dan Verifikasi RTL dalam perjalanan Verilog di Coddy. Pelajaran 11 dari 38.

Sebuah function Verilog mengemas perhitungan tanpa waktu untuk digunakan kembali di dalam module. Deklarasikan lebar nilai kembalian, argumen input, dan variabel lokalnya, lalu assign hasilnya ke nama function. Fungsi kombinasional tidak berisi penundaan atau kontrol peristiwa; perulangan dengan batas tetap dapat menjelaskan logika yang berulang.

Kutipan yang relevan; deklarasi dan koneksi di sekitarnya disediakan dalam tantangan.

function [7:0] gray;
    input [7:0] value;
    begin gray = value ^ (value >> 1); end
endfunction

Memanggil function menghitung ekspresi tanpa menambah waktu simulasi.

Tetapkan hasil function pada setiap jalur dan pastikan fungsi kombinasi bebas dari kontrol waktu.

challenge icon

Tantangan

Sedang

Implementasikan function Verilog bernama gray yang mengonversi nilai biner unsigned 8-bit menjadi kode Gray menggunakan value XOR (value digeser ke kanan satu bit). Hubungkan y dengan memanggil function menggunakan a. Kolom output: y. Semua nilai stimulus adalah nilai biner yang diketahui.

Lengkapi design.v dan pertahankan nama module serta port-nya. testbench.v yang terkunci memberikan 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 design. Output yang diharapkan adalah satu baris nilai desimal untuk setiap pengamatan, dipisahkan satu spasi dan diakhiri dengan baris baru.

Coba sendiri

module dut (input [7:0] a, output [7:0] y);
    // Ganti kode sementara ini dengan desainmu.
    assign y = 0;
endmodule
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Desain dan Verifikasi RTL

Latihan sendiri: Compiler Verilog online