Pengenalan VHDL dalam konfigurasi FPGA / ASIC

VHDL kepanjangan dari Very High Speed Integrated Circuit (VHSIC) Hardware Description Language. VHDL merupakan bahasa resmi untuk menspesifikasi behavior (watak) dan structure (struktur) dari rangkaian digital digunakan dalam Field Programmable Gate Array (FPGA) atau Application Specific Integrated Circuit (ASIC), mirip bahasa Pascal namun VHDL bukan bahasa pemrograman. Ada bahasa deskripsi perangkat keras yang lain selain VHDL, yaitu Verilog, ABEL, Handel-C, dan System-C. Namun yang paling sering digunakan adalah VHDL dan Verilog.

VHDL merupakan case insensitive, dimana penamaan dan pelabelan harus mulai dengan huruf baik kecil maupun besar sama saja, terdiri dari hanya karakter alfanumerik, dan dapat mengandung underscore, tidak boleh ada karakter lain, tidak boleh mempunyai dua underscore berturutan dan tidak boleh diakhiri dengan underscore. Semua nama dan label yang diberikan di entity dan architecture harus unik, tidak boleh sama.

VHDL merupakan bahasa format bebas, yang mengijinkan penggunaan spasi untuk mempermudah pembacaan. Penulisan komen dimulai dengan “–” dan untuk mengakhiri sebuah entity, architecture atau proses sekuensial menggunakan perintah end. Perlu diperhatikan, satu file terdiri dari entity nama file dan nama file harus sesuai dengan nama entity.

Deskripsi VHDL terdiri dari dua bagian pernyataan entity dan pernyataan architecture. Entity mendeskripsikan antarmuka (misal masukan dan keluaran), sedangkan architecture mendeskripsikan implementasi rangkaian.

Pernyataan entity memerlukan nama dengan menentukan port masukan dan keluaran. Penentuan port mengandung nama, mode, dan tipe data. Mode port terdiri dari 4 jenis, yaitu IN (driver di luar entity dan dapat dibaca), OUT (driver di dalam entity dan tidak dapat dibaca), INOUT (driver di dalam dan di luar entity, dan dapat dibaca), dan BUFFER (driver di dalam entity dan dapat dibaca).

Pernyataan Architecture memerlukan nama, biasanya namanya disesuaikan dengan nama modelnya, referensi nama terkait di dalam entity, menentukan fungsi dari entity menggunakan satu atau beberapa jenis implementasi, dan architecture terkait dengan entity, sehingga memungkinkan banyak architecture untuk satu entity, tetapi hanya satu yang terhubung sekali waktu.

Model architecture VHDL terdiri dari fungsi functional  logic, behavioral terdiri informasi pewaktuan, structural  terdiri dari component dan wire, dan physical  menentukan informasi paket. Setiap model dapat digunakan untuk mendeskripsikan fungsionalitas dari rangkaian logik. Model bukanlah saling eksklusif, namun saling terkait.

Penyambungan dalam VHDL dapat berupa wire atau bus  (kumpulan wire). Wire dapat dituliskan sebagai SIGNAL   a:  STD_LOGIC;, bus (dengan 8 wire) dapat dituliskan sebagai SIGNAL   bus8:   STD_LOGIC_VECTOR(7 DOWNTO 0);, sedangkan bus (dengan 16 wire) dapat dituliskan dengan SIGNAL   bus16: STD_LOGIC_VECTOR(15 DOWNTO 0);. Wire digunakan untuk menghubungkan antar entity dan dapat digunakan dalam model architecture structural.

Contoh:

ENTITY  contoh IS

PORT ( x1, x2, x3   : IN        BIT ;   f   : OUT   BIT ) ;

END;

ARCHITECTURE fungsilogik OF contoh IS

BEGIN

f <= (x1 AND x2) OR (NOT x2 AND x3) ;

END;

Penulisan END bisa dituliskan dengan menuliskan END <nama ENTITY> untuk entity, dan END <nama ARCHITECTURE> untuk architecture.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: