- TUTORIAL VERILOG MENGGUNAKAN PROTEUS
Tutorial Verilog Rangkaian ALU (Aritmatika Logic Unit) Yang Di Simulasikan Melalui Proteus
Assalamualaikum warahmatullahi wabarakatuh
hay teman-teman, di postingan kedua ini saya akan membahas Tutorial Verilog Rangkaian ALU (Aritmatika Logic Unit) Yang Di Simulasikan Melalui Proteus
Saya akan memberikan beberapa cara untuk membuat dan mensimulasikan contoh verilog pada Proteus ISIS Professional. Berikut ini penjelasannya:
Verilog adalah salah satu HDL (Hardware Description Language), yaitu bahasa penulisan program yang digunakan untuk mewakili sistem digital, misalnya mikrokontroler, decoder, memory atau hanya flip- rangkaian digital pada level apapun, mulai dari gerbang digital sederhana seperti AND, OR, flop dan gerbang digital sederhana. Ringkasnya, dengan menggunakan HDL seseorang dapat menjelaskan NOT, sampai rangkaian digital amat kompleks seperti mikrokontroler.
Tutorial kali ini saya akan membuat suatu program verilog pada rangkaian ALU (Aritmatika Logic Unit) yang mendeskripsikan suatu algoritma matematika seperti : Perhitungan perkalian,pembagian dll yang disimulasikan melalui Proteus ISIS Professional. Oke langsung saja langsung kita bahas secara seksama dalam tempo yang ses
1. Langkah Pertama
Persiapkan 2 softwarenya :
1. Proteus Professional.ZIP
2. Prover0.1.4.ZIP
Download dan Ekstrak 2 software tsb ke direktori C:// di Laptop anda.
2. Langkah kedua
Pilihlah Salah satu rangkaian yang ada di Langkah pertama di file Prover0.1.4, Di sini saya memakai Rangkaian ALU.
3. Langkah ketiga
Rangkailah komponen yang tadi seperti ini
![]() |
| Gambar 1. Rangkaian ALU |
Masuk Komponen ALU (CTRL+C) untuk membuat rangkaian Prover
![]() |
| Gambar 2. Rangkaian Prover |
4. Langkah keempat
Buatlah script HDL (verilog) menggunakan notepad. Untuk membuat scripnya harus dicompile sehingga dapat di download ke komponen Prover di proteus nantinya.
`timescale 1ns / 1ns
`define Proteus
// A simple 4-bit ALU
module alu(out, zero, in_a, in_b, op, clk);
output zero;
output [3:0] out;
reg [3:0] out;
input [3:0] in_a, in_b;
input [2:0] op;
input clk;
assign zero = (out==0)? 1:0;
always @(posedge clk)
begin
case (op)
3'b000: out = in_a + in_b;
3'b001: out = in_a - in_b;
3'b010: out = in_a * in_b;
3'b011: out = in_a / in_b;
3'b100: out = in_a % in_b;
3'b101: out = in_a & in_b;
3'b110: out = in_a | in_b;
3'b111: out = in_a ^ in_b;
endcase
end
endmodule
module alu_test;
reg clk;
reg [15:0] setup, hold;
reg [15:0] p2v_bits, v2p_bits;
wire [15:0] v2p_vector;
reg [15:0] p2v_vector;
wire [3:0] in_a, in_b, out;
wire [2:0] op;
wire zero;
alu U1(out, zero, in_a, in_b, op,clk);
assign in_a = p2v_vector[3:0];
assign in_b = p2v_vector[7:4];
assign op = p2v_vector[10:8];
assign out = v2p_vector[3:0];
assign zero = v2p_vector[4];
initial
begin
$init_pipe("vpi_pipe");
$read_para(setup, hold, p2v_bits, v2p_bits);
clk = 0;
forever
begin
$read_pipe(p2v_vector);
#setup;
clk = ~ clk; // Trig clk rising
#hold;
$write_pipe(v2p_vector);
clk = ~ clk; // Reset clk to low
end
end
endmodule
Script tersebut di simpan dengan format .v yang tersimpan dalam satu folder di direktori
==> C:\Prover0.1.4 (saya berikan nama Miftakhul.v)
5. Langkah kelima
Compile Script Miftakhul.v tadi dengan cara :
1. Masuk ke CMD (Command Prompt)
2. Ketik "cd c:\prover0.1.4" dan ENTER untuk masuk kedalam folder prover0.1.4
3. Compile foldernya dengan cara ketik "Iverilog\bin\iverilog -o Miftakhul.v" dan ENTER
Maka hasilnya yang tadi dicompile, format filenya Miftakhul.v menjadi Miftakhul file biner yang dipakai untuk didownload dan disimulasikan untuk komponen prover diproteus
6. Langkah keenam
Simulasikan rangkaian ALU tapi sebelum kesitu kita masukan dulu file biner muflih ke dalam komponen Prover dengan cara masuk kedalam komponen ALU (CTRL+C) dan klik Prover dan ikuti dan sesuaikanlah pada gambar berikut :
![]() |
| Gambar 3. Input Prover |
7. Langkah ketujuh
Simulasikan rangkaian alu dengan mengklik tombol play pada pojok kiri Proteus. Jika berhasil maka tidak ada warning / Play buttonya warna hijau.
![]() |
| Gambar 4. Ketika di Play di ISIS Sekian postingan saya kali ini mohon maaf apabila ada kesalahan dan semoga bermanfaat bagi yang membaca. |




Tidak ada komentar:
Posting Komentar