makalah vhdl

Upload: iqbal-pramadita

Post on 08-Jul-2015

1.540 views

Category:

Documents


17 download

TRANSCRIPT

MAKALAH TEKNIK DIGITAL

PENGENALAN VHDL BESERTA APLIKASINYA

Disusun oleh : XXXXXXXXXXXX XXXXXXXX

FAKULTAS ELEKTRO DAN KOMUNIKASI INSTITUT TEKNOLOGI TELKOM BANDUNG

2010DAFTAR ISI

DAFTAR ISI ...................................................................................... BAB I PENDAHULUAN .....................................................................1 BAB II PEMBAHASAN ........................................................................ BAB III PENUTUP ............................................................................ 22 DAFTAR PUSTAKA .......................................................................... 24

iii

4

BAB I PENDAHULUANA. Latar Belakang Di zaman modern seperti sekarang, penggunaan instrumen berbasis digital tidak dapat dihindari dan semakin hari ketergantungan manusia terhadapnya semakin tinggi. Mulai dari handphone, televisi, kulkas, rice cooker, komputer dan banyak alat-alat berbasis digital lainnya telah merubah wajah dunia dan gaya hidup manusia. Dalam pembuatannya, instrumen berbasis digital ini masih didominasi oleh negara-negara maju seperti Amerika atau Jepang. Hal ini disebabkan oleh ketersediaan sumber berupa dana dan infrastruktur. Negara-negara maju selain didukung oleh keilmuan yang kuat, juga didukung oleh infrastruktur yang handal. Negara berkembang seperti Indonesia belum dapat mencapai tahapan membuat instrumen ini dalam skala besar secara efisien dan ekonomis, karena terbentur hambatan dana dan infrastruktur yang belum tertata dengan baik. Namun hal dasar berupa penguasaan keilmuan masih dapat dipelajari dengan sama baiknya oleh negara berkembang seperti Indonesia sehingga Indonesia tidak tertinggal dalam segi keilmuan. Dengan penggunaan software VHDL, perancangan instrumen berbasis digital dapat dipelajari dan dilakukan secara real time dengan simulasi komputer tanpa harus menyediakan instrumen/ komponen-komponen digital secara fisik. Ini tentu saja merupakan suatu keuntungan tersendiri, dimana efektivitas dan efisiensi dalam mendesain dan memahami implementasi rangkaian digital akan meningkat secara signifikan. Pengetahuan mengenai perancangan dengan menggunakan VHDL

diharapkan akan memberikan sebuah pengetahuan kepada mahasiswa tentang

bagaimana mendesain suatu rangkaian digital dan mengimplementasikannya dalam suatu devais/alat untuk membantu mempermudah aktivitas manusia sehari-hari.

BAB II PEMBAHASAN1. SEJARAH VHDL : VHDL adalah singkatan yang dipersingkat karena aslinya adalah VHSIC HDL. Program VHIC (Very Highspeed Integrated Circuit) dikembangkan akhir tahun 1970-an sampai awal 1980-an, berdasarkan sumber dari Universitas Waterloo :

Rupanya pada waktu itu program VHSIC dikembangkan oleh Departemen Pertahanan Amerika Alat yang sudah ada (pada waktu itu tahun 1980, yaitu Ada programming language) sudah tidak sanggup untuk membuat desain hardware yang lebih kompleks sehingga akhirnya dibuatlah penggantinya dengan nama VHDL.

Inilah evolusi berdasarkan sumber dari Universitas Waterloo :

1981, VHDL diusulkan sebagai bahasa deskripsi hardware 1986, VHDL diusulkan sebagai standar IEEE 1987, Standar pertama VHDL (IEEE-1076-1987) 1993, Standar VHDL direvisi (IEEE-1076-1993) 2002, Standar VHDL sekarang (IEEE-1076-2002), dan Sekarang digunakan dengan luas oleh kalangan industri dan akademi, dengan penambahan IEEE-1164-1993 untuk mengenalkan nilai sistem logika

IEEE adalah singkatan dari Institute of Electrical and Electronics Engeneers, Institut inilah yang melakukan standardisasi VHDL. 2. Pengertian VHDL VHDL merupakan singkatan dari VHSIC Hardware Description Language (Bahasa Pemrograman hardware VHSIC ). VHDL merupakan bahasa pemograman hardware/alat/piranti keras yang memiliki fungsi tambahan dari bahasa pemograman hardware sebelumnya yaitu PLD dan netlist. Hampir semua

software VHDL synthesis mendukung bahasa pemograman VHDL. Bahasa pemograman VHDL menganut standart yag ditetapkan IEEE. VHSIC sendiri merupakan IC dengan kecepatan sangat tinggi ( Very High Speed Integrated Circuit). Bahasa pemrograman HDL dapat digunakan pada beberapa cara dan dapat dijadikan jalan alternatif untuk merepresentasikan diagram rangkaian untuk rangkaian digital ataupun untuk sebagian sub sistem rangkaian digital. Dua cara untuk memodelkan sistem digital yaitu secara struktur maupun secara behavioral (penjelasan output sistem). VHDL dapat digunakan untuk dokumentasi, verivikasi, dan sintesis dari perancangan sistem digital. Ini merupakan salah satu keuntungan dari VHDL, dimana kode VHDL yang sama dapat melakukan tiga fungsi di atas, sehingga lebih sederhana dan mengurangi kesalahan dalam penerjemahansistem yang akan diimplementasikan. Selain itu, VHDL dapat dijalankan dengan tiga cara yang berbeda untuk mendeskripsikan hardware. Tiga cara tersebut yaitu secara struktural, aliran data, dan penjelasan input output sistem. Biasanya untuk sistem yang besar penggabungan tiga cara ini diterapkan dan memiliki penerjemahan yang berbeda untuk cara yang berbeda pula. 3. Cara Penulisan Syntax dalam Bahasa Pemrograman VHDL VHDL didesain dengan prinsip yang diambil dari bahasa pemrograman software Pascal dan Ada. Desain dalam VHDL terdiri atas beberapa bagian utama diantaranya :

1. Library (design unit) Library merupakan kumpulan modul-modul perintah yang digunakan dalam program. Sebelum digunakan di dalam program, modul yang berada di dalam library perlu diinisialisasi terlebih dahulu. Contoh library-library yang terdapat pada VHDL yaitu :

Library IEEE use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; use IEEE.math_real.all; use IEEE.math_complex.all; use IEEE.numeric_bit.all; use IEEE.numeric_std.a library STD; use STD.textio; use STD.standard.all; use IEEE.std_logic_textio.all; use IEEE.std_logic_arith.all; use IEEE.numeric_bit.all; use IEEE.numeric_std.all; use IEEE.std_logic_signed.all; use IEEE.std_logic_unsigned.all; use IEEE.math_real.all; use IEEE.math_complex.all;

2. Entity

Entity adalah spesifikasi pin input dan pin output pada desain bentuk rangkaian yang dibuat. Berfungsi untuk menggambarkan port pada input ataupun output pada rangkaian yang ingin dibuat, entity juga dapat berisi parameter yang akan digunakan di dalam desain.

3. Architecture Architecture merupakan deskripsi kerja dari sistem/entity yang akan kita rancang. Pada architecture terdapat satu set komponen yang salaing berhubungan. Deklarasi dasar architecture :

architecture architecture_name of entity_name is signal signal_name : signal_type; begin concurrent_statement; ........

Concurrent_statement; end architecture_name ;

a.

Process Process merupakan bagian dari suatu architecture. Di dalam suatu

architecture bisa terdapat satu atau lebih proses yang saling independen ataupun berhubungan. b. Configuration Configuration digunakan untuk mendeklarasikan kumpulan desain entity tertentu sebagai komponen instan, component instances (sebagai referensi unik komponen yang berlevel rendah) pada sebuah architecture tertentu di dalam suatu entity. 4. Signal dan Variabel Signal dapat dianalogikan sebagai kabel, yang menjadi penghubung antar bagian di dalam sistem yang di desain. Signal dideklarasikan di dalam architecture. Nilai logika dari suatu signal baru berubah setelah seluruh proses di eksekusi. Apabila dalam suatu signal nialinya diubah beberapa kali dalam suatu proses, nilai yang terakhir yang akan dipakai pada eksekusi selanjutnya. Variabel berbeda dengan signal. Nilai suatu variabel langsung berubah, tanpa harus menunggu selesainya suatu proses eksekusi. Variabel hanya dapat dideklarasikan di dalam suatu proses. Contoh deklarasi signal dan variabel : architecture architecture_name of entity_name is signal signal_name : signal_type; begin process_name : process variable variable_name : variable_type; begin ...... end process; Penjelasan entity, architecture, dan signal

Architecture A B Y C D

Entity Keterangan :

signaling

Entity adalah jenis portport yang digunakan di dalam suatu rangkaian. Pada gambar rangkaian di atas, entity adalah port A, B, C dan D (sebagai input) dan Y (sebagai output). Sedangkan yang dinamakan architecture adalah bentuk dari rangkaian di dalamnya. Signal adalah kabel atau connector yang menghubungkan antar gerbang logika. 5. Constants dan Array Contoh deklarasi dari konstanta adalah :Constant BUS_SIZE : integer := 32; Constant MSB : integer := BUS_SIZE-1; Constant Z : character := Z ; -- komponen lebar -- bit nomber dari MSB -- sinonim dari nilai Hi-Z

Hal terpenting lain dari VHDL adalah array. Seperti bahasa pemprograman lainnya, dalam VHDL juga terdapat array yang merupakan sekumpulan elemen yang mempunyai tipe yang sama, dan setiap elemen mempunyai array index yang berbeda-beda. Contoh deklarasi beberapa array dalam VHDL adalah sebagai berikut : type type_name is array (start to end) of element_type; type type_name is array (start downto end) of element_type; type type_name is array (range_type) of element_type; type type_name is array (range_type range start to end) of element_type;

type type_name is array (range_type range start downto end) of element_type; 6. Function dan Procedure Seperti halnya function dalam bahasa pemrograman lain, function dalam VHDL dapat menerima suatu data masukan dengan tipe data tertentu dan menghasilkan keluaran yang sesuai dengan tipe data keluaran yang telah didefinisikan dalam spesifikasinya. Deklarasi syntax dari function adalah : function function_name ( signal_name : signal_type; ... Signal_name : signal_type ) return return_type is type declarations constant declarations variable declarations function definitions procedure definitions begin sequential_statement . . . sequential_statement; end function_name ;

Procedure dalam VHDL sebenarnya hampir sama dengan function, tetapi procedure tidak dapat mengembalikan nilai balikan. Procedure dalam VHDL harus menyertakan argument dengan spesifik dengan tipe out atau inout.

7. If statement, case statement, dan loop satement If satement adalah satement yang digunakan jika kita dalam keadaan kondisional. Deklarasi syntax if statement adalah :

if boolean_expression then sequential_satements end if; if boolean_expression then sequential_satements

else sequential_statements end if; if boolean_expression then sequential_satements elsif sequential_statements then sequential_statements ... elsif sequential_statements then sequential_statements end if; if boolean_expression then sequential_satements elsif sequential_statements then sequential_statements ... elsif sequential_statements then sequential_statements else sequential_statements end if; Case statement biasanya digunakan jika jumlah kondisi lebih dari 3 kondisi (banyak kondisi). Deklarasi syntax case statement adalah : case expression is when choices => sequential_statements .... When choices => sequential_statements end case;

Sekuensial statement lain yang juga oenting adalah loop statement. Loop statement digunakan untuk mengulang perintah-perintah baris program dengan aturan tertentu. Ada beberapa struktur loop statement diantaranya : a. Dasar loop statement VHDL loop sequential_statement ... sequential_statement end loop;

b.

For loop VHDL for identifier in range loop sequential_statement ... sequential_statement end loop;

c.

While loop VHDL while boolean_expression loop sequential_statement ... sequential_statement end loop; Pada perulangan di atas digunakan untuk perulangan yang mempunyai

jumlah perulangan yang tidak dipastikan sebelumnya. Pada bentuk perulangan ini selama kondisi terpenuhi (true) maka perulangan akan terus dilakukan dan akan berhenti berulang ketika kondisi tidak terpenuhi.

8. Macam-macam Desain Architecture Dalam pendeskripsiannya, architecture dapat didesain dalam beberapa desain, diantaranya: a. Behavioral Architecture dapat didesain sesuai dengan Prinsip kerja alat. Kunci dalam desain behavior adalah process. Sebuah process adalah kumpulan dari sequential statement (yang dideskripsikan secara singkat) yang dipasang paralel dengan statement yang sama dan process yang lainnya. b. Structural Architecture dapat didesain sesuai dengan terstruktur dalam port map. Architecture VHDL yang menggunakan component biasabya disebut deskripsi atau desaign struktural. Karena ia mendefinisikan struktur interkoneksi yang tepat dari signal dan entity yang menyadari entity. Dalam hal ini, deskripsi stuktural murni adalah setara dengan sebuah skema/daftar bersih untuk rangkaian. Structural VHDL program for a prime-number detector : library IEEE; use IEEE.std_logic_1164.all; library unisim; use unisim.vcomponents.all;

entity prime is port ( N : in STD_LOGIC_VECTOR (3 downto 0); F : out STD_LOGIC ); end prime; architecture prime1_arch of prime is signal N3_L, N2_L, N1_L : STD_LOGIC; signal N3L_NO, N3L_N2L_N1, N2_N1L_NO : STD_LOGIC; component INV port (I : in STD_LOGIC; O : out STD_LOGIC); end component; component AND2 port (I0,I1 : in STD_LOGIC; O : out STD_LOGIC); end component; component AND3 port (I0,I1, I2 : in STD_LOGIC; O : out STD_LOGIC); end component; component OR4 port (I0,I1,I2,I3 : in STD_LOGIC; O : out STD_LOGIC); end component; begin U1 : INV port map (N(3) , N3_L); U2 : INV port map (N(2) , N2_L); U3 : INV port map (N(1) , N1_L); U4 : AND2 port map (N3_L , N(0) , N3L_N0); U5 : AND3 port map (N3_L , N2_L , N(1) , N3L_N2L_N1); U6 : AND3 port map (N2_L , N(1) , N(0) , N2L_N1_N0); U7 : AND3 port map (N(2) , N1_L , N(0) , N2_N1L_N0); U8 : OR4 port map (N3L_N0 , N3L_N2L_N1 , N2L_N1_N0 , N2_N1L_N0 , F); end prime1_arch; c. Data flow Architecture dapat didesain sesuai dengan RTL : Register Transfer Level, yaitu secara rangkaian logika. Jika component statement hanya terdapat statement yang bersamaan, maka VHDL akan memiliki lebih dari satu bahasa. Pernyataan beberapa konkuren tambahan memungkinkan VHDL unutk menggambarkan sirkuit dalam hal aliran data dan operasi dalam sirkuit. Desain tersebut sering disebut desain dengan data flow. Dataflow VHDL architecture for the prime-number detector : architecture prime2_arch of prime is signal N3L_N0 , N3L_N2L_N1 , N2L_N1_N0 , N2_N1L_N0 : STD_LOGIC; begin

N3L_N0 N3L_N2L_N1 N2L_N1_N0 N2_N1L_N0 F