• Tidak ada hasil yang ditemukan

Percobaan IV PENGENALAN VHDL

N/A
N/A
Protected

Academic year: 2021

Membagikan "Percobaan IV PENGENALAN VHDL"

Copied!
9
0
0

Teks penuh

(1)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

Percobaan IV

PENGENALAN VHDL

IV.1 Tujuan

1. Mempelajari elemen-elemen dasar VHDL yang diimplementasikan dalam Warp. 2. Membuat aplikasi sederhana menggunakan VHDL.

3. Mensimulasikan aplikasi tersebut.

IV.2 Pengantar

Berikut ini akan dijelaskan elemen dasar yang dari VHDL yang meliputi : identifier, data object, data types, entity, architecture dan package.

Identifier

Identifier dalam VHDL terdiri dari satu atau lebih karakter yang berupa karakter huruf, angka atau garis bawah dengan aturan berikut :

 Karakter yang diperbolehkan adalah huruf besar(A..Z), huruf kecil(a..z), huruf(0..9) dan garis bawah(_).

 Karakter pertama harus berupa huruf.

 Karakter terakhir tidak diperbolehkan berupa garis bawah(_), penggunaan 2 karakter garis bawah(_) juga tidak diperbolehkan.

 Penggunaan huruf besar dan huruf kecil dianggap sama (tidak case sensitive).  Komentar dalam VHDL dimulai dengan karakter --.

Data Objects

Dalam VHDL dikenal 3 obyek data yaitu : Konstanta, Variable dan Signal  Konstanta

Obyek konstanta dapat menyimpan sebuah nilai yang didefiniskan saat deklarasi konstanta. Nilai yang sudah didefinisikan tersebut tidak dapat diubah selama proses desain.

Deklarasi : constant identifier[,identifier..]:type[:value]; Contoh : constant bus_width: integer := 8;

 Variabel

Obyek variabel dapat menyimpan sebuah nilai yang diberikan saat desain, dan nilai tersebut dapat dirubah kapanpun saat desain.

Deklarasi : variable identifier[,identifier..]:type[:value]; Contoh : variable ctrl_bits: std_logic;

 Signal

Obyek Signal bisa disamakan dengan variable, perbedaannya adalah bahwa signal dapat menyimpan ataupun melepaskan nilai logika, sedangkan variable tidak dapat, oleh karena itu, signal dapat diwujudkan dalam elemen memori.

Deklarasi : signal identifier[,identifier..]:type[:value]; Contoh : signal con: std_logic;

(2)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

Data Types

Pada warp, sudah didefinisikan beberapa type data yang sering dipakai, yaitu : integer, boolean, bit, character, string, bit_vector, std_logic dan std_logic_vector.

Entity

VHDL tersusun oleh pasangan entity dan architecture-nya, entity mendefinisikan desain I/Oatau interface-nya, sedangkan architecture menyatakan kandungan atau kelakuan dari desain. Pasangan entity dan architecture dapat digunakan sebagai desain yang lengkap atau dapat digunakan juga sebagai komponen.

Kode program dari deklarasai entity adalah :

Nama entity yang sudah dibuat akan dijadikan referansi untuk architecture-nya. Entity mendeklarasikan port, port adalah obyek dari kelas signal yang didefinisikan pada entity. Masing-masing port memiliki nama port, mode dan type.

Type yang dipakai pada port adalah in (default), out, inout dan buffer. Architecture

Architecture pada suatu desain menggambarkan tentang kelakuan/proses serta struktur dari entity.

Kode program dari deklarasi architecture adalah:

Package

Sebuah package dapat mendeklarasikan komponen berupa pasangan entity dan architecture, type, konstanta atau fungsi agar item-item tersebut dapat digunakan pada desain yang lain. Package sering kali dituliskan sebelum entity dan architecture. Agar sebuah desain dapat menggunakan package yang sudah dibuat, maka pada desain tersebut harus memanggil package yang akan dipakai dengan menggunakan klausa USE

ENTITY entity-name IS PORT

[signal][sig-name,..]:[direction] type; [;signal[sig-name,..]:[direction] type] . . ); END entity-name;

ARCHITECTURE architecture-name OF entity-name IS [type-declarations] [signal-declarations] [constant-declarations] BEGIN [architecture definition] END architecture-name;

(3)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

IV.3 Flip – Flop

IV.3.a Alat dan Bahan

1. Personal Computer 1 Buah.

2. Software WARPR 6.3 Galaxy 3. Software Active-HDL Simulator

IV.3.b Percobaan

Membuat AND 2 Input menggunakan VHDL

Pada percobaan ini akan dibuat sebuah aplikasi gerbang AND dengan signal input input(0) dan input(1) dan signal output y, seperti ditunjukkan gambar V-1

Gambar IIV-1 AND 2 input

1. Bukalah Sofware Galaxy

2. Buat Project baru melalui menu File > New, kemudian pilih Project [Target - Device], kemudian klik Ok

3. Pilih VHDL pada Project Type. 4. Masukkan nama Project-nya “and3in”

5. Masukkan Project Path pada direktori :”C:\Rangkaian Logika\VHDL\and3in” 6. Klik Next untuk menuju Add Files Wizard. Add Files Wizard digunakan untuk

menambahkan file VHDL kedalam Project. Abaikan saja dialog tersebut dan klik Next untuk menuju ke Target Device Wizard.

7. Pilihlah device nya dengan cara memilih SPLD (Small PLDs) ->c22v10, pada Package pilih PALC22V10D-25PC (gambar V-2)

8. Klik Finish untuk membuat project 9. Klik Yes untuk menyimpan project 10. Buatlah file baru melalui File -> New

11. Pilih Text File, lalu klik Ok, kemudian akan muncul text editor seperti pada gambar V-2

(4)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

Gambar IIV-3 Editor yang masih kosong

12. Simpan file kosong tersebut melalui File -> Save, letakkan dalam satu direktori dengan file project “and3in.pfg” dan beri nama file tersebut “and2in.vhd

13. Berikutnya adalah menuliskan entity, kita akan membuat entity untuk gerbang AND dengan 2 input, entity mendeklarasikan nama, arah dan type data dari masing-masing port yang akan digunakan. Tuliskan entity berikut ini :

14. Langkah berikutnya adalah menuliskan Architecture dari AND 2 input yang kita buat. Architecture mendefinisikan kelakuan dari komponen yang dibuat, dan letaknya selalu berada setelah entity, ketikkan architecture AND 2 input berikut :

entity and2in is port(

input: in std_logic_vector(1 downto 0); output: out std_logic);

end and2in;

architecture archand2in of and2in is begin

and2in: process (input) begin

if (input = "00") then output <= '0';

elsif (input = "01") then output <= '0';

elsif (input = "10") then output <= '0';

elsif (input = "11") then output <= '1';

end if; end process; end archand2in;

(5)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

15. Langkah berikutnya adalah menuliskan Package dari gerbang AND 2 input tadi, tuliskan Package dengan nama and2in_pkg dengan kode program dibawah ini! , letakkan sebelum entity !

16. Langkah berikutnya adalah menuliskan Library, ketikkan library sesuai dengan kode program dibawah ini !, letakkan satu sebelum Package dan satu lagi sebelum Entity !

Membuat AND 3 Input menggunakan VHDL

Pada percobaan diatas, kita sudah membuat gerbang AND 2 input dan memasukkannya kedalam package dengan nama and2in_pkg. Pada percobaan ini kita akan membuat gerbang AND 3 input dengan mempergunakan AND 2 input yang sudah dibuat tersebut, secara visual dapat digambarkan seperti gambar V-4

Gambar IIV-4 AND 3 input menggunakan AND 2 input

Dari gerbang AND 2 input teresebut kita perlu membuat program lagi untuk merangkaikannya menjadi gerbang AND 3 input.

17. Buat file text baru, dan beri nama “and3in.vhd” , letakkan dalam folder yang sama dengan file Project “and3in.pfg” !

18. Tuliskan library, entity dan architecture-nya dengan kode program berikut ini : library ieee;

use ieee.std_logic_1164.all; package and2in_pkg is

component and2in

port(input: in std_logic_vector(1 downto 0); output: out std_logic);

end component; end and2in_pkg;

(6)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

19. Langkah selanjutnya adalah menambahkan file VHDL “and2in.vhd” dan “and3in.vhd” kedalam project. Tambahkan file tersebut melalui Project -> Add Files… , apabila sudah selesai, klik Ok

20. Langkah selanjutnya adalah menjadikan file “and3in.vhd” sebagai Top Level. Buatlah file “and3in” sebagai top level melalui klik kanan kemudian pilih Set Top 21. Agar proses kompilasi berjalan sesuai dengan yang diinginkan, perlu dilakukan

setting pada compiler, Klik Project -> Compiler Options…, pada I/O , Unused Outputs: pilih “0”, dan pada Simulation , Timing Model, pilih “Active-HDLSIM/Active-VHDL”

22. Kemudian Compile project tersebut melalui Compile -> Project

Mensimulasikan dengan Active-HDL Sim

1. Bukalah aplikasi Active-HDL Sim dari Tools -> Active-HDL Sim

2. Bukalah file and3in.vhd pada direktori “C:\Rangkaian Logika\VHDL\and3in\vhd” melalui menu File -> Open VHDL

3. Kemudian akan muncul jendela seperti gambar dibawah ini : library ieee;

use ieee.std_logic_1164.all; use work.and2in_pkg.all;

entity and3in is port (

a,b,c: in std_logic; y: out std_logic);

attribute pin_numbers of and3in:entity is " a:1 b:3 c:5 y:15 ";

end and3in;

architecture archand3in of and3in is signal con : std_logic;

begin and_1: and2in port map ( input(0) => a, input(1) => b, output => con ); and_2: and2in port map ( input(0) => con, input(1) => c, output => y ); end archand3in;

(7)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

Gambar IIV-5 Active-HDL Sim

4. Tambahkan sinyal yang mau disimulasikan dengan cara memilih Waveform -> Add Signals…, tambahkan sinyal a, b, c dan y kedalam simulasi dengan cara double-klik

Gambar IIV-6 Memilih Sinyal

5. Setelah selesai klik Add

6. Pada sinyal a, set Stimulator dengan cara Klik-kanan pilih Stimulators…, pada Stimulator type: pilih Clock , panjang gelombangnya beri nilai 2000ns, kemudian klik Apply , setelah selesai, klik Close

(8)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

Gambar IIV-7 Stimulators

7. Dengan cara yang sama, set stimulators untuk sinyal b dengan tipe Clock dengan panjang gelombang 1000ns

8. Dengan cara yang sama, set stimulators untuk sinyal c dengan tipe Clock dengan panjang gelombang 500ns

9. Pada toolbar isian nilai 100ns, isikan nilai baru 4000ns 10. Pada toolbar, klik Run Until

11. Dengan mengatur gambar melalui Zoom in dan Zoom out maka anda akan mendapatkan gambar simulasi berikut ini :

Gambar IIV-8 Hasil simulasi

12. Dari hasil simulasi diatas, lengkapi tabel berikut :

a b c y 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Tabel IIV-1

(9)

Praktikum Rangkaian Logika Laboratorium Komputer dan Digital B401/B201

IV.3.c Pertanyaan

1. Perhatikan kode berikut ini :

Jelaskan maksud dari kode: “input:in std_logic_vector(1 down to 0)”! Jelaskan perbedaannya dengan kode : “output: out std_logic” !

2. Dengan menggunakan Package and2in_pkg diatas, buatlah aplikasi baru untuk gerbang gate 4 input !

3. Buatlah kode program aplikasi Demultiplexer 2 to 4 dengan menggunakan VHDL, buat menjadi sebuah package !

entity and2in is port(

input: in std_logic_vector(1 downto 0); output: out std_logic);

Gambar

Gambar IIV-1 AND 2 input
Gambar IIV-4 AND 3 input menggunakan AND 2 input
Gambar IIV-6 Memilih Sinyal
Gambar IIV-8 Hasil simulasi

Referensi

Dokumen terkait

belum mematuhi standar operasional prosedur (SOP) yang dibuat untuk memperlancar penyelesaian pelayanan. selain itu badan Lingkungan Hidup Kota Semarang belum dalam

Dosis harian yang di anjurkan 25 mg /kg BB, sedangkan untuk pengobatan intermiten 3 kali seminggu di berikan dengan dosis 35 mg / kg BB.. Streptomisin (

(2017) yang menunjukkan bahwa hasil biji kacang ercis berkorelasi positif kuat dengan karakter jumlah cabang tanaman, jumlah ruas, panjang ruas, panjang polong,

Mengikut kedudukan geografinya serta taburan penduduk kita dapat mengetahui yang kebanyakannya sekolah Melayu telah ditubuhkan di desa kerana adalah dasar British untuk

Sebagai penunjang tema singkong, pada hari rabu yang bertepatan dengan tanggal 26 September 2018 Kelompok Bermain Istiqlal mengolah singkong yang bertujuan memperkenalkan

Penelitian ini bertujuan untuk: 1) Mengetahui tingkat kebisingan lalu lintas dan sebarannya di sepanjang Jalan Cik Di Tiro;2) Mengetahui hubungan antara jumlah

observasi/pengamatan terhadap proses pelaksanaan upah dapat disimpulkan bahwa pelaksanaan pengawasan sudah dilakukan dengan cukup baik. Sesuai dengan lebih banyaknya

Tanggapan  terhadap  pemaparan  Kelompok  Kerja  1  terfokus  pada  beberapa  masalah,  yang  mencakup  keprihatinan  bahwa  standar  dan  kriteria  yang  didukung