Basic Variable Types and Operators

lecture2Constants
Dalam sebuah simulasi, ada sebuah nilai yang perlu diatur sedemikan rupa agar nilai tersebut tidak berubah atau tetap. Jenis nilai yang bersifat tetap demikan dinamakan sebagai constant. Constant ini sering digunakan untuk memberikan nilai awal dalam sebuah parameter. Selain itu, constant juga digunakan sebagai perbandingan untuk nilai-nilai yang terdapat pada sejumlah register. Sebuah constant dapat dideklarasikan untuk beberapa tipe dalam VHDL. Berikut beberapa contoh penggunaan constant :

constant a : integer := 1;

constant b : real := 0.123;

constant c : std_logic := ‘0’;

Signals

Dalam sebuah process, sebuah signal berperan dalam menghubungkan cara kerja serta apa yang akan dikerjakan oleh process tersebut. Selain itu, signal merupakan jalur yang efektif dalam suatu rangkaian, dimana signal tersebut akan menghubungkan bagian satu sama lain dalam rangkaian itu.

Ketika proses simulasi dilakukan, simulator akan memeriksa apakah sinyal-sinyal yang tersedia sudah memiliki nilai atau belum. Bila belum, maka akan dinialisasikan sejumlah nilai untuk sinyal-sinyal tersebut. Jika sebaliknya, nilai sinyal akan senantiasa diperiksa dan diperbarui (update) sesuai dengan kondisi proses simulasi saat itu.  Hal ini diperlukan agar simulator dapat mengetahui, apakah terdapat perubahan atau tidak di dalam process yang tengah berlangsung Atau dengan kata lain, simulator akan memeriksa process manakah yang aktif atau tidak. 

Suatu singal dapat diberikan nilai yang tepat atau dapat ditambah dengan waktu tunda (delay). Dengan adanya delay, maka process yang hendak berjalan dapat dijadwalkan di masa yang akan datang. Inilah salah satu perbedaan signal dengan urutan kumpulan kode program (seperti dalam C). Contoh pernyataan dan penggunaan  signal ditunjukan berikut :

signal sig1 : integer := 0;

signal sig2 : integer := 1;

sig1 <= 14;

sig1 <= sig2;

sig1 <= sig2 after 10 ns;

Variables

Dalam VHDL, dikenal istilah variable yakni sebuah nilai yang tidak tetap. Variable ini hanya digunakan dalam jenis proses sekuensial/beurutan. Variable ini berbeda dengan sinyal-sinyal pada umumnya yang terjadi secara serentak. Variable digunakan dalam sebuah proses dan cara pendeklarasiannya sebagai berikut:

variable var1 : integer := 0;

variable var2 : integer := 1;

var1 := var2;

Sekedar catatan, bahwa tidak ada konsep delay dalam penggunaan variable (jika memerlukan proses yang perlu penjadwalan, lebih baik digunakan signal saja).

Boolean operators

VHDL juga memiliki sejumlah operator Boolean. Daftar operator boolean yang ada di dalam VHDL adalah AND, OR, NAND, NOT, NOR, dan XOR. Operator tersebut dapat diaplikasikan ke dalam BIT, BOOLEAN, atau jenis logika seperti contoh berikut ini :

out1 <= in1 and in2;

out2 <= in3 or in4;

out5 <= not in5;

Arithmetic operators

Selain operator boolean, terdapat pula operator aritmetika yang terdapat dalam VHDL. Operator tersebut dijelaskan seperti tabel berikut ini :

tabel arithmetic

Comparison operators

VHDL juga memiliki sejumlah aturan baku untuk membandingkan nilai satu dengan nilai yang lain. Daftar operator pembanding tersebut adalah =, /=, <, < =, >, = >. Jenis operator terebut dapat digunakan seperti berikut ini :

in1 < 1

in1 /= in2

in2 >= 0.4

Shifting functions

VHDL juga memiliki 6 fungsi “logical shift” yang terangkum sebagai berikut :

tabel shifting funsion

Concatenation

Fungsi rentetan (concatenation) dalam VHDL disimbolkan dengan “&” dan penggunaanya seperti berikut ini :

A <= ‘1111’;

B <= ‘000’;

out1 <= A & B & ‘1’; — out1 = ‘11110001’;

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

Mungkin Anda juga menyukai

1 Respon

  1. MissKofea berkata:

    Dear Author ndoware.com !
    I apologise, but, in my opinion, you are not right. I am assured. I suggest it to discuss. Write to me in PM, we will talk.

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.