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.

Minggu, 15 Juli 2018

RANGKAIAN DIGITAL RS FLIP FLOP


Assalamualaikum warohmatullahi wabarokatu
Kali ini saya ingin menjelaskan tentang simulasi rangkaian digital sederhana rs flip flop yang saya buat ini, semoga dapat bermanfaat bagi kalian yang membaca blog saya ini.
Pada rangkaian ini saya membuat dengan menggunakan software proteus 7 yang terbaru, dalam rangakian ini saya mebutuhkan beberapa komponen yang digunakan dalam rangkaian digital sederhana flip flop yang saya buat ini
Komponen dalam rangkaian saya adalah: Clock, Gate Nand, Gate Nor, Gate Not, Logic State, Logic Probe(BIG).
Untuk mengetahui gambar dari setiap komponen, maka saya akan memberi tahu gambar dari setiap komponen diatas: 



Dari komponen - komponen diatas saya akan sedikit mejelaskan fungsunya masing-masing         :
1.      Clock pada rangkaian digital berfungsi untuk mengalirkan data agar dapat diproses oleh rangkaian. Tanpa clock maka rangkaian digital tidak akan bekerja. Semakin tinggi frekuensi clock maka rangkaian digital akan bekerja semakin cepat.
2.      NAND GATE, pada rangkaian digital arti NAND adalah NOT AND, berfungsi jika keluaran logika nya 0, maka outputnya akan sebalik nya yaitu 1, dan jika keluara logika nya 1, maka output nya 0.
3.      NOR GATE, pada rangkaian digital berarti NOT OR, berfungsi jika keluaran logika nya 0, maka outputnya akan sama yaitu 0, dan jika keluara logika nya 1, maka output nya 1.
4.      LOGIC PROBE (BIG), dalam rangkaian digital berfungsi sebagai indikator penunjuk output
5.      LOGIC STATE, pada rangkaian digital berfungsi sebagai indikator penunjuk input
6.      GATE NOT, pada rangkaian digital berfungsi jika keluaran logika nya 0, maka outputnya akan sebalik nya yaitu 1, dan jika keluara logika nya 1, maka output nya 0.




Setelah kita membahas komponen dan gambar nya satu satu, selanjutnya saya akan menunjukan rangkaian digital sederhana RS FLIP FLOP yang saya buat.
Dibawah ini adalah gambar rangkaian digital sederhana RS FLIP FLOP yang saya buat: 


Penjelasan dari gambar diatas adalah:

  • Jika logic state atau D menunjukan angka 1, masuk ke NOT GATE maka keluar Menjadi 0, lalu masuk kekaki NAND GATE U7
  • Lalu line D1 dibagi ke jalur NAND GATE U5, NAND U5 yang satu lagi masukan dari CLOCK sesuai dengan nilai binner yang keluar dari CLOCK
  • U7 juga demikian
  • Jika gerbang NAND GATE U5 yang dari CLOCK 1 maka keluaran dari gerbang U5 adalah 0, Kemudian masuk ke kaki NOR GATE U1 dan jika gerbang NAND GATE U7 dapat masukan dari CLOCK 1 maka keluaran nya adalah 1 dan masuk ke kaki NOR GATE U2. U1 akan mengeluarkan hasil akhir dari LOGIC PROBE jika U2 mengeluarkan hasil dari kedua masukan.
  • Maka secara tidak langsung U1 dan U2 menghasilkan keluaran secara bersamaan.

ini adalah tabel kebenaran dari rangkaian digital RS FLIP FLOP yang saya buat.



Sekian materi dari saya tentang  simulasi rangakaian digital Seven Segment sederhana menggunakan Aplikasi Proteus 7, semoga bermanfaat.

proteus profesional 7
rangkaian digital.docx
Rangkaian digital RS Flip Flop.dsn