Rabu, 22 Januari 2020

TUTORIAL VERILOG MENGGUNAKAN PROTEUS

  1. 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.