Modul Praktikum Elektronika Digital v.3

25
PETUNJUK PRAKTIKUM VERSI 3 ELEKTRONIKA DIGITAL LOGO Disusun Oleh Zulfikar, S.T., M.Sc JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA DESEMBER 2012

description

Modul Praktikum Elektronika Digital

Transcript of Modul Praktikum Elektronika Digital v.3

Page 1: Modul Praktikum Elektronika Digital v.3

PETUNJUK PRAKTIKUM VERSI 3

ELEKTRONIKA DIGITAL

LOGO

Disusun Oleh

Zulfikar, S.T., M.Sc

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

DESEMBER 2012

Page 2: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 1

Program VHDL

Berikut ini adalah contoh program sederhana dari sebuah gerbang AND yang mempunyai 2 masukan

dan satu keluaran. Masukannya adalah A dan B, dan keluarannya adalah Y. Perhatikan penulisan baris

program dalam beberapa warna yang berbeda. kode program dengan warna BIRU tidak bisa diubah-

ubah, kode program dengan warna PURPLE bisa diganti dengan pilihan lain yang tersedia, dan Kode

program yang bisa dirubah sesuai dengan keinginan penulis adalah yang berwarna HITAM.

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity And_2_1 is

Port ( A : in STD_LOGIC;

B : in STD_LOGIC;

Y : out STD_LOGIC);

end And_2_1;

architecture Behavioral of And_2_1 is

begin

Y <= A and B;

end Behavioral;

Program VHDL terdiri dari 3 bagian utama yaitu library, entity dan architechture. Library berisikan desain

acuan untuk menjalankan program. Dalam setiap program VHDL minimal harus ada satu library. Library

yang paling umum digunakan adalah libray standar IEEE (IEEE.STD_LOGIC_1164.ALL). library ini

berisikan penjelasan dari gerbang-gerbang logika dasar yang sering digunakan sehari-hari seperti AND,

OR, NOR dan lain-lain.

Bagian entity dari program menjelaskan semua port input dan output dari rangkaian yang akan di

desain. Port A dan B merupakan input dengan format standard logic (STD_LOGIC). Sementara port

Yadalah output atau keluaran yang mempunyai format yang sama dengan port A dan B. Nama dari

entity tersebut adalah “And_2_1”.

Bagian architechture menjelaskan hubungan antara input-input, output-output dan siynal-siynal lain jika

ada. Pada program diatas hanya menjelaskan hubungan antara output Y dengan input A dan B. Baris

program tersebut menjelaskan tentang sebuah gerbang AND yang mempunyai masukan A dan B dan

keluaran Y. Kata “Behavioral” bisa diganti dengan kata yang lain sesuai sesuai denga keinginan penulis.

Sementara kata “And_2_1” pada baris pertama dari architechture menyesuaikan dengan nama entity

yang diberikan pada bagian sebelumnya.

library

entity

architecture

Page 3: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 2

Test Bench

Untuk menguji program VHDL yang belah dibuat, maka diperlukan sebuah file test bench. File tersebut

menjelaskan proses pemberian sinyal atau informasi pada semua port input. Supaya file tersebut

dikenali dan dapat dipakai dengan program yang ada, maka perlu penjelasan yang menerangkan bahwa

file test bench tersebut dipakai unutk mensimulasikan file program VHDL tertentu.Struktur penulisan file

test bench sama dengan file program VHDL yaitu terdiri dari library, entity dan architechture.

Bagian library pada file test bench biasanya sama persis dengan bagian library file program. Bagian

entity dari file test bech hanya dituliskan baris pembuka dan penutup saja dari bagian entity program.

Sementara bagian architechture menjelaskan hubungan antara file test bench dengan file program,

port-port mana saja yang digunakan pada saat simulasi dan karakteristik sinyal-sinyal pada port input.

Baris program yang diawali dengan -- tidak akan di eksekusi karena merupakan komen yang sengaja

ditambahakan untuk menjelaskan.

LIBRARYieee;

USEieee.std_logic_1164.ALL;

ENTITY test_And_2_1 IS

END test_And_2_1;

ARCHITECTURE behavior OF test_And_2_1 IS

-- Component Declaration for the Unit Under Test (UUT)

COMPONENT And_2_1

PORT(

A :INstd_logic;

B :INstd_logic;

Y :OUTstd_logic

);

END COMPONENT;

--Inputs

signal A : std_logic := '0';

signal B : std_logic := '0';

--Outputs

signal Y : std_logic;

BEGIN

-- Instantiate the Unit Under Test (UUT)

uut: And_2_1 PORT MAP (

A => A,

B => B,

Y => Y

);

process

begin

Tuliskan code program untuk menjelaskan sinyal-sinyal pada port input.

end process;

END;

Nilai inisial awal

Page 4: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 3

Sinyal pada port input harus diberikan untuk menguji kerja rangkaian yang telah didesain. Instruksi yang

umum digunakan adalah waif for. Satuan default dari sinyal ini adalah nano seconds (ns), untuk satuan

yang lebih kecil seperti pico second juga bisa digunakan (ps). Sebagai contoh, kita ingin memberikan

sinyal kepad rangkaian sebagai berikut:

Diagram waktu diatas mempunyai durasi 1000 ns atau 1 us. Pada waktu 0 ns (kondisi awal) nilai pada

port input A dan B adalah ‘0’ atau low. Selanjutnya jika ingin merubah nilai A atau B setelah sekian lama,

maka digunakan perintah wait for. Berikut adalah code program untuk mewakili diagram waktu diatas.

waitfor 200 ns; -- waktu saat ini 200 ns

A <= '0';

B <= '0';

waitfor 200 ns; -- waktu saat ini 400 ns

A <= '0';

B <= '1';

wait for 200 ns; -- waktu saat ini 600 ns

A <= '1';

B <= '0';

wait for 200 ns; -- waktu saat ini 800 ns

A <= '1';

B <= '1';

-- waktu saat ini 1000 ns

Catatan:

Jika setelah selang waktu tertentu sinyal pada salah satu port input tidak berubah, maka siyal pada port

tersebut boleh tidak dituliskan. Namun hal ini tidak dianjurkan supaya menghindari kesalahan.

A

B

Inisial awal A=0, B=0 A=0, B=1 A=1, B=0 A=1, B=1

waktu

Page 5: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 4

Software Xilinx ISE Design Suite

Menurut dengan Xilinx ISE 13.4, kita dapat memulainya dari ISE Navigator seperti terlihat pada gambar

berikut:

Beberapa pilihan tab untuk project yang tersedia seperti terlihat pada gambar diatas:

Open Prjoect digunakan untuk membuka project yang telah ada sebelumnya.

New Project digunakan untuk memulai project baru

Project Browser digunakan untuk mencari/ membuka project yang telah ada sebelumnya dari

daftar project yang tersedia.

Open Example digunakan untuk membuka contoh-contoh project yang disediakan oleh software.

Page 6: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 5

Membuat Project Baru (New Project)

Untuk memulai project baru, klik pada tab New Project, kemudian akan muncul layar sbb:

Misalkan kita ingin merancang sebuah gerbang AND (2 input 1 keluaran).Tulislahpada kolom

Name“And_2_1” (hanya sebagai contoh). Kemudian browse/ tulis lokasi dimana kita akan menyimpan

project tersebut, misal “D:\Project\And_2_1”. Pada kolom paling bawah (Top-level source type), pilihlah

“HDL” yang merupakan kepanjangan dari hardware description language.

Kemudia tekan Next, maka akan muncul layar project setting seperti berikut ini.

Page 7: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 6

Buatlah setting project persis seperti gambar diatas. Project ini akan menggunakan board atau IC

Spartan-3E Starter board, Family dari Spartan 3E dengan nomor chip XC3S500E yang menggunakan

package FG320 dengan grade kecepatan 4. Project ini nantinya akan di synthesis dengan XST (Xilinx

Synthesis Tool). Simulasi akan dijalankan dengan menggunakan simulator ISim.Bahasa pemrograman

yang digunakan adalah VHDL.

Berikutnya (setelah menekan tombol Next) akan muncul layar Project Summary. Pastikan semua

informasi yang diberikan sesuai dengan keinginan kita.

Kemudian klik pada tab Finish. Proses pembuatan project baru selesai dan akan kembali ke layar utama

seperti berikut ini:

Disini ada tiga pilihan penambahan program kedalam project. Pertama, New Source digunakan untuk

menuliskan program VHDL baru. Kedua, Add Source digunakan untuk memasukkan file program VHDL

yang telah ada kedalam project. Dan ketiga, Add Copy of Source digunakan untuk meng-copy file

program VHDL dari file yang sudah tersedia.

New Source

Add Source

Add Copy of Source

Page 8: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 7

Pilihlah New Source, kemudian akan muncul layar seperti berikut ini:

Pilihlah VHDL Module dan berikan nama file dengan “And_2_1”. Pastikan juga lokasinya sama dengan

lokasi project sebelumnya.

Kemudian klik Next, kemudian Next lagi dan kemudian klik Finish. Akan muncul dilayar utama tampilan

untuk menuliskan kode program VHDL. Perhatikan bahwa sebagian kode program sudah ada, seperti

library, entity, dan architecture. Sebagian besar kode merupakan komentar, hapuslah bila tidak

diinginkan. Berikut adalah kode yang sudah ada:

Page 9: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 8

Tuliskan entity dan kode program untuk gerbang AND, sehingga program akan menjadi seperti pada

gambar berikut ini:

Kemudian simpanlah file tersebut. Langkah penulisan program VHDL untuk sebuah gerbang AND sudah

selesai.

Langkah berikutnya ada pengecekan apakah ada kesalahan grammar dalam penulisan file tersebut atau

lebih dikenal dengan check syntax. Perhatikan gambar berikut ini,

Hal-hal yang perlu diperhatikan adalah tandai Implementasi, sorot/ tandai nama file VHDL dibawah

nama chip yang digunakan. Kemudian expand Synthesize – XST pada bagian Process, akan muncul

beberapa pilihan. Salah satu pilihan tersebut adalah Check Syntax, double klik untuk memulai proses

Tandai

Tandai

Double klik

Page 10: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 9

pengecekan syntact. Hasil pengecekan akan dilaporkan pada bagian Consule seperti terlihat pada

gambar dibawah ini:

Apabila tidak ada kesalahan, maka langkah selanjutnya adalah simulasi.

Untuk melakukan simulasi, diperlukan sebuah file lagi yang disebut dengan TestBench. File ini

berhubungan dengan file program yang sudah ada dan menjelaskan diagram waktu untuk tujuan

pengetesan hasil (simulasi).

Ulangi langkah yang sama dengan pembuatan file program VHDL. Namun kali ini kita akan membuat file

testbench guna pengetesan. Perhatikan gambar berikut ini:

Sorot/ tandai VHDL Test Bench, kemudian tulishlah nama file yang akan dibuat, misal “test_And_2_1”.

Samakan lokasi file tersebut dengan lokasi file sebelumnya. Jangan lupa untuk men centang Add to

project. Kemudian klik Next dan Next lagi, maka akan muncul Summary yang menjelaskan tentang file

Page 11: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 10

tersebut. Klik finish, process penambahan file test bench baru sudah selesai.Editlah file tersebut sesuai

dengan kebutuhan (lihat bagian Test Bench).

Untuk memulai proses simulasi, ikutilah petunjuk seperti pada gambar berikut. Tandai Simulation,

kemudian tandai juga nama file test bench nya (“test_And_2_1....”). kemudian duble klik pada Simulate

Behavioral Model.

Jika proses berjalan dengan benar makan akan muncul layar hasil simulasi. Perbesar atau perkecil

diagramnya sehingga sesuai dengan tampilan pada layar. Berikut adalah gambar hasil simulasinya:

Double klik

Tandai

Tandai

Zoom in/ out

Marker

Kondisi pada marker

Port input dan output

Page 12: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 11

Percobaan I. PerancanganGerbang Logika Dasar

Berikut adalah langkah-langkah untuk membuat program VHDL untuk mendesain sebuah gerbang AND

yang mempunyai 2 masukan:

1. Buatlah sebuah project baru dengan nama “P1_AND_2_1”. Untuk detail konfigurasi project

sesuaikan dengan contoh yang telah diberikan.

2. Buat dan sisipkan file VHDL desain gerbang AND seperti pada contoh yang dijelaskan

sebelumnya dengan nama “AND_2_1”.

3. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

4. Tutuplah project tersebut.

Ulangi langkah-langkah diatas untuk mendesain sebuah gerbang OR yang mempunyai 2 masukan. Nama

project: “P1_OR_2_1”, Nama file VHDL: “OR_2_1”.

Ulangi langkah-langkah diatas untuk mendesain sebuah gerbang XOR yang mempunyai 2 masukan.

Nama project: “P1_XOR_2_1”, Nama file VHDL: “XOR_2_1”.

Page 13: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 12

Percobaan II. Penulisan Test Bench

Berikut adalah langkah-langkah untuk membuat sebuah VHDL test bench untuk menguji desain program

untuk sebuah gerbang AND yang mempunyai 2 masukan:

1. Buka kembali project “P1_AND_2_1” yang telah dibuat sebelumnya.

2. Buat dan sisipkan file test bench VHDL dengan nama “test_AND_2_1”.

3. Tuliskan kode program untuk menjelaskan model sinyal yang akan diberikan pada port-port

masukan.

4. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

5. Jalankan Simulasi Behavior. Periksa apakah sinyal pada port output sesuai dengan karakteristik

gerbang AND. Jika tidak telusuri dimana terjadi kesalahan.

6. Tutuplah project tersebut.

Ulangi langkah-langkah diatas untuk mendesain sebuah test bench untuk menguji gerbang OR yang

telah dibuat pada project “P1_OR_2_1” sebelumnya.Nama file test bench tersebut: “test_OR_2_1”.

Ulangi langkah-langkah diatas untuk mendesain sebuah test bench untuk menguji gerbang XOR yang

telah dibuat pada project “P1_XOR_2_1” sebelumnya. Nama file test bench tersebut: “test_XOR_2_1”.

Page 14: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 13

Percobaan III. Rangkaian Kombinasional

Gambar berikut adalah sebuah rangkaian kombinasional AND OR INVERT (AOI) yang sering digunakan.

Gerbang AOI tersusun dari 2 buah gerbang AND 2 masukan dan sebuah gerbang NOR 2 masukan.

Berikut adalah langkah-langkah untuk merancang project untuk rangkaian AOI:

1. Buatlah sebuah project baru dengan nama “P3_AOI_1”. Untuk detail konfigurasi project

sesuaikan dengan contoh yang telah diberikan.

2. Buat dan sisipkan file VHDL desain rangkaian AOI, namailah file tersebut dengan “AOI_1”.

3. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

4. Buat dan sisipkan file test bench VHDL dengan nama “test_AOI_1”

5. Jalankan Simulasi Behavior. Periksa apakah sinyal pada port output sesuai dengan karakteristik

rangkaian AOI. Jika tidak telusuri dimana terjadi kesalahan.

6. Tutuplah project tersebut.

Berikut adalah rangkaian AOI yang disusun dengan gerbang-gerbang dasar. Perhatikan bahwa gerbang

NOR diganti dengan gerbang OR dan NOT. Rangkaian tersebut juga dilengkapi dengan 3 buah signal

internal AB, CD dan O.

Signal-signal tersebut tidak akan muncul sebagai input maupun output, melainkan didefinisikan didalam

architecture. Perhatikan contoh baris program berikut:

architecture Arch2 of AOI is

signal AB, CD, O: STD_LOGIC;

begin

A

C

B

D

F

A

C

O B

D

AB

CD

F

Page 15: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 14

AB <= A and B;

.

.

.

O <= AB or CD;

.

.

.

end Arch2;

Berikut adalah langkah-langkah untuk merancang project untuk rangkaian AOI yang tersusun dari

gerbang-gerbang dasar dan menggunakan signal:

1. Buatlah sebuah project baru dengan nama “P3_AOI_2”. Untuk detail konfigurasi project

sesuaikan dengan contoh yang telah diberikan.

2. Buat dan sisipkan file VHDL desain rangkaian AOI baru, namailah file tersebut dengan “AOI_2”.

3. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

4. Buat dan sisipkan file test bench VHDL dengan nama “test_AOI_2”

5. Jalankan Simulasi Behavior. Periksa apakah sinyal pada port output sesuai dengan karakteristik

rangkaian AOI. Jika tidak telusuri dimana terjadi kesalahan.

6. Tutuplah project tersebut.

Page 16: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 15

Percobaan IV. Rangkaian Kombinasinal Lanjutan

Gambar berikut adalah sebuah rangkaian kombinasional yang terdiri dari tiga buah gerbang AND dan

sebuah gerbang OR.

Gambar 4.1 Rangkaian kombinasinal berulang

Berikut adalah kode program untuk rangkaian diatas, dimana kita akan menulis kode untuk gerbang

AND hanya sekali dan didefinikan dalam bagian komponent. Kemudian kode tersebut kita panggil ulang

sebanyak tiga kali untuk mewakili 3 (tiga) buah gerbang AND.

PROGRAM and_2_1

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

architecture Behavioral of Komb_1 is

component and_2_1

port ( x : in STD_LOGIC; y : in STD_LOGIC; z : out STD_LOGIC );

end component;

signal BC, AC, AB : STD_LOGIC;

begin

G1 : and_2_1 port map (B, C, BC);

G2 : and_2_1 port map (C, A, AC);

G3 : and_2_1 port map (A, B, AB);

X <= BC or AC or AB;

end Behavioral;

Berikut adalah langkah-langkah untuk merancang project untuk rangkaian pada gambar 4.1:

1. Buatlah sebuah project baru dengan nama “P4_KOMB_1”. Untuk detail konfigurasi project

sesuaikan dengan contoh yang telah diberikan.

2. Buat file VHDL untuk rangkaian gambar 4.1 seperti contoh yang telah diberikan. Namailah file

tersebut dengan “KOMB_1”.

Page 17: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 16

3. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

4. Buat dan sisipkan file test bench VHDL dengan nama “test_KOMB_1”

5. Jalankan Simulasi Behavior. Periksa apakah sinyal pada port output sesuai dengan karakteristik

rangkaian tersebut. Jika tidak telusuri dimana terjadi kesalahan.

6. Tutuplah project tersebut.

Gambar berikut adalah sebuah rangkaian Full Adder yag tersusun dari gerbang-gerbang dasar.

kombinasional yang terdiri dari tiga buah gerbang AND dan sebuah gerbang OR.

Gambar 4.2 Rangkaian kombinasinal berulang

Berikut adalah langkah-langkah untuk merancang project untuk rangkaian pada gambar 4.2:

1. Lengkapi gambar 4.2 dengan signal-signal, berilah notasi sesuai dengan keinginanmu.

2. Buatlah sebuah project baru dengan nama “P4_KOMB_2”. Untuk detail konfigurasi project

sesuaikan dengan contoh yang telah diberikan.

3. Buat file VHDL untuk rangkaian gambar 4.2 seperti contoh yang telah diberikan. Namailah file

tersebut dengan “KOMB_2”.

4. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

5. Buat dan sisipkan file test bench VHDL dengan nama “test_KOMB_2”

6. Jalankan Simulasi Behavior. Periksa apakah sinyal pada port output sesuai dengan karakteristik

rangkaian tersebut. Jika tidak telusuri dimana terjadi kesalahan.

7. Tutuplah project tersebut.

Page 18: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 17

Page 19: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 18

Percobaan V. Rangkaian Tersinkronisasi oleh Clock Bagian 1

Perhatikan rangkaian D flip-flop dan tabel kebenarannya berikut ini, rangkaian tersebut hanya akan

merespon input D hanya pada saat transisi clock naik atau lebih dikenal dengan Positive Going Trigger

(PGT). Hal ini diperlukan untuk meng-sinkron-kan respon dari flip-flop jika digunakan lebih dari satu flip-

flop seperti rangkaian register.

Gambar 5.1 D Flip-flop dan table kebenarannya

Berikut adalah command yang sering digunakan untuk mendeklarasikan penggunaan clock didalam

architechture:

Process (clock)

Begin

If clock’event and clock=’1’ then

Q <= D;

Qb <= not D;

End if;

End process;

Process adalah suatu bagian dari architechture dari program VHDL. Didalam process, kita bias

menggunakan command atau perintah yang familiar dan biasa digunakan pada bahasa pemrograman

tingkat tinggi lainnya (seperti IF, ELSE, THEN). dalam suatu architechture boleh terdiri dari lebih dari satu

process. Berikut adalah posisi penempatan process dalam architecthure:

architechture aaa of bbb is

.

.

.

begin

program_1: process

begin

end process;

program_2: process

begin

Page 20: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 19

end process;

.

.

.

end aaa;

Berikut adalah langkah-langkah untuk merancang project untuk rangkaian D flip-flip pada gambar 5.1:

1. Buatlah sebuah project baru dengan nama “P5_CLOCK_1”. Untuk detail konfigurasi project

sesuaikan dengan contoh yang telah diberikan.

2. Buat file VHDL untuk rangkaian gambar 5.1 seperti contoh yang telah diberikan. Namailah file

tersebut dengan “CLOCK_1”.

3. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

4. Buat dan sisipkan file test bench VHDL dengan nama “test_CLOCK_1”

5. Jalankan Simulasi Behavior. Periksa apakah sinyal pada port output sesuai dengan karakteristik

rangkaian tersebut. Jika tidak telusuri dimana terjadi kesalahan.

6. Tutuplah project tersebut.

Perhatikan juga rangkaian JK flip-flop dan table kebenarannya berikut ini, rangkaian tersebut juga hanya

akan merespon input J dan K hanya pada saat transisi Clock naik. Hal ini diperlukan untuk meng-sinkron-

kan respon dari flip-flop jika digunakan lebih dari satu flip-flop seperti rangkaian Counter.

Gambar 5.2 JK flip-flop dan table kebenarannya

Berikut adalah command yang sering digunakan untuk mendeklarasikan penggunaan clock didalam

architechture:

Process (clock)

signal kondisi: std_logic;

Begin

if clock’event and clock=’1’ then

if J=’1’ and K=’1’ then kondisi <= not kondisi;

elsif J=’1’ and K=’0’ then kondisi <= ‘1’;

elsif J=’0’ and K=’1’ then kondisi <= ‘0’;

end if;

end if;

end process;

Page 21: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 20

Q <= kondisi;

Berikut adalah langkah-langkah untuk merancang project untuk rangkaian D flip-flip pada gambar 5.2:

1. Buatlah sebuah project baru dengan nama “P5_CLOCK_2”. Untuk detail konfigurasi project

sesuaikan dengan contoh yang telah diberikan.

2. Buat file VHDL untuk rangkaian gambar 5.2 seperti contoh yang telah diberikan. Namailah file

tersebut dengan “CLOCK_2”.

3. Lakukan pengecekan syntax. Apabila ada kesalahan, perbaiki, simpan kembali file perubahan

dan lakukan pengecekan ulang. Ulangi sampai tidak ada lagi kesalahan syntax.

4. Buat dan sisipkan file test bench VHDL dengan nama “test_CLOCK_2”

5. Jalankan Simulasi Behavior. Periksa apakah sinyal pada port output sesuai dengan karakteristik

rangkaian tersebut. Jika tidak telusuri dimana terjadi kesalahan.

6. Tutuplah project tersebut.

Page 22: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 21

Percobaan VI. Rangkaian Tersinkronisasi oleh Clock Bagian 2

Rangkain berikut merupakan sebuah counter mod 6 yang diturunkan dari counter mod 8 dengan meng-

clear-kan isi semua flip-flop ketika mencapai hitungan enam (110).

Gambar 6.1 Counter Mod 6

Untuk mendesain sebuah JK flip-flop yang mempunyai kemampuan untuk meng-clear-kan isi yang

tersimpan didalamnya, diperlukan sedikit modifikasi program JK flip-flop pada modul sebelumnya.

Perhatikanlah program modifikasi berikut ini.

Process (clear, clock)

signal kondisi: std_logic;

Begin

if clear = ‘1’ then

kondisi <= 0;

else

if clock’event and clock=’1’ then

if J=’1’ and K=’1’ then kondisi <= not kondisi;

elsif J=’1’ and K=’0’ then kondisi <= ‘1’;

elsif J=’0’ and K=’1’ then kondisi <= ‘0’;

end if;

end if; -- clock

end if; -- clear

end process;

Q <= kondisi;

Pakai Clock untuk gerbang D ff dan JK ff, tambahkan reset, preset, dll (SIMPLE PROGRAM).

Page 23: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 22

Berikan tugas untuk mendesain ripple counter mode 10 dengan program PROSES.

Berikan tugas untuk mendesain ripple counter mode 10 dengan program terstrukture (component).

Gambar berikut adalah sebuah rangkaian kombinasional yang terdiri dari tiga buah gerbang AND dan

sebuah gerbang OR.

Page 24: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 23

Percobaan VII. Rangkaian Tersinkronisasi oleh Clock Bagian 3

Mux, demux, decoder, encoder dll (salah satu)

Page 25: Modul Praktikum Elektronika Digital v.3

Modul Praktikum Elektronika Digital 24

Percobaan VIII. Implementasi