Struktur VHDL [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Struktur Dasar VHDL VHDL terdiri dari beberapa elemen dasar, yaitu : 1. Identifier 4. Entity 2. Data Object 5. Architecture 3. Data Types 6. Package 1. Identifier Dalam VHDL, Identifier memiliki beberapa karakter dengan aturan sebagai berikut : 1. Karakter yang diperbolehkan adalah huruf besar(A..Z), huruf kecil(a..z), huruf(0..9) dan garis bawah(_). 2. Karakter pertama harus berupa huruf. 3. Karakter terakhir tidak diperbolehkan berupa garis bawah(_), penggunaan 2 karakter garis bawah(_) juga tidak diperbolehkan. 4. Penggunaan huruf besar dan huruf kecil dianggap sama (tidak case sensitive). 5. Komentar dalam VHDL dimulai dengan karakter --. 2. Data Object Terdapat 3 obyek data yaitu : 1. Konstanta Obyek konstanta dapat menyimpan sebuah nilai yang didefiniskan saat deklarasi konstanta. Nilai yang sudah didefinisikan tersebut tidak dapat diubah selama proses desain. Constant identifier[,identifier..]:type[:value]; 2. Variabel Obyek variabel dapat menyimpan sebuah nilai yang diberikan saat desain, dan nilai tersebut dapat dirubah kapanpun saat desain. Variable identifier[,identifier..]:type[:value]; Syntax: variable ctrl_bits: std_logic; 3. Signal Obyek Signal bisa disamakan dengan variable, perbedaannya adalah bahwa signal dapat menyimpan ataupun melepaskan nilai logika, sedangkan variable tidak dapat, oleh karena itu, signal dapat diwujudkan dalam elemen memori. Signal identifier[,identifier..]:type[:value]; Syntax: signal con: std_logic; 3. Data Types Ada 2 macam Data type yang digunakan berdasarkan standar IEEE, yaitu : a. Berdasarkan standar IEEE 1076/93, yaitu : Boolean, Bit, Bit_vector dan Integer. b. Berdasarkan standar IEEE 1164, yaitu Std Ulogic, std Logic dan std_Logic Vector. 4. Entity Entity memberikan arti tentang bagaimana sebuah bagian rancangan dideskripsikan di VHDL dalam hubungannya dengan model VHDL lain dan juga memberikan nama untuk model tersebut. Di dalam



entity juga diperbolehkan untuk mendefinisikan beberapa parameter yang mengambil model menggunakan hierarki. Kerangka dasar untuk sebuah entity digambarkan sebagai berikut : entity is …. entity ; Syntax: entity entity_name is Port declaration; end entity_name; Sebuah deklarasi entity harus diawali dengan ‘entity’ dan diakhiri dengan kata ‘end’. Sebuah cara atau metode untuk menghubungkan entity secara bersama adalah menggunakan PORTS. Sebuah port harus memiliki nama, arah/mode dan tipe. Hal ini didefinisikan bahwa entity menggunakan metode sebagai berikut: port ( …list of port declarations… ); Deklrasi port ini mendefinisikan jenis dari koneksi dan arah yang sesuai. Misalnya, deklarasi port untuk sebuah input bit adalah 1, maka digambarkan sebagai berikut : in1 : in bit; Dan jika model tersebut memiliki 2 input (in1 dan in2) dan satu output (out1), maka deklarasi ports dapat digambarkan berikut: port ( in1, in2 : in bit; out1 : out bit ); Dengan mengunakan ports maka titik koneksi diantara entities akan berlangsung dengan efektif dalam hal proses koneksi entities satu sama lain. Selain itu, dengan menggunakan ports akan menjadikan sinyal yang ada menjadi efektif serta cocok digunakan dalam model VHDL.



5. Architecture Architecture Body dalam sebuah entity berfungsi untuk mendeskripsikan apa yang akan dilakukan atau



proses apa yang akan sikerjakan oleh perangkat keras yang didesain. ARCHTECTURE architecture-name OF entity-name IS [type-declarations] [signal-declarations] [constant-declarations] BEGIN [architecture definition] END architecture-name; Dalam architecture body ada beberapa jenis, antara lain : a. Structural description Perencanaan didasarkan pada pemakaian komponen (logical gate) pada library dan hubungan antar componen-componen tersebut (a set of interconected component). Structural description meliputi : · Signal declaration. · Component instances · Port maps. · Wait statements. Component declaration: Syntax: component component_name [is] List_of_interface ports; end component component_name; b. Data flow description Perencanaan berdasarkan pada proses data transfer ( dari signal atau dari input ke output tanpa statement sequential ) yang merupakan sekumpulan dari concurent assignment statement. Perbedaan utama antara data flow dengan behavioral adalah yang satu menggunakan proses yang lain tidak. Berikut ini adalah coding half adder yang mempunyai 1 XOR gate dan sebuahAND gate. Library IEEE; use IEEE.STD_LOGIC_1164.all; entity ha_en is port (A,B:in bit;S,C:out bit); end ha_en; architecture ha_ar of ha_en is begin S