Anda di halaman 1dari 18

BAB I PENGANTAR VHDL

1.1

Pengertian VHDL

Vhdl (VHSIC Hardware Description Language) merupakan bahasa tingkat tinggi yang dapat digunakan untuk memrogram suatu IC digital yang didalamnya terdiri dari gate-gate yang umlahnya ratusan gate! Seperti bahasa pemrograman lain" VHDL uga memiliki aturan penulisan sintak sistematika yang digunakan! Dengan kata lain VHDL merupakan bahasa yang dipakai untuk menuliskan logika sebuah perancangan system elektronika yang logikanya akan diisikan pada de#ice yang programmable untuk mengatur logika dari perancangan elektronika yang dibuat! $enis- enis programmable de#ice yang bias digunakan dengan VHDL adalah % & '(( gate )LD ()rogramable Logic De#ice) * '(( dan * '!((( gate C)LD (Comlpe+ )rogramable Logic De#ice) * '(( dan * ,(!((( gate -)./ (-ast )rogramable .ate /rray) * ,(!((( dan * 0(!((( /SIC (/plication Spesi1ic Integrated Circuit) Seluruh enis de#ice di atas pada dasarnya adalah gate-gate kosong yang siap disambungkan dengan berbagai logika perancangan elektronika tanpa terikat pada keterbatasan 1ungsi maupun umlah pin yang dibutuhkan untuk perancangan seperti halnya enis IC 22L dan C34S! 5amun pada praktikum ini akan lebih banyak menggunakan enis IC )LD ()rogramable Logic De#ice) seperti )/L" )/LC6 dan ./L! Secara garis besar langkah pemrograman de#ice dengan VHDL adalah % 2entukan Desain yang akan di program yang dilan utkan dengan membuat algoritma dan table kebenaran dari desain! 7uat desain dengan bahasa VHDL dan kompilasi program dengan 8ilin+! Lakukan Simulasi untuk mengu i kebenaran logika desain dengan 2est bench! 1.2 Struktur Program VHDL

Struktur program VHDL pada dasarnya hampir sama dengan program bahasa tinggi yang lain! )emrograman VHDL dengan 9arp harus menggunakan kaidah pemrograman yang sudah ditetapkan #endor yang bersangkutan" namun umumnya mengacu pada standart I666! )ada bagian awal program akan di elaskan terlebih dahulu identitas bagi port input dan output yang disebut dengan bagian Entity! :emudian pada bagian berikutnya diberikan statemen logika dari alur program yang dibuat dalam sebuah bagian yang disebut Arc itecture Bo!y. Secara umum struktur program VHDL dapat digambarkan sebagai berikut %

Inter"ace (6ntity Delcaration) V&'L Entity Bo!y (/rchitecture)


Sequential, Combinational Processes

1.2.1

Entity Dec#aration 6ntity secara umum dapat dideklarasikan dengan mpdel berikut % Entity 5/36;4-;652I2< I$ )ort (signal_names % mo!e type= signal_names % mo!e type)= En! >5/36;4-;652I2<?=

%o!e berupa % IN untuk menerangkan identitas port masukan" &'T untuk menerangkan identitas port keluaran" B'((ER untuk menerangkan identitas port tersebut berupa 7u11er" dan IN&'T untuk menerangkan identitas port tersebut bias men adi masukan sekaligus keluaran! Type berupa % i! BIT - berupa bilangan ( dan ,! ii! BIT_VECTOR - berupa #ector dari nilai bit (7I2;V6C24@ ( 24 A) iii! Std_Logic banyak digunakan untuk enis rangkaian seBuensial! i#! Std_Ulogic Digunakan untuk enis rangkaian seBuensial! #! Std_Logic_Vector $ika ada Vektor 7erikut ini adalah contoh dari berbagai model pendeklarasian bagian Entity dari program VHDL % Contoh !Rang"aian Com#inational$ % Library ieee = Cse ieee!Std;Logic;,,DE!all= 6ntity Combinational Is )ort ( /" 7" C % In 7I2= D % 4ut 7I2 )= 6nd Combinational=

Contoh ( !Rang"aian Com#inational$ % Library ieee = Cse ieee!Std;Logic;,,DE!all= 6ntity Combinational Is )ort ( / % In 7it;Vector ( ( to 0 )= D % 4ut 7I2 )= 6nd Combinational= )endeklarasian port pada 6ntity untuk rangkaian kombinasional type-nya biasanya berupa 7it atau 7it;Vector Contoh ) !' *lip-*lop$ % Library ieee = Cse ieee!Std;Logic;,,DE!all= 6ntity D;-- Is )ort ( D" CL: % In Std;Logic= F" F;7ar % 4ut Std;Logic )= 6nd D;--= Contoh + !,-ltiple.er+$ % Library ieee = Cse ieee!Std;Logic;,,DE!all= 6ntity 3u+;E Is )ort (/% In Std;Logic;Vector (G Downto ()= Sel % In Std;logic;Vector(( to ,)= 4C2 % 4ut Std;Logic)= 6nd 3u+;E= )endeklarasian port pada 6ntity untuk rangkaian kombinasional" multiple+er atau seBuensial type-nya biasanya berupa Std;Logic atau Std;Logic;Vector Contoh / !*-ll_0dder$ % Library ieee = Cse ieee!Std;Logic;,,DE!all= 6ntity -ull;/dder Is )ort ( /(" 7(" Ci C(" S( 6nd -ull;/dder= % In Std;Clogic= % 4ut Std;Clogic )=

)endeklarasian port pada 6ntity untuk rangkaian Hal1 /dder dan -ull /dder type-nya berupa Std;Clogic atau Std;Clogic;Vector

1.2.2

Arc itecture Bo!y /rchitecture 7ody merupakan inti dari program VHDL" dengan 1ormat sebagai berikut% Arc itecture /rchitecture;5ame &" 5/36;4-;652I2< I$ Begin --------- Statement En! /rchitecture;5ame= Contoh ( % /rchitecture beha#, o1 /5D;ent Is 7egin )rocess(+" y) 7egin -- compare to truth table I1 ((+HI,I) /nd (yHI,I)) 2hen - &H I,I= 6lse - &H I(I= 6nd I1= 6nd )rocess= 6nd beha#,= Pro$e$ Pemrograman VHDL

1.).

7erikut ini akan diberikan gambaran proses pembuatan program rangkaian kombinasi dari gerbang logika sederhana % (JJJJJJJCombinational .ateJJJJJJ) - H((/ /5D 7 ) 4@ C) 2abel kebenaran ,!, dari rangkaian di atas % A B * A AND B ( ( ( ( ( ( , ( ( ( ( ( , ( ( ( , , ( , , ( ( , ( , , ( , ( , ( , , ( , , , , , , )rogram VHDL dari rangkaian di atas % 6ntity Combinational Is )ort ( /" 7" C" % In 7I2= < % 4ut 7I2 )= 6nd Combinational=

/rchitecture Contoh, 41 Combinational Is 7egin - &H ((/ /5D 7) 4@ C)= 6nd Contoh,= Simulasi /cti#e HDL-Sim %

.ambar ,!, SImulasi /cti#e HDL sim

BAB III RANG+AIAN +&%BINASI&NAL, %'LTIPLE-ER DAN DE+&DER ).1 T'.'AN )eserta praktikum dapat memahami model-model rangkaian kombinasional dan multiple+er yang dapat dirancang dengan bahasa VHDL dan memahami statement-statement yang digunakan! ).2 ).2.1 DASAR TE&RI Rangkaian *om/inationa# @angkaian Combinational adalah rangkaian logika yang terdiri dari kombinasi gerbanggerbang logika sederhana seperti /5D" 4@" 5/5D" 54@" 8-4@ dan 8-54@! Contoh % Rang"aian "om#inasional

.ambar G!, @angkaian kombinasi 6ntity Combinational, Is )ort ( /" 7" C" D % In 7I2= 4C2)C2 % 4ut 7I2 )= 6nd Combinational,= /rchitecture Contoh 41 Combinational, Is 7egin 4C2)C2 &H (/ /5D 7) 4@ (542 (C 84@ D)= 6nd Contoh= %u#ti0#e1er

).2.2

1am#ar )2( Blo" diagaran rang"aian m-ltiple.er Contoh !( ,-.($ % ,engga#-ng"an ( ,-ltiple.er ( mas-"an 6ntity Dbl;3u+0 Is

).2.)

)ort ( /" 7 % In 7it;Vector (( 2o ,)= Sel % In 7it= 4C2)C2 % 4ut 7it;Vector (, 2o 0 ))= 6nd Dbl;3u+0= /rchitecture Combinational0 41 C Is 7egin 3u+0;/ % )rocess ( /" Sel ) 7egin I1 Sel H K(L 2H65 4C2)C2 (,) &H / (()= 6lse 4C2)C2(,) &H / (,)= 6nd I1= 6nd )rocess 3u+0;/= 3u+0;7 % )rocess ( 7" Sel ) 7egin I1 Sel H K(L 2H65 4C2)C2 (0) &H 7 (()= 6lse 4C2)C2(0) &H 7 (,)= 6nd I1= 6nd )rocess 3u+0;7= 6nd Combinational0= Deko!er Contoh !'e"oder ( "e +$ % Program ) !Beha3ioral$ 2 Library ieee= Cse ieee!std;logic;,,DE!all= 6ntity D6C4D6@ is )ort ( I % In std;logic;#ector (, downto ()= 4% 4ut std;logic;#ector (G downto ())= 6nd D6C4D6@= /rchitecture beh# 41 D6C4D6@ Is 7egin -- process statement )rocess (I) 7egin -- use case statement Case I Is 9hen M((M H* 4 &H M(((,M= 9hen M(,M H* 4 &H M((,(M= 9hen M,(M H* 4 &H M(,((M= 9hen M,,M H* 4 &H M,(((M= 9hen 4thers H* 4 &H M8888M= 6nd Case= 6nd )rocess=

).)

6nd beh#= PER*&BAAN Program 1 2 (u## A!!er Library ieee = Cse ieee!std;logic;,,DE!all= 6ntity -ull;/dder Is )ort ( /(" /," Ci % in Std;Clogic= C(" S( % 4ut Std;Clogic)= 6nd -ull;/dder= /rchitecture beh# o1 -ull;/dder is 7egin S( &H /( 84@ 7( 84@ Ci= C( &H (/( /5D 7() 4@ ((/( 84@ 7() /5D Ci)= 6nd beh#= Program 1 2 Enco!er Library ieee = Cse ieee!std;logic;,,DE!all= 6ntity -ull;/dder Is )ort ( /(" /," Ci % in Std;Clogic= C(" S( % 4ut Std;Clogic)= 6nd -ull;/dder= /rchitecture beh# o1 -ull;/dder is 7egin S( &H /( 84@ 7( 84@ Ci= C( &H (/( /5D 7() 4@ ((/( 84@ 7() /5D Ci)= 6nd beh#=

).3

T'GAS ,! 7uatlah program untuk rangkaian kombinasional yang terdiri dari minimal G enis gerbang logika dasar yang diaplikasikan pada sebuah desain aplikasi elektronika N 0! 7uatlah program untuk 3ultiple+er E masukan N G! 7uatlah program untuk Demultiple+er E keluaran N E! 7uatlah program untuk Dekoder G ke O N

PER*&BAAN IV RANG+AIAN SE4'ENSIAL 3.1 T'.'AN )eserta praktikum dapat memahami model-model rangkaian seBuensial yang dapat dirancang dengan bahasa VHDL dan memahami statement-statement yang digunakan! 3.2 DASAR TE&RI @angkaian seBuensial merupakan rangkaian digital dengan alur 1eedback yang operasinya merupakan 1ungsi dari 0 keadaan yaitu kondisi sebelum dan input saat itu" yang terdiri dari elemen Ena/#e, *#ock, Re$et, Pre$et, Sinkron dan A$inkron! @angkaian seBuensial pada dasarnya berupa terdiri S-@ -lip-1lop" D -lip-1lop" $-: -lip-1lop maupun 2 -lip-1lop yang nantinya akan digunakan untuk merangkai Counter Contoh % ,engg-na"an Ena#le

Library ieee = Cse ieee!std;logic;,,DE!all= 6ntity D;latch is )ort ( data;in% in std;logic= enable% in std;logic= data;out% out std;logic)= 6nd D;latch= /rchitecture beh# o1 D;latch is 7egin -- compare this to D 1lip1lop )rocess(data;in" enable) 7egin I1 (enableHI,I) then -- no clock signal here data;out &H data;in= 6nd I1= 6nd )rocess= 6nd beh#= Contoh ( % ,engg-na"an Cloc"

Library ieee = Cse ieee!std;logic;,,DE!all= Cse work!all= 6ntity d11 is )ort ( data;in% in std;logic= clock% in std;logic= data;out% out std;logic)= 6nd d11= /rchitecture beh# o1 d11 is 7egin )rocess(data;in" clock) 7egin -- clock rising edge I1 (clockHI,I and clockIe#ent) then data;out &H data;in= 6nd i1= 6nd )rocess= 6nd beh#= Contoh ) % ,engg-na"an Reset dan Rising_Edge Cloc"

Library ieee= Cse ieee!std;logic;,,DE!all= 6ntity $:;-- is )ort ( clock% in std;logic= $" :% in std;logic= reset% in std;logic= F" Fbar% out std;logic)= 6nd $:;--= /rchitecture beh# o1 $:;-- is -- de1ine the use1ul signals here signal state% std;logic= signal input% std;logic;#ector(, downto ()= 7egin -- combine inputs into #ector input &H $ P := )% )rocess(clock" reset) is 7egin I1 (resetHI,I) then

state &H I(I= 6lsi1 (rising;edge(clock)) then -- compare to the truth table Case (input) is 9hen M,,M H* state &H not state= 9hen M,(M H* state &H I,I= 9hen M(,M H* state &H I(I= 9hen others H* null= 6nd Case= 6nd I1= 6nd )rocess= -- concurrent statements F &H state= Fbar &H not state= 6nd beh#=

3.)

PER*&BAAN Program 1 2 Library ieee= Cse ieee!Std;Logic;,,DE!all= 6ntity SeBuensial, Is )ort ( CL:" D % In Std;Logic= F % 4ut Std;Logic )= 6nd SeBuensial,= /rchitecture Contoh, 41 SeBuential, Is 7egin )rocess ( D" CL: ) 7egin I1 CL: H K,L /5D CL: L6#ent 2H65 F &H D= 6nd I1= 6nd )rocess= 6nd Contoh,=

Program 2 2 Library ieee= Cse ieee!Std;Logic;,,DE!all= 6ntity SeBuensial0 Is )ort ( CL:" D," D0 % In Std;Logic= F" F;7ar % 4ut Std;Logic;Vector (, 2o 0) )= 6nd SeBuensial0= /rchitecture Contoh 41 SeBuential0 Is 7egin --;/ % )rocess ( D," CL: ) 7egin I1 CL: H K,L /5D CL: L6#ent 2H65 F (,) &H D,= F;7ar (,) &H 542 D,= 6nd I1= 6nd )rocess --;/= --;7 % )rocess ( D0" CL: ) 7egin I1 CL: H K(L /5D CL: L6#ent 2H65 F (0) &H D0= F;7ar (0) &H 542 D0= 6nd I1= 6nd )rocess --;7= 6nd Contoh= Program ) 2 Library ieee = Cse ieee!std;logic;,,DE!all= Cse ieee!std;logic;unsigned!all= 6ntity counter is generic(n% natural %H0)= )ort ( clock% In std;logic= clear% In std;logic= count% In std;logic= F% 4ut std;logic;#ector (n-, downto ())= 6nd counter= /rchitecture beh# o1 counter is signal )re;F% std;logic;#ector(n-, downto ()= 7egin -- beha#ior describe the counter )rocess(clock" count" clear) 7egin I1 clear H I,I 2hen )re;F &H )re;F - )re;F= 6lsi1 (clockHI,I and clockIe#ent) then

I1 count H I,I 2hen )re;F &H )re;F Q ,= 6nd I1= 6nd I1= 6nd )rocess= -- concurrent assignment statement F &H )re;F= 6nd beh#= 3.3 T'GAS ,! 7uatlah program berupa rangkaian seBuential yang dikombinasi dengan gerbang logika dasar N

PER*&BAAN V %&DEL DE+LARASI AR*HITE*T'RE B&D5 6.1. T'.'AN )eserta praktikum dapat memahami model-model pendeklarasian /rchitecture 7ody yang digunakan pada VHDL! 6.2 6.2.1 DASAR TE&RI DES+RIPSI STR'+T'RAL

Deskripsi model struktural merupakan model dari gerbang-gerbang spesi1ik yang terinterkoneksi dalam sebuah struktur! Contoh !B-44er$ % /rchitecture structural 41 7uRRer Is -- Declarations Component /5D0 )ort (In," In0 % In Std;Logic= 4ut, % 4ut Std;Logic)= 6nd Component = Component 4@0 )ort (In," In0 % In Std;Logic= 4ut, % 4ut Std;Logic)= 6nd Component = Component 542, )ort (In, % In Std;Logic= 4ut, % 4ut Std;Logic)= 6nd Component = -- Declaration o1 signals used to interconnect gates Signal Door;542" S7elt;542" 7," 70 % Std;Logic= 7egin -- Component instantiations statements C( % 542, )ort 3ap (Door" Door;542)= C, % 542, )ort 3ap (S7elt " S7elt;542)= C0 % /5D0 )ort 3ap (Ignition" Door;542" 7,)= CG % /5D0 )ort 3ap (Ignition" S7elt;542" 70)= CE % 4@0 )ort 3ap (7," 70" 9arning)=

6nd structural= 6.2.2 DES+RIPSI BEHAVI&RAL 3odel deskripsi beha#ioral adalah deskripsi /rchitecture yang men elaskan tingkah laku 1ungsional rangkaian terhadap berbagai kondisi sinyal masukan system! Ciri dari model ini adalah pada penggunaan statement Proce$$. Contoh !Rang"aian ,-ltiple.er ( inp-tan$ % 6ntity 7eha#ioral, Is )ort ( D(" D," Sel % In 7it= 4utput % 4ut 7it )= 6nd 7eha#ioral,= /rchitecture 3u+;0 41 7eha#ioral, Is 7egin )rocess ( D(" D," Sel ) 7egin I1 Sel H K(L 2H65 4utput &H D,= 6lse 4utput &H D( = 6nd I1= 6nd )rocess = 6nd 3u+;0= Contoh ( !Rang"aian '_** 0syn"rono-s Clear$ % 6ntity 7eha#ioral0 Is )ort ( CL:" D" CL6/@ % In Std;Logic= F % 4ut Std;Logic )= 6nd 7eha#ioral0= /rchitecture D;--;Clear 41 7eha#ioral0 Is 7egin D;-- % )rocess ( CL:" CL6/@ ) 7egin I1 (CL6/@ H K,L ) 2H65 F &H K(L = 6lsei1 F &H D = 6nd I1= 6nd )rocess = 6nd D;--;Clear= 6.2.) DES+RIPSI DATA (L&7 3odel deskripsi /rchitecture ini merupakan model dimana 1ungsi dari rangkaian di elaskan dengan mende1enisikan aliran data dari suatu input" register ke register lain atau output! Contoh !By conditional signal assignments$ %

6ntity 3u+;E;, Is )ort ( /" 7" C" D % In Std;Logic= Sel % In Std;Logic;Vector (, Downto ()= S % 4ut Std;Logic )= 6nd 3u+;E;,= /rchitecture Data;-low, 41 3 u+;E;, Is 7egin S &H / 9hen Sel H T((U 6lse 7 9hen Sel H T(,U 6lse C 9hen Sel H T,(U 6lse D= 6nd Data;-low,= Contoh ( !By selected signal assignments$ % 6ntity 3u+;E;, Is )ort ( /" 7" C" D % In Std;Logic= Sel % In Std;Logic;Vector (, Downto ()= S % 4ut Std;Logic )= 6nd 3u+;E;,= /rchitecture Data;-low0 41 3 u+;E;, Is 7egin 9ith Sel Select S &H / 9hen T((U = 7 9hen T(,U = C 9hen T,(U = D= 6nd Data;-low0=

6.)

PER*&BAAN Program 1 !Str-ct-ral$ 2 Library ieee= Cse ieee!std;logic;,,DE!all= Cse work!all= 6ntity comb;ckt is )ort ( Input,% In std;logic= Input0% In std;logic= InputG% In std;logic= 4utput% 4ut std;logic)= 6nd comb;ckt= /rchitecture struct o1 comb;ckt is component /5D;./26 is )ort ( /% In std;logic= 7% In std;logic=

-- top le#el circuit

-- as entity o1 /5D;./26

-,% 4ut std;logic )= 6nd component= component 4@;./26 is -- as entity o1 4@;./26 )ort ( 8% In std;logic= <% In std;logic= -0% 4ut std;logic)= 6nd component= signal wire% std;logic= -- signal ust like wire 7egin -- use sign MH*M to clari1y the pin mapping .ate,% /5D;./26 port map (/H*input," 7H*input0" -,H*wire)= .ate0% 4@;./26 port map (8H*wire" <H*inputG" -0H*output)= 6nd struct= Program 2 !Beha3ioral$ 2 Library ieee= Cse ieee!std;logic;,,DE!all= 6ntity 3u+ is )ort ( IG" I0" I," I( % In std;logic;#ector(0 downto ()= S % In std;logic;#ector(, downto ()= 4 % 4ut std;logic;#ector(0 downto ())= 6nd 3u+= /rchitecture beh#, o1 3u+ is 7egin )rocess(IG"I0"I,"I("S) 7egin -- use case statement Case S is 9hen M((M H* 4 &H I(= 9hen M(,M H* 4 &H I,= 9hen M,(M H* 4 &H I0= 9hen M,,M H* 4 &H IG= 9hen others H* 4 &H MSSSM= 6nd Case= 6nd )rocess= 6nd beh#,=

Program ) !'ata *lo5$ 2 Library ieee= Cse ieee!std;logic;,,DE!all= 6ntity D6C4D6@ is )ort ( I % In std;logic;#ector (, downto ()=

4% 4ut std;logic;#ector (G downto ())= 6nd D6C4D6@= /rchitecture Data;-low 41 D6C4D6@ Is 7egin -- use 9hen!!6lse statement 4 &H M(((,M 9hen I H M((M 6lse M((,(M 9hen I H M(,M 6lse M(,((M 9hen I H M,(M 6lse M,(((M 9hen I H M,,M 6lse M8888M= 6nd Data;-low= 6.3 T'GAS 7uatlah program untuk CpVDown Counter" @egister" Demultiple+er dan 6ncoder dengan deskripsi /rchitectural yang anda sukai N

Anda mungkin juga menyukai