Tags : TeknologiMCS-518051VHDLPemrogramanAlteraProgrammablerobotchipMikroprosesorFPGAMikrokontrolerPLC
Home » FPGA » Hierarchial Design

Hierarchial Design

Oleh , 27 Juli 2009.

Pada tulisan terdahulu telah banyak membahas sedikit banyak mengenai dasar-dasar serta teknik penulisan kode dalam VHDL. Beberapa diantaranya adalah entity, architcture, basic type variables and operator, decisions, loops, dsb. Artikel kali ini akan membahas sesuatu yang baru yang masih terkait dengan VHDL yaitu membahas mengenai bagaimana membuat sebuah berkas  kode secara sederhana. 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.

Selanjutnya berkas-berkas ada 4 cara pembuatan berkas yang nantinya dapat disimpan dalam library. Keempat cara tersebut adalah

  1. Function
  2. Packages
  3. Components
  4. Procedures

Secara umum, gambaran dari keempat berkas tersebut yaitu:hirarki design

Seperti terlihat pada gambar, keempat berkas tersebut biasanya menjadi satu dalam sebuah library. Selanjutnya, library tersebut akan digunakan dalam kode utama yang terdiri atas entity dan architecture. Inilah yang disebut  rancangan bertingkat (hierarchial design) dalam VHDL. Fungsi utama dari berkas-berkas tersebut adalah untuk membuat efisien dan efektif dalam penulisan kode VHDL. Bayangkan bila tiap rangkaian dalam sebuah rancangan sistem harus dideklaraskan satu per satu. Hal itu tentu memerlukan resource yang banyak dan waktu yang lama. Belum lagi jika terdapat kesalahan. Maka proses pengecekan dan pemeriksaan kode juga butuh waktu yang tak sedikit. Oleh karena itu, dibuatlah berkas-berkas sederhana untuk menghindari hal tersebut. Selain itu dengan mempelajari berkas-berkas ini maka sebuah library dapat dibuat sesuai dengan kepentingan dan kebutuhan perancang sistem.

Packages

Bagian pertama berkas yang akan dibahas yaitu PACKAGES. Seperti terlihat pada gambar di atas, packages merupakan bagian berkas yang luas karena bisa terdiri atas berkas-berkas lain seperti component, funtion, dan procedures. Semua berkas yang terdapat dalam packages, termasuk berkas packages sendiri nantinya akan dikumpulkan menjadi satu dan disimpan dalam sebuah library.

Sedangkan struktur untuk aturan penulisan packages yaitu:

package name is

…package header contents

end package;

package body name is

… package body contents

end package body;

Seperti yang terlihat pada aturan penulisan, sebuah packages terdiri dari 2 bagian yaitu header dan body. Header adalah tempat untuk mendeklarasikan keseluruhan nama-nama berkas (baik function, procedures, atau component) yang diperlukan. Sementara body adalah tempat untuk menjabarkan lebih lanjut mengenai berkas-berkas yang tertulis di header. Perlu diingat bahwa antara haeder dan body  packages haruslah memiliki nama yang sama.

Sebagai contoh, berikut ada packages yang berisi function untuk logika yang sederhana. Bagian header packages tersebut dapat ditulis:

package new_functions is

function and10 (a,b,c,d,e,f,g,h,i,j : bit) return bit;

end

Sedangkan untuk bagian body, yaitu tempat untuk menjabarkan lebih lanjut deklarasi pada header, dapat ditulis:

package body new_functions is

function and10 (a,b,c,d,e,f,g,h,i,j : bit) return

bit is

begin

return a and b and c and d and e  and f and g and h and i and j;

end;

Bila antara bagian header dan body digabung menjadi satu, maka inilah yang disebut packages. Dan secara keseluruhan dapat ditulis berikut :

package new_functions is

function and10 (a,b,c,d,e,f,g,h,i,j : bit) return bit;

end;

package body new_functions is

function and10 (a,b,c,d,e,f,g,h,i,j : bit) return

bit is

begin

return a and b and c and d and e  and f and g and h and i and j;

end;

end;

Selanjutnya packages dapat dijadikan satu untuk kemudian disimpan dalam library. Untuk bisa membuatnya demikian, perlu ditambahkan beberapa kode dalam penulisan VHDL nya, yakni menambahkan kalimat USE (USE work.my_package.all;) di kode utama VHDL itu. Syntaxnya sebagai berikut:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

USE work.my_package.all;

ENTITY…

ARCHITECTURE…

Demikian sedikit banyak pembahasan mengenai tentang packages. Artikel selanjutnya akan membahas mengenai component, function, dan procedure.

Referensi :

  • A VHDL Primer: The Essentials, Design Recipes for FPGA by Peter Wilson, published by Newness Publications.
  • Circuit Design with VHDL by Volnei A. Pedroni, published by MIT Press.
· kirim komentar
  • BIJI SEMUT

    bagus sekali bahasannya, teruskan boss.
    jika ingin kursus langsung VHDL ada alamatnya Boss?

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.