Mengenal VHDL (bagian 2)

vhdl2Artikel 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.

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;

Demikian penjelasan singkat mengenai entity. Tulisan selanjutnya akan membahas mengenai Architecture di dalam VHDL.

Referensi : A VHDL Primer: The Essentials, Design Recipes for FPGA by Peter Wilson, published by Newness Publications

1 Respon

  1. muhsin berkata:

    oke banget, sy tunggu tulisan berikutnya.

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.