Kamis, 05 Juni 2014

VHDL



VHDL

(Very High Speed Integrated Circuit Hardware Description Language)
(Sequential Statement)

A.    Mengenal VHDL
VHDL ( Very High Speed Integrated Hardwere Description Language ). Konsep serta syntax banyak diperlukan untuk mengerti bagaimana rancangan VHDL sebagai bagian dari pemrograman FPGA. Dalam kebanyakan kasus, keputusan memilih dan menggunakan kode VHDL daripada kode Verilog atau System C, sangat tergantung pada pilihan perancang itu sendiri dan lebih kepada ketersediaan software pendukung serta kebutuhan perusahaan.
Lebih dari satu dekade, terjadi perdebatan panjang yang tak berkesudahan diantara komunitas pengguna VHDL dengan Verilog. Mereka berdebat mengenai kode mana yang terbaik untuk digunakan dan kode apa yang lebih lengkap dalam hal aturan penulisannya. Memang diantara kedua kode tersebut memiliki perbedaan yang cukup signifikan. Namun secara filosofi konsep, perbedaan dasar dari VHDL dengan Verilog adalah mengenai konteks dari kedua bahasa itu sendiri. Verilog berasal dari tradisi “bottom-up” yang telah sering digunakan dalam industri IC dalam hal rancangan dasar IC. Sedangkan kode VHDL dikembangkan lebih kepada persepektif “top-down”. Tentu saja, banyak perbedaan umum dan luas dalam konteks saat ini. Namun, secara jelas dan nyata, perbedaannya dapat terlihat pada syntax dasar dan metode dari kedua kode tersebut.
VHDL adalah kemampuannya untuk menggunakan gabungan level dari model yang memiliki arsitektur yang berbeda seperti ditunjukkan sebagai berikut :
http://ndoware.com/wp-content/uploads/2009/06/konsep-VHDL.JPG
Hal tersebut memang bukanlah keunikan atau ciri khas VHDL. Namun, pada kenyataannya kode Verilog juga memiliki konsep sama walaupun hanya terdapat dalam sebuah “module”. Meskipun demikian, keungulan itu secara eksplisit didefinisikan dalam VHDL dan secara praktis digunakan bersama oleh rancangan multi-level dalam VHDL. Pembagian sebuah model ke dalam beberapa bagian juga merupakan keuggulan lain dari VHDL. Misalnya, bagian interface (dalam VHDL dikenal sebagai “entity’) dan bagian kelakuan atau behaviour (dalam VHDL dikenal sebagai “architecture”). Bagian-bagian tersebut adalah pendekatan praktis yang luar biasa untuk bentuk model yang memiliki multiple behaviour dalam sebuah interface. Selain itu bentuk model tersebut memungkinkan terjadi pertukaran dan implementasi multiple secara terus menerus. Hal inilah salah satu pembeda VHDL dengan Verilog.
Entity 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.
Ada beberapa dasar-dasar serta teknik penulisan kode dalam VHDL. Beberapa diantaranya adalah entity, architcture, basic type variables and operator, decisions, loops, dsb. Terdapat pula berkas-berkas yang nantinya berkas ini dapat digunakan sewaktu-waktu untuk berbagai keperluan tanpa harus menulisnya ulang. Biasanya berkas ini langsung disertakan menjadi satu dalam sebuah library.
Istilah library sendiri dikenal sebagai sekumpulan koleksi bermacam-macam berkas kode. Bila suatu berkas kode disimpan di dalam library maka berkas kode tersebut dapat digunakan serta dibagikan dengan rancangan yang lain.

B.     Sequential Statement
Sequential statement atau biasa disebut pernyataan percabangan yang apabila suatu kondisi atau inputan yang akan diproses memiliiki suatu syarat yang terpenuhi dan menghasilkan sesuatu output yang sama atau berbeda tetapi tetap pada satu tujuan output yang akan dihasilkan dari proses percabangan tersebut.
Salah satu bentuk sequential statement dapat menggunakan If. Intruksi if dikategorikan menjadi 3 bagian yaitu :
a.       Pernyataan percabangan satu kondisi (if… then… end if;)
Struktur pernyataannya adalah :

if (condition) then
… statements
end if;

(condition) menggunakan ekspresi boolean. Misalnya berbentuk a > b, a < b atau
a = b.
operator pembanding untuk menyatakan nilai yang sama diwujudkan dengan simbol “=” dan bukan “==”. Simbol “==” biasanya digunakan untuk beberapa bahasa pemrograman lain dan bukan dalam VHDL.
Contoh,:jika terdapat 2 sinyal yang memiliki nilai sama dan hasil outputnya “1” atau “tinggi”, dapat dituliskan sebagai berikut:
if ( a = b ) then
out1 <= ‘1’;
end if;

b.      Pernyataan percabangan lebih dari satu kondisi
Pernyataan percabangan yang lebih dari satu kondisi menggunakan intruksi if….then…else, Aturan penulisannya adalah sebagai berikut:

if (condition) then
… statements
else
… statements

Contohnya :
if ( a = b ) then
out1 <= ‘1’;
else
out1 <= ‘0’;
end if;


c.       Pernyataan percabangan lebih dari dua kondisi   
if…then..else dapat dilakukan dengan percabangan yang lebih dari dua kondisi, aturan penulisannya adalah :

if (condition1) then
… statements
elsif (condition2)
… statements
… more elsif conditions & statements
else
… statements
end if;

contoh :
if (a > 10) then
out1 <= ‘1’;
elsif (a > 5) then
out1 <= ‘0’;








sumber : dari berbagai sumber 

Tidak ada komentar:

Posting Komentar