Artikel ini merupakan kelanjutan dari
artikel sebelumnya, “Mengenal VHDL”. 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;
Sumber;
1. Kevin Skahill, “VHDL for
Programmable Logic”, Addison Wesley
2. Stefan Sjoholm & L.
Lindh, “VHDL for Designers” Prentice Hall
Tidak ada komentar:
Posting Komentar