Artikel ini
merupakan kelanjutan dari artikel sebelumnya, “Mengenal VHDL”. Untuk kali ini,
tulisan ini akan membahas sekelumit tentang satu kesatuan atau yang lebih
dikenal dengan entity. Entity ini merupakan salah satu contoh bentuk
satu kesatuan dan terpisah dengan bagian yang lain. Untuk selengkapnya,
beberapa uraian berikut akan menjelaskan tentang entity serta hal-hal yang
terkait di dalamnya.
A.
Definisi
Entity
Entity memberikan arti tentang bagaimana sebuah bagian rancangan
dideskripsikan di VHDL dalam hubungannya dengan model VHDL lain dan juga
memberikan nama untuk model tersebut. Di dalam entity juga diperbolehkan untuk
mendefinisikan beberapa parameter yang mengambil model menggunakan hierarki.
Kerangka dasar untuk sebuah entity digambarkan sebagai berikut :
entity <name> is
….
entity <name>;
Misalkan sebuah entity diberi nama “test”, maka kerangka entity tersebut akan menjadi :
entity test is
end entity test;
atau
entity test is
end test;
Ports
Sebuah cara atau metode untuk
menghubungkan entity secara bersama adalah menggunakan PORTS. Hal ini
didefinisikan bahwa entity menggunakan metode sebagai berikut:
port (
…list of port declarations…
);
Deklrasi port ini mendefinisikan jenis dari koneksi
dan arah yang sesuai. Misalnya, deklarasi port untuk sebuah input bit adalah 1, maka
digambarkan sebagai berikut :
in1 : in bit;
Dan jika model tersebut memiliki
2 input (in1 dan in2) dan satu output (out1), maka deklarasi ports dapat digambarkan berikut:
port (
in1, in2 : in bit;
out1 : out bit
);
Dengan menngunakan ports maka
titik koneksi diantara entities akan berlangsung dengan efektif dalam
hal proses koneksi entities satu sama lain. Selain itu, dengan
menggunakan ports akan menjadikan sinyal yang ada
menjadi efektif serta cocok digunakan dalam model VHDL.
Generics
Jika sebuah contoh memiliki
sebuah parameter, maka contoh tersebut dapat didefinisikan menggunakan generics. Deklarasi
umum dari generics ditunjukan berikut:
generic (
…list of generic
declarations…
);
Pada beberapa kasus dari generics, deklarasinya mirip
dari sebuah constant dengan bentuk yang ditunjukkan sebagai
berikut:
param1 : integer := 4;
Misalnya saja sebuah model yang
memiliki 2 generics (gain(integer) dan time_delay(time)),
keduanya dapat didefinisikan dalam sebuah entity sebagai berikut:
generic (
gain : integer := 4;
time_delay : time = 10 ns
);
Constants
Selain hal-hal yang disebutkan di atas, contoh spesifik
constant dapat dideklarasikan menggunakan metode sebelumnya sebagai berikut:
constant : rpullup : real :=
1000.0;
Contoh Entity
Untuk menggambarkan keseluruhan sebuah entity, ports dan
generics dapat digunakan secara bersama. Maka inilah sebuah contoh bentuk
entity yang lengkap, mengacu dengan beberapa contoh sebelumnya :
entity test is
port (
in1, in2 : in bit;
out1 : out bit
);
generic (
gain : integer := 4;
time_delay : time := 10 ns
);
constant : rpullup : real :=
1000.0;
end entity test;
DAFTAR
PUSTAKA
1.
Kevin
Skahill, “VHDL for Programmable Logic”, Addison Wesley
2.
Stefan
Sjoholm & L. Lindh, “VHDL for Designers” Prentice Hall
Komentar
Posting Komentar