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 :
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