Site icon ndoWare

Process: Basic Functional Unit in VHDL

teacher1Pada tulisan sebelumnya, telah dibahas apa yang dinamakan entity dan architecture dalam konteks VHDL. Tulisan kali ini masih merupakan lanjutan tulisan sebelumnya, yakni membahas elemen-elemen di dalam VHDL. Untuk kali ini yang akan dibahas adalah PROCESS. Apa yang disebut process adalah  sebuah mekanisme atau cara untuk mengesekusi susunan pernyataan (statement) dengan urutan yang terstruktur. Pernyataan (statement) tersebut biasanya lebih dari satu dan eksekusinya terjadi secara bersamaan. Setiap process memiliki cara pendeklarasian tertentu dan biasanya berbeda satu sama lain, tergantung pernyataan yang hendak dikesekusi. Selain itu, lokasi process biasanya terletak di dalam bagian architecture.

Aturan dasar untuk penulisan process adalah sebagai berikut:

process sensitivity_list is

… declaration part

begin

… statement part

end process;

Dalam process, suatu kumpulan (list) pernyataan akan dijalankan/aktif ketika terjadi perubahan nilai sinyal. Misalnya, sebuah process memiliki sinyal “clock” dan “reset”. Process tersebut akan dijalankan ketika terjadi perubahan sinyal yang melibatkan sinyal-sinyal “clk” dan “rst”.

process (clk, rst) is

begin

… process statements

end process;

Pada contoh berikut ini, process hanya bisa berjalan/aktif terjadi perubahan nilai “clk” atau “rst”. Selain itu, process juga masih bisa aktif, yaitu dengan cara menggunakan wait statement. Bila menggunakan wait statement, process akan otomatis dijalankan sekali kemudian menunggu terjadinya perubahan nilai sinyal lain yang melibatkan sinyal “clk” atau sinyal “rst”. Bila itu terjadi, process akan berjalan/aktif lagi.

process

begin

… process statements

wait on clk, rst;

end process;

Pada umumnya, lokasi dari sebuah wait statement tidaklah begitu penting. Hal ini karena dalam simulasi VHDL, setiap process berjalan setiap siklus sehingga wait statement dapat diletakan di awal atau di akhir. Hal tersebut tidak berpengaruh pada jalannya process karena sifatnya sama saja.

Untuk bagian pendeklarasian dalam process, variabel dan sinyal-sinyal yang digunakan dapat didefinisikan saat itu juga atau bisa sebelumnya, seperti contoh berikut ini :

process (a) is

signal na : bit;

begin

na <= not a;

end process;

Listing di atas menggambarkan process “a”. Di dalam process “a”, terdapat sinyal “na” yang bertipe bit. Sinyal “na” akan dijalankan ketika terjadi perubahan nilai pada sinyal “a”. Sinyal “a” sendiri telah dideklarasikan di luar process tersebut, bisa dideklarasikan di bagian architecture atau bagian lainnya.

Demikan sekelumit pembahasan tentang process dalam VHDL. Tulisan selanjutnya akan membahas masalah tipe-tipe variabel dan operator dalam VHDL.

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

Exit mobile version