Tags : chipFPGAProgrammableMCS-51TeknologiAlteraPLCMikrokontrolerrobotMikroprosesorPemrograman8051VHDL
Home » FPGA » Decisions

Decisions

Oleh , 23 Juli 2009.

gurungajarIf-then-else

Di dalam VHDL dikenal sebuah elemen algoritma yang sederhana yaitu percabangan. Pernyataan (statement) percabangan memungkinkan suatu pernyataan dieksekusi hanya jika kondisi terpenuhi atau tidak terpenuhi. Salah satu bentuk percabangan dapat menggunakan pernyataan “if”. Contohnya sebagai berikut:

if (condition) then

… statements

end if;

Dalam contoh di atas, pernyataan (condition) menggunakan ekspresi boolean. Misalnya berbentuk a>b, a<b atau a=b. Sekedar catatan, operator pembanding untuk menyatakan nilai yang sama diwujudkan dengan simbol “=” dan bukan “==”. Simbol “==” biasanya digunakan untuk beberapa bahasa pemrograman lain dan bukan dalam VHDL. Misalnya, 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;

Selanjutnya, bila bentuk percabangan lebih dari satu, maka menggunakan pernyataan “if…else…”. Aturan penulisannya sebagai berikut:

if (condition) then

… statements

else

… statements

end if;

Sedangkan bila diterapkan untuk suatu kasus, maka penulisannya sebagai berikut:

if ( a = b ) then

out1 <= ‘1’;

else

out1 <= ‘0’;

end if;

Akhirnya, bisa disimpulkan bahwa percabangan menggunakan “if…else…” yang lebih dari satu dapat dituliskan sebagai berikut :

if (condition1) then

… statements

elsif (condition2)

… statements

… more elsif conditions & statements

else

… statements

end if;

Contohnya sebagai berikut :

if (a > 10) then

out1 <= ‘1’;

elsif (a > 5) then

out1 <= ‘0’;

else

out1 <= ‘1’;

end if;

Case

Bentuk “if….else…” penggunaannya relatif mudah untuk mendefinisikan satu atau lebih bentuk percabangan. Namun akan menjadi rumit dan tidak praktis untuk banyak percabangan. Oleh karena itu, digunakanlah pernyataan “case”. Pernyataan “case” ini dipakai untuk pendekatan percabangan yang tidak menggunakan ekspresi boolean dalam setiap kejadian. Hal ini sangatlah bermanfaat untuk mendefinisikan diagram keadaan atau untuk perpindahan khusus diantara keadaan, dengan menggunakan tipe pencacah. Sebuah contoh sederhana untuk pernyataan “case” sebagai berikut :

case testvariable is

when 1 =>

out1 <= ‘1’;

when 2 =>

out2 <= ‘1’;

when 3 =>

out3 <= ‘1’;

end case;

Contoh pernyataan di atas dapat lebih disederhanakan menjadi berikut :

case test is

when 0 to 4 => out1 <= ‘1’;

Namun, ekspresi boolean beserta persamaannya bisa juga tetap dipakai dalam percabangan menggunakan pernyataan “case”. Contoh penulisannya sebagai berikut:

case test is

when 0 => out1 <= ‘1’;

when others => out1 <= ‘0’;

end case;

Demikian sekelumit pembahasana mengenai algoritma percabangan di dalam VHDL. Untuk tulisan mendatang, akan disajikan tentang algoritma perulangan beserta syntaxnya yang terdapat dalam VHDL.

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

· kirim komentar

Komentar

Tambahkan komentar anda di bawah, atau trackback dari situs anda. Berlangganan komentar ini melalui RSS.

Silahkan berdiskusi yang padat dan berisi. Tetap pada topik. Dilarang spam.