Task 4 - dqwq

  • Upload
    kertas

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

  • 7/24/2019 Task 4 - dqwq

    1/7

    ModulDesain Rangkaian Sekuensial

    1. Tujuan

    Pada akhir sesi ini peserta diharapkan akan dapat :1. Mengenal deskripsi Verilog untuk rangkaian-rangkaian yang banyak dipakai

    dalam rangkaian sekuensial.2. Memodifkasi rangkaian-rangkaian sekuensial

    2. MetodeTutorial pada sesi ini akan dibagi menjadi 2 bagian :1. Peserta akan mempelajari karakteristik beberapa rangkaian sekuensial

    diantaranya :a. D lip-!opb. "ounter

    #. $tate Ma#hined. % &it Paralel to $erial "on'erter2. Peserta akan memodifkasi desain rangkaian sekuensial( mensimulasikan( dan

    menganalisisnya

    3. Materi)angkaian sekuensial adalah rangkaian yang outputnya tidak hanya tergantungkepada keadaan saat ini( tetapi juga pada keadaan input sebelumnya. Padabagian ini kita akan membuat rangkaian sekuensial D !ip-!op *D+( #ounter( danfnite state ma#hine *$M+.

    3.1 D Flip-fop

    D lip-!op merupakan elemen memory yang dapat menyimpan data inputsebelumnya. D lip akan menyampling data input apabila nilai #lo#k berubah dari, ke 1 *rising edge+. Dengan demikian( #lo#k digunakan sebagai sensivity listdarirangkaian seperti yang terlihat pada gambar 1. ntuk membedakan kapan !ip-!op menyampling input data( maka kita perlu menggunakan statement sepertipada #ontoh.

    Gambar 1 D Flip Flop

    module dff(clock,rst,en,data_in,data);

    input clock; input rst; input en; input data_in;

    output data;

    reg data;

    always@(posedge clock)

    1

  • 7/24/2019 Task 4 - dqwq

    2/7

    begin if(!rst) data

  • 7/24/2019 Task 4 - dqwq

    3/7

    end

    endmodule

    $eperti terlihat diatas( nilai register #ount dapat dinaikan dengan memberi harga61 pada signal en 0 1. 7ilai register #ount menjadi 8,,,,9 apabila di reset atau

    #ounter men#apai nilai maksimum 811119.

    )angkaian diatas dapat disimulasikan dan hasilnya sebagai berikut

    Gambar 3 Timing Diagram Counter

    Latihan :

    $imulasikan rangkain "ounter 5 bit bahlah rangkaian #ounter tersebut( sehingga ia menghitung mundur dari 15

    ke ,. bahlah rangkaian #ounter tersebut menjadi #ounter % bit.

    3.3 State Ma!hineDesain $M sangat penting dalam implementasi ke dalam P4. da banyak #arabagi kita untuk membuat $M( tetapi kompiler P4 memiliki keterbatasan dalammensintesis sebuah $M. "ara yang paling aman dalam mendesain $M adalahdengan memisahkan bagian kombinasional dan sekuensial. &agian kombinasional

    ber/ungsi untuk menghasilkan sinyal state selanjutnya *ne;t state+ dan nilaioutput. $edangkan bagian sekuensial untuk menentukan sinyal state saat ini*perpindahan state+.

    Gambar 4 Desain State Machine

    Terdapat dua jenis state ma#hine( yaitu mealy ma#hine dan moore ma#hine. Padamealy ma#hine output state ma#hine tergantung pada state saat ini dan nilaiinputnya. $edangkan pada moore ma#hine output state ma#hine hanyatergantung pada state saat ini.$ebagai #ontoh state ma#hine sederhana adalah state ma#hine tra

  • 7/24/2019 Task 4 - dqwq

    4/7

    Gambar 5 State Transition Traffic Light

    $eperti terlihat pada state diagram( pada kondisi a=al sistem di reset dan berada

    di state idle. pabila en 0 1( maka state akan berubah idlegreen(

    greenyello=( yello=red( redgreen. pabila en 0 , pada setiap kondisimaka state akan pindah ke idle. Dari state ma#hine tersebut kita dapatmendesain deskripsi Verilog sebagai berikut:

    Menentukan jumlah state. Dari diagram kita dapat melihat bah=a sistemterdiri dari 5 state. Dengan demikian kita dapat merepresentasikan statetersebut dengan register 2 bit( dalam hal ini state. Dalam #ode Verilog :

    reg "1$% state;

    Menentukan $ensi'ity list. Dalam hal ini( perubahan state adalah terjadi pada

    saat rising edge daripada #lo#k( sehingga sensi'ity list dapat ditentukanadalah #lo#k.

    $yarat perubahan state. Dari state diagram dapat dilihat bah=a state berubah

    atas /ungsi signal en.

    Dari tahapan tersebut kita dapat membuat deskripsi Verilog state ma#hinetersebut sebagai berikut:

    module traffic(clock,rst,en,state);

    input clock; input rst; input en;

    output state;

    parameter *+ = d;

    parameter -.++/ = d1; parameter 0+**2 = d;

    parameter .+ = d#;

    reg "1$% state;

    wire "1$% ne3t4tate;

    55state transition

    always@(posedge clock) begin if(!rst) state

  • 7/24/2019 Task 4 - dqwq

    5/7

    55ne3t state logic assign ne3t4tate = (state == *+)6en 7 -.++/$ (state == -.++/)6en 7 0+**2$ (state == 0+**2)6en 7 .+$ state;

    endmodule

    Gambar Timing Diagram State Machine Traffic Light

    Latihan : $imulasikan rangkain state ma#hine tra

  • 7/24/2019 Task 4 - dqwq

    6/7

    parameter *+ = b;

    parameter 4+.:* = b1; parameter :.:*+* = b1;

    reg "1$% state;

    reg "$% count; reg "9$% buff; wire "1$% ne3t4tate;

    55state macine

    always@(posedge clock) begin if(!rst) state

  • 7/24/2019 Task 4 - dqwq

    7/7

    Latihan : &uatlah diagram state transition-nya.

    $imulasikan rangkain parallel to serial.

    &uatlah rangkaian yang akan memeriksa sebuah sinyal input @2 bit dari bit

    M$&-nya( kemudian mengeluarkan sebuah pulsa jika deretan sinyal inputmemiliki nilai 81,,19 atau 8,11,9. &uatlah diagram state transition-nyaterlebih dahulu.

    Gambar ' Timing Diagram Latihan

    7