[modul ke 6]_[13211124-13211125]

14
7/23/2019 [modul ke 6]_[13211124-13211125] http://slidepdf.com/reader/full/modul-ke-613211124-13211125 1/14 MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL Devi Oktama Putri, Lim (13211124) Sebastianus Reynaldi (13211125) Asisten: Mahendra Aditya Tanggal Percobaan: 07/12/2012 EL2195-Prati!" #iste" $igital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB Abstrak Rangkaian digital adalah rangkaian yang paling umum dipakai  pada kehidupan kita sehari-hari akibat kapabilitas dalam melakukan modifkasi rangkaian dibandingkan rangkaian analog. Dalam rangkaian digital memepunyai control, jalur data, dan system itu sendiri. Dengan adanya ketiga hal tersebut mempermudah kita dalam implementasi rangkaian digital ke dunia nyata. Selain itu rangkaian digital ini masih bias dikolaborasikan dengan beberapa sistem pendukung lainnya. Kata kunci: Digital, sistem, kendali,  jalur data. 1 P!"DA#$L$A" Pada praktikum ini praktikan diharapkan dapat membuat suatu sistem digital dengan menggunakan semua bahasan yang telah ada pada modul – modul praktikum sebelumnya. dapun tu!uan dari praktikum ini adalah praktikan dapat menspesi"kasikan suatu sistem digital sederhana# membagi sistem men!adi satu atau lebih !alur data dan kendali# mendesain !alur data untuk sistem# mendesain !alur kendali untuk sistem# mengintegrasikan !alur data dan kendali ke dalam sistem se$ara keseluruhan# melakukan tes menyeluruh terhadap sistem# mengimplementasikan sistem digital menggunakan %P& dan komponen tambahan yang diperlukan # serta mengu!i dan menganalisa sistem yang sudah dibangun. 2 S%$D& P$S%A'A 21Rankaian Sekuensial 'angkaian sekuensial adalah rangkaian yang mempunyai output yang tidak hanya bergantung pada masukan sekarang# melainkan !uga pada masukan sebelumnya (yang lalu). Dari segi susunan# rangkaian se*uensial merupakan suatu rangkaian yang berisi paling sedikit satu elemen memori Se*uential Logi$ +ir$uit atau !uga bisa disebut 'angkaian Logika Sekuensial# adalah rangkaian logika yang memperhatikan adanya faktor $lo$k (,aktu) Prinsi 'er*a 'angkaian sekuensial memiliki prinsip ker!a yang berbeda dengan rangkaian kombinasional. eluaran suatu rangkaian sekuensial tidak hanya tergantung dari kondisi saluran masukannya# tetapi !uga tergantung dari kondisi keluaran sebelumnya. 'angkaian sekuensial memiliki elemen umpan balik. /0 22+D t- . Sement -nverter 'angkaian ini digunakan untuk mengkon1ersikan suatu nilai desimal terkode biner (B+D) ke pola segmen yang sesuai pada display 2 segment. arena nilai B+D adalah nilai 3-bit pada  !angkauan 4-5# bagaimana kita memperlakukan nilai /4-/6

Upload: redy-starwars

Post on 18-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 1/14

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL

Devi Oktama Putri, Lim (13211124)Sebastianus Reynaldi (13211125)

Asisten: Mahendra AdityaTanggal Percobaan: 07/12/2012EL2195-Prati!" #iste" $igital

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro danInformatika ITB

Abstrak 

Rangkaian digital adalahrangkaian yang paling umum dipakai pada kehidupan kita sehari-hari akibat kapabilitas dalam melakukan modifkasi

rangkaian dibandingkan rangkaiananalog. Dalam rangkaian digitalmemepunyai control, jalur data, dansystem itu sendiri. Dengan adanyaketiga hal tersebut mempermudah kitadalam implementasi rangkaian digital kedunia nyata. Selain itu rangkaian digitalini masih bias dikolaborasikan denganbeberapa sistem pendukung lainnya.

Kata kunci: Digital, sistem, kendali, jalur data.

1 P!"DA#$L$A"

Pada praktikum ini praktikandiharapkan dapat membuat suatu sistemdigital dengan menggunakan semuabahasan yang telah ada pada modul –modul praktikum sebelumnya. dapuntu!uan dari praktikum ini adalahpraktikan dapat menspesi"kasikan suatusistem digital sederhana# membagisistem men!adi satu atau lebih !alur datadan kendali# mendesain !alur data untuksistem# mendesain !alur kendali untuksistem# mengintegrasikan !alur data dankendali ke dalam sistem se$arakeseluruhan# melakukan tes menyeluruhterhadap sistem# mengimplementasikansistem digital menggunakan %P& dankomponen tambahan yang diperlukan #serta mengu!i dan menganalisa sistemyang sudah dibangun.

2 S%$D& P$S%A'A21Rankaian Sekuensial

'angkaian sekuensial adalahrangkaian yang mempunyai output

yang tidak hanya bergantung pada

masukan sekarang# melainkan !uga

pada masukan sebelumnya (yang

lalu). Dari segi susunan# rangkaian

se*uensial merupakan suatu

rangkaian yang berisi paling sedikit

satu elemen memori Se*uential

Logi$ +ir$uit atau !uga bisa disebut

'angkaian Logika Sekuensial#

adalah rangkaian logika yang

memperhatikan adanya faktor $lo$k

(,aktu)

Prinsi 'er*a

'angkaian sekuensial memiliki

prinsip ker!a yang berbeda dengan

rangkaian kombinasional. eluaran

suatu rangkaian sekuensial tidak

hanya tergantung dari kondisi

saluran masukannya# tetapi !uga

tergantung dari kondisi keluaran

sebelumnya. 'angkaian sekuensial

memiliki elemen umpan balik.

/0

22+D t- . Sement -nverter

'angkaian ini digunakan untuk

mengkon1ersikan suatu nilai

desimal terkode biner (B+D) ke

pola segmen yang sesuai pada

display 2 segment. arena nilai

B+D adalah nilai 3-bit pada

 !angkauan 4-5# bagaimana kita

memperlakukan nilai /4-/6

Page 2: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 2/14

(don7t $are atau tidak) akan

berpengaruh pada desain.80

Page 3: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 3/14

9eran$ang desain system

9embuat state diagram

9embuat state table

9embuat kode :;DL yangsesuai dengan desain sistem

9eran$ang sistem kendal. data<o,# dan sistem itu sendiri

 9engimpementasikan ke %P&dan L+D (:&)

Statepilih,aktu

State$ounte

r

23 /0AInterfa$e ke :& menggunakan 8

 !enis sinyal# yaitu = sinyal ,arna

(9erah# ;i!au# dan Biru) dan sinyal

sinkron (hori>ontal dan 1erti$al).?0

3 !%ODOLO0&31Peralatan yan diunakan

/. omputer@P+ yang telah

terinstal program Auartus II

5.48. 9onitor L+D?. %P& de1elopment board

LTE' DE/

32Lanka ker*a

4 #AS&L DA" A"AL&S&Sama proyek = Simulasi 'emote +.

Cntuk mode timer akan ada dua

buah state# yaitu state $ounter dan

state memilih ,aktu. Cntuk state

memilih ,aktu adalah untuk

memberikan input yang sesuai

dengan keinginan kita dan pada

akhirnya baru akan dis$ount saat

pindah ke state $ounter. edua

state memiliki output yang berbeda

dan tidak dipengaruhi oleh nilaiinput dari luar. 9aksudnya di sini

bukan terletak pada perpindahan

tiap state# melainkan output

diakibatkan adanya input nilai

,aktu bukan dari input pindah

state.Bila dalam state table hasilnyaadalah=

$urrentstate netstateF4 F/

Pilih ,aktu Pilih ,aktu +ounter$ounter $ounter Pilih ,aktu

 ilai output tergantung dari s,it$h.

SG 4 sampai 6.Cntuk temperature memiliki

beberapa state# yaitu untuk proses

in$rement dan proses de$rement

$urrentstate netstate44 4/ // /4

Std std de$ D in$In$ std D D Banding

De$ std banding D Dbanding std de$ D in$

ilai de$rement dan in$rement

tergantung pada batas yang

diberikan di dalam rangkaian

digital. Di dalamnya terdapat

$omparator yang berfungsi

membandingkan antara nilai input

dan nilai maksimal.

Spesi"kasi =

Pada pembuatan proyek ini# akandibuat sebuah simulasi remote +#

yang memiliki ? mode = oH#

temperatur# dan timer. Temperatur

pada simulasi ini memiliki range

antara /-?8 J +. ;arapan hasil

keluaran dari proyek ini adalah

temperatur + dapat diatur – atur

melalui push button. Satu push

button untuk menaikkan

temperatur# dan satu push button

untuk menurunkan temperatur.eluaran dari nilai temperatur saat

Page 4: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 4/14

ini dapat dilihat melalui B+D to 2

segment yang ada pada %P& .

Bertambah dan berkurangnya

temperatur + !uga diperlihatkan

melalui ,arna yang berubah pada

L+D. kan ada dua kotak pada L+D# !ika temperatur bertambah # maka

akan ada perubahan ,arna dari

putih men!adi hi!au pada kotak

sebelah kiri# sedangkan !ika

temperatur berkurang maka akan

ada perubahan ,arna dari putih

men!adi hi!au pada kotak sebelah

kanan. pabila telah melampaui

batas range# maka kotak akan

ber,arna merah# yakni !ika

temperatur ditambah melebihi ?8J+dan kurang dari /J+.

Cntuk timer# dibuat %S9 untuk

memilih mode antara pengatur !am

atau pengatur menit. Cntuk

men!alankan timer akan ada tombol

enter. Setelah timer ber!alan tidak

akan bisa dihentikan sampai

$ounter men$apai nilai nol. Setelah

men$apai nilai nol# remote akan

mati dengan sendirinya. Cntuk

menampilkan !am dan menitmembutuhkan 3 buah se1en

segment. Pada dasarnya $ounter

akan menerima input $lo$k dari

$lo$kdi1 agar perhitungan mundur

tidak terlalu $epat. Lampu LED akan

berkedip saat hitung mundur mulai

dilakukan dan akan berkedip

mengikuti $lo$k setelah diproses di

$lo$kdi1.

;asil yang didapatkan pada saat

praktikum adalah = Temperatur dan timer belum dapat

digabungkan# akan tetapi dapat

di!alankan se$ara terpisah. Pada

timer# terdapat tampilan pada B+D

to 2 segment berupa menit dan

detiknya. Durasi timer dapat dipilih

melalui s,it$h – s,it$h yang

tersedia (dalam angka biner)

kemudian timer di!alankan dengan

menekan push button paling kiripada %P&. 9isalnya diatur ?4

detik# maka setelah push button

ditekan timer akan $ount do,n dari

?4 sampe 4 kemudian timer

berhenti.Pada temperatur#

digunakan 8 b$d to 2 segment #

;E / untuk puluhan dan ;E 4untuk satuan. Temperatur ini dapat

diatur dinaikkan dengan menekan

push button paling kiri (key ?) dan

diturunkan dengan menekan push

button paling kanan (key 8).

Penaikan dan penurunan

temperatur ini ber!alan selama

berada dalam range (/ – ?8). Saat

dinaikkan kotak sebelah kiri pada

L+D ber,arna hi!au dan saat

diturunkan kotak sebelah kananber,arna hi!au dan saat sudah

mele,ati range (lebihdari ?8)# kotak

sebelah kiri ber,arna merah.

Seharusnya kotak sebelah kanan

 !uga ber,arna merah saat suhu

men$apai K/# akan tetapi hal ini

belum ber!alan (!adi tetap putih

saat K/)

Pen!elasan ode :;DL =

• $olorrom1hdPengubahan – pengubahan yang

dilakukan =

ENTITY color_rom_vhd IS PORT

( selector_up: IN STD_LOGIC_VECTOR(

DO!NTO "#$

selector_do%&: IN STD_LOGIC_VECTOR(

DO!NTO "#$

'_p'el_colum&: IN STD_LOGIC_VECTOR( )

DO!NTO " #$

'_p'el_ro% : IN

STD_LOGIC_VECTOR( ) DO!NTO " #$

o_red : O*T STD_LOGIC_VECTOR(

+ DO!NTO " #$

o_,ree& : O*T STD_LOGIC_VECTOR(

+ DO!NTO " #$

o_-lue : O*T

STD_LOGIC_VECTOR( + DO!NTO " ##$

END color_rom_vhd$

Page 5: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 5/14

Pengubahan di bagian entity yakni pada

sele$torup dan sele$tordo,n #yang

berfungsi sebagai selektor pemilih

,arna pada L+D.

.RC/ITECT*RE -eh0v'or0l O1 color_rom_vhd

IS

co&st0&t -loc2_top :'&te,er:3)$

co&st0&t -loc2_-ottom :'&te,er:345)$

co&st0&t -loc2._le6t :'&te,er:34$

co&st0&t -loc2._r',ht :'&te,er:37")$

co&st0&t -loc28_le6t :'&te,er:379)$

co&st0&t -loc28_r',ht :'&te,er:3574$

s',&0l -loc2. :std_lo,'c$

s',&0l -loc28 :std_lo,'c$

Pada bagian ini# diatur batas – batas

untuk kedua buah kotak# dengan blo$k

sebagai kotak / (kotak penanda

temperatur ditambah) dan blo$kB

sebagai kotak8 (kotak penanda

temperatur dikurang)# sehingga batas

kiri untuk kotak / adalah 3# batas kanan

untuk kotak / adalah ?45# batas kiri

untuk kotak 8 adalah ?85# dan bataskanan utuk kotak 8 adalah ?3#

sedangkan batas atas dan batas ba,ah

untuk kedua kotak adalah sama yakni 5

dan 35.

8EGIN

PROCESS('_p'el_ro%'_p'el_colum&

red,ree&-l0c2%h'te#

8EGIN

  I1 (('_p'el_ro% ; -loc2_top# .ND

('_p'el_ro% < -loc2_-ottom# # .ND

(('_p'el_colum& ;3 -loc2._le6t# .ND

('_p'el_colum& < -loc2._r',ht# # T/EN

-loc2. <3 ==$

ELSE -loc2. <3 ="=$

END I1$

I1 (('_p'el_ro% ; -loc2_top# .ND

('_p'el_ro% < -loc2_-ottom# # .ND

(('_p'el_colum& ;3 -loc28_le6t# .ND

('_p'el_colum& < -loc28_r',ht# # T/EN

-loc28 <3 ==$

ELSE -loc28 <3 ="=$

END I1$

Pada bagian ini diproses untuk

pemberian ,arna# !ika berada pada

batas – batas yang telah ditentukan#maka sinyal untuk memberi ,arna akan

bernilai /# !ika tidak maka 4.

I1 (-loc2. 3 == .ND selector3 >""># T/EN

o_red <3 ?>11>$ o_,ree& <3 ?>11>$ o_-lue <3

?>11>$

  ELSI1 (-loc2. 3 == .ND selector3 >>#

T/EN o_red <3 ?>"">$ o_,ree& <3 ?>11>$

o_-lue <3 ?>"">$

  ELSI1 (-loc2. 3 == .ND (selector3 >">

OR selector3>">## T/EN o_red <3 ?>11>$

o_,ree& <3 ?>"">$ o_-lue <3 ?>"">$

  ELSI1 (-loc28 3 == .ND selector3 >"">#

T/EN o_red <3 ?>11>$ o_,ree& <3 ?>11>$

o_-lue <3 ?>11>$

  ELSI1 (-loc28 3 == .ND (selector3 >">

OR selector3>">## T/EN o_red <3 ?>11>$

o_,ree& <3 ?>"">$ o_-lue <3 ?>"">$

  ELSI1 (-loc28 3 == .ND selector3 >>#

T/EN o_red <3 ?>"">$ o_,ree& <3 ?>11>$

o_-lue <3 ?>"">$

  ELSE o_red <3 ?>"">$ o_,ree& <3 ?>"">$o_-lue <3 ?>"">$

  END I1$

END PROCESS$

END -eh0v'or0l$

Pada bagian ini dilakukan pemberian

,arna pada kotak# !ika sinyal pada kotak

/ (blo$k) dan bernilai /# maka kotak /

akan diberi ,arna sesuai dengan

sele$tornya# begitu pula !ika sinyalkotak8 bernilai / (blo$k B) maka akan

diberi ,arna sesuai dengan sele$tornya.

Sele$tor 44 ber,arna putih# // ber,arna

hi!au# 4/ atau /4 ber,arna merah.

• display1hd

Pengubahan – pengubahan yang

dilakukan

LI8R.RY IEEE$

*SE IEEE@[email protected]$

Page 6: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 6/14

*SE IEEE@STD_LOGIC_.RIT/@.LL$

*SE IEEE@STD_LOGIC_*[email protected]$

 

ENTITY d'spl0A_vhd IS

PORT(

'_cl2 : IN STD_LOGIC$

selector: IN STD_LOGIC_VECTOR(

DO!NTO " #$

VG._R : O*T STD_LOGIC_VECTOR( B

DO!NTO " #$

VG._G : O*T STD_LOGIC_VECTOR( B

DO!NTO " #$

VG._8 : O*T STD_LOGIC_VECTOR( BDO!NTO " #$

VG._/S : O*T STD_LOGIC$

VG._VS : O*T STD_LOGIC$

VG._CL : O*T STD_LOGIC$

VG._8L.N : O*T STD_LOGIC#$

END d'spl0A_vhd$

Pengubahan pada bagian ini =

ditambahkan sele$tor seperti pada$olorrom1hd.

.RC/ITECT*RE -eh0v'or0l O1 d'spl0A_vhd IS

SIGN.L red : STD_LOGIC_VECTOR (B DO!NTO "#$

SIGN.L ,ree&: STD_LOGIC_VECTOR (B DO!NTO

"#$

SIGN.L -lue: STD_LOGIC_VECTOR (B DO!NTO "#$

SIGN.L red_color: STD_LOGIC_VECTOR (+

DO!NTO "#$

SIGN.L ,ree&_color: STD_LOGIC_VECTOR (+

DO!NTO "#$

SIGN.L -lue_color: STD_LOGIC_VECTOR (+

DO!NTO "#$

SIGN.L p'el_ro%: STD_LOGIC_VECTOR ()

DO!NTO "#$

SIGN.L p'el_colum& :STD_LOGIC_VECTOR ()

DO!NTO "#$

SIGN.L red_o& : STD_LOGIC$

SIGN.L ,ree&_o& : STD_LOGIC$

SIGN.L -lue_o& : STD_LOGIC$

Pada bagian ini ditambah sinyal redon#

greenon# blueon untuk menandakan

,arna – ,arna tersebut hidup.

COPONENT v,0 IS

PORT(

'_cl2 : IN STD_LOGIC$

'_red : IN STD_LOGIC$

'_,ree& : IN STD_LOGIC$

'_-lue : IN STD_LOGIC$

o_red : O*T STD_LOGIC$

o_,ree& : O*T STD_LOGIC$

o_-lue : O*T STD_LOGIC$

o_hor'_sA&c : O*T STD_LOGIC$

o_vert_sA&c : O*T STD_LOGIC$

o_p'el_ro% : O*T STD_LOGIC_VECTOR(

) DO!NTO " #$

o_p'el_colum&: O*T STD_LOGIC_VECTOR(

) DO!NTO " ##$

END COPONENT$

COPONENT color_rom_vhd IS

PORT(

selector : IN STD_LOGIC_VECTOR(

DO!NTO " #$

'_p'el_colum& : IN STD_LOGIC_VECTOR(

) DO!NTO " #$

'_p'el_ro% : IN STD_LOGIC_VECTOR( )

DO!NTO " #$

o_red : O*T STD_LOGIC_VECTOR( +

DO!NTO " #$

o_,ree&: O*T STD_LOGIC_VECTOR( +

DO!NTO " #$

o_-lue: O*T STD_LOGIC_VECTOR( +

DO!NTO " ##$

END COPONENT$

Page 7: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 7/14

Bagian ini mengMin$ludeM $olorrom1hd

dalam display1hd

8EGIN

v,0_dr'ver" : v,0

PORT .P (

  '_cl2 3; '_cl2

  '_red 3; ==

  '_,ree& 3; ==

  '_-lue 3; ==

  o_red 3; red_o&

  o_,ree& 3; ,ree&_o&

  o_-lue 3; -lue_o&

  o_hor'_sA&c 3; VG._/S

  o_vert_sA&c 3; VG._VS

  o_p'el_ro% 3; p'el_ro%

  o_p'el_colum& 3; p'el_colum&#$

color_rom" : color_rom_vhd

PORT .P (

  selector 3; selector

  '_p'el_colum& 3; p'el_colum&

  '_p'el_ro% 3; p'el_ro%

  o_red 3; red_color

  o_,ree& 3; ,ree&_color

  o_-lue 3; -lue_color#$

  red <3 red_color (+ DO!NTO 9# $

,ree& <3 ,ree&_color(+ DO!NTO 9# $

-lue <3 -lue_color (+ DO!NTO 9# $

Bagian ini memport map 1ga1hd dan

$olorrom1hd ke display1hd

PROCESS(red_o&,ree&_o&-lue_o&red,ree&-

lue#

8EGIN

  I1 (red_o& 3 == # T/EN VG._R <3 red$

  ELSE VG._R <3 >"""""">$

  END I1$

  I1 (,ree&_o& 3 == # T/EN VG._G <3

,ree&$

  ELSE VG._G <3 >"""""">$

  END I1$

  I1 (-lue_o& 3 == # T/EN VG._8 <3 -lue$

  ELSE VG._8 <3 >"""""">$

  END I1$

END PROCESS$

END -eh0v'or0l$

Bagian ini memberi ,arna !ika onred

berlogika / maka diberi ,arna merah#

 !ika onblue berlogika / maka diberi

,arna biru# dan !ika ongreen berlogika /

maka diberi ,arna hi!au.

• tople1el1hd

ENTITY top_level_vhd IS

PORT(

CLOC_B" : IN STD_LOGIC$selector_up: IN STD_LOGIC_VECTOR(

DO!NTO " #$selector_do%&: IN STD_LOGIC_VECTOR(

DO!NTO " #$VG._R : O*T

STD_LOGIC_VECTOR( B DO!NTO " #$VG._G : O*T

STD_LOGIC_VECTOR( B DO!NTO " #$VG._8 : O*T

STD_LOGIC_VECTOR( B DO!NTO " #$VG._/S : O*T STD_LOGIC$VG._VS : O*T STD_LOGIC$VG._CL : O*T STD_LOGIC$VG._8L.N : O*T STD_LOGIC$GPIO_" : O*T

STD_LOGIC_VECTOR( 7B DO!NTO " #$LEDR : O*T

STD_LOGIC_VECTOR( ) DO!NTO " ##$END top_level_vhd$

Pada bagian entity ditambahkan sele$tor

untuk memilih ,arna.

.RC/ITECT*RE -eh0v'or0l O1 top_level_vhd

IS

Bagian ini mengin$lude display1hd ke

tople1el1hd 

COPONENT d'spl0A_vhd IS

Page 8: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 8/14

PORT(

'_cl2 : IN STD_LOGIC$

selector_up: IN STD_LOGIC_VECTOR(

DO!NTO " #$selector_do%&: IN STD_LOGIC_VECTOR(

DO!NTO " #$VG._R : O*TSTD_LOGIC_VECTOR( B DO!NTO " #$VG._G : O*T STD_LOGIC_VECTOR( B

DO!NTO " #$VG._8: O*T STD_LOGIC_VECTOR( B

DO!NTO " #$VG._/S : O*T STD_LOGIC$VG._VS : O*T STD_LOGIC$VG._CL : O*T STD_LOGIC$VG._8L.N : O*T STD_LOGIC#$END COPONENT$

8EGIN

Bagian di ba,ah ini memport map

display1hd.1hd ke tople1el1hd

module_v,0 : d'spl0A_vhd

PORT .P (

'_cl2 3; CLOC_B"selector_up3;selector_upselector_do%& 3;selector_do%&VG._R

3; VG._RVG._G 3; VG._GVG._8 3; VG._8VG._/S 3; VG._/SVG._VS 3; VG._VSVG._CL 3; VG._CL

VG._8L.N 3; VG._8L.N#$

LED<3>"""""""""">$LEDR<3LED$

END -eh0v'or0l$

• temperatur.1hd

e&t'tA temper0tur 's

port (cloc2_'& : '& std_lo,'c$

cloc2_out : -u66er std_lo,'c$

'_tom-ol : IN STD_LOGIC$

'_tom-ol9 : IN STD_LOGIC$

VG._red : out std_lo,'c_vector (B

do%&to "#$

VG._,ree&: out std_lo,'c_vector (B

do%&to "#$

VG._-lue: out std_lo,'c_vector (B

do%&to "#$

VG._hor : out std_lo,'c$

VG._vert: out std_lo,'c$

VG._CLOC : O*T STD_LOGIC$

VG._8L : O*T STD_LOGIC$

LEDRED : O*T STD_LOGIC_VECTOR( )

DO!NTO " #$

GPIO_ : O*T STD_LOGIC_VECTOR( 7BDO!NTO " #$

/E?" : O*T STD_LOGIC_VECTOR (5

do%&to "#$

/E?: O*T STD_LOGIC_VECTOR (5

do%&to "#

/E?9 : O*T STD_LOGIC_VECTOR (5

do%&to "#$

/E?7 : O*T STD_LOGIC_VECTOR (5

do%&to "##$

e&d temper0tur$

Pada bagian ini dideklarasikan port –port

dalam temperatur# yakni $lo$kin dan

$lo$kout untuk mengatur ,aktu#

itombol/ sebagai tombol untuk

menambah temperatur# itombol 8 untuk

mengurangi temperatur# :&red#

:&green# :&blue # :&hor#

:&1ert berfungsi untuk pe,arnaan#

LED'ED berfungsi untuk menyalakan

lampu LED merah# ;E 4 untuk angkasatuan# dan ;E / untuk angka puluhan

0rch'tecture structur0l o6 temper0tur 's

s',&0l m0cou&t :'&te,er:379$

s',&0l m'&cou&t :'&te,er:35$

s',&0l p'l'h0& :std_lo,'c_vector(

do%&to "#$

s',&0l p'l'h0&9 :std_lo,'c_vector(

do%&to "#$

s',&0l 2 :'&te,er$

s',&0l /" :std_lo,'c_vector(7 do%&to

"#$

s',&0l / :std_lo,'c_vector(7 do%&to

"#$

s',&0l /9 :std_lo,'c_vector(7 do%&to

"#$

s',&0l /7 :std_lo,'c_vector(7 do%&to

"#$

s',&0l s0tu0& :'&te,er$

Page 9: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 9/14

s',&0l puluh0& :'&te,er$

Pada bagian ini ma$ount adalah nilai

maksimum temperatur yakni ?8#

min$ount adalah nilai minimum

temperatur yakni /# pil untuk memilih

,arna# k sebagai hasil dari penambahandan pengurangan temperatur# ;4 #;/#

satuan # puluhan memberi sinyal pada

;E 4 dan ;E /.

compo&e&t cloc2d'v 's

port(CL :'& std_lo,'c$

DIVO*T :-u66er std_lo,'c

#$

e&d compo&e&t$

compo&e&t dou-le+se, 's

port (

'&_ :'& std_lo,'c_vector(7 do%&to "#$

'&_9 :'& std_lo,'c_vector(7 do%&to "#$

'&_7 :'& std_lo,'c_vector(7

do%&to "#$

'&_4 :'& std_lo,'c_vector(7

do%&to "#$

out_ :out std_lo,'c_vector(5 do%&to "#$

out_9 :out std_lo,'c_vector(5 do%&to "#$

out_7 :out std_lo,'c_vector(5 do%&to "#$

out_4 :out std_lo,'c_vector(5 do%&to "##$

e&d compo&e&t$

compo&e&t top_level_vhd 's

port (

CLOC_B" : IN STD_LOGIC$

selector_up :IN

STD_LOGIC_VECTOR( DO!NTO " #$

selector_do%& : IN STD_LOGIC_VECTOR(

DO!NTO " #$

push : '& std_lo,'c_vector( do%&to "#$

VG._R : O*T STD_LOGIC_VECTOR( B DO!NTO " #$

VG._G : O*T STD_LOGIC_VECTOR( B DO!NTO " #$

VG._8 : O*T STD_LOGIC_VECTOR( B DO!NTO " #$

VG._/S : O*T STD_LOGIC$

VG._VS : O*T STD_LOGIC$

VG._CL : O*T STD_LOGIC$

VG._8L.N : O*T STD_LOGIC$

GPIO_" : O*T STD_LOGIC_VECTOR( 7B DO!NTO

" #$

LEDR : O*T STD_LOGIC_VECTOR( ) DO!NTO "

##$

e&d compo&e&t$

Bagian ini mengin$lude $lo$kdi1.1hd#

double2seg1hd dan tople1el1hd.1hd ketemperatur.1hd

8EGIN

C:cloc2d'v port

m0p(CL3;cloc2_'&DIVO*T3;cloc2_out#$

%0r&0 : top_level_vhd port m0p (

CLOC_B" 3;cloc2_'&

selector_up 3;p'l'h0&

selector_do%& 3;p'l'h0&9

VG._R 3;VG._red

VG._G 3;VG._,ree&

VG._8 3;VG._-lue

VG._/S 3;VG._hor

VG._VS 3;VG._vert

VG._CL 3;VG._CLOC

VG._8L.N 3;VG._8L

GPIO_" 3;GPIO_

LEDR 3;LEDRED

#$

Bagian ini memport map $lo$kdi1 dan

tople1el1hd ke temperatur.1hd

process('_tom-ol'_tom-ol9p'l'h0&p'l'h0

&92#

-e,'&

c0se '_tom-ol 's

Page 10: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 10/14

%he& ="=3;

'6 2<79 0&d 2;5 the&

p'l'h0&<3>>$

els'6 2;379 0&d 2<35 the&

p'l'h0&<3>">$

e&d '6$

%he& others 3; p'l'h0&<3>"">$

e&d c0se$

c0se '_tom-ol9 's

%he& ="=3;

'6 2<79 0&d 2;5 the&

p'l'h0&9<3>>$

els'6 2;379 0&d 2<35 the&

p'l'h0&9<3>">$

e&d '6$

%he& others 3; p'l'h0&9<3>"">$

e&d c0se$

e&d process$

process(/"//7/9s0tu0&puluh0&#

-e,'&

/"<3std_lo,'c_vector(to_u&s',&ed(s0tu0&4##

$

/<3std_lo,'c_vector(to_u&s',&ed(puluh0&4#

#$

/9<3>"""">$

/7<3>"""">$

e&d process$

seve&se,me&t:dou-le+se, port m0p(

'&_3;/"

'&_93;/

'&_73;/9

'&_43;/7

out_3;/E?"

out_93;/E?

out_73;/E?9

out_43;/E?7

#$

e&d structur0l$

Pada bagian ini# k mula – mula diberi

nilai /. Nika tombol/ (key ?) ditekan

maka !ika temperatur saat ini belum

melebihi ?8 maka nilai k akan

bertambah. ilai k ini kemudian

dikon1ersikan ke angka satuan dan

puluhan# yakni puluhan dengan k di1 /4

dan satuan dengan k mod /4. Nikatombol 8 ditekan (key 8) maka !ika

temperatur saat ini masih bernilai OF /

maka k akan berkurang. ilai k ini

kemudian dikon1ersikan ke angka satuan

dan puluhan# yakni puluhan dengan k di1

/4 dan satuan dengan k mod /4.

Lalu push button di$o$okan dengan

,arna yang mun$ul di L+D. etika

tombol/ ditekan dan nilai k masih

berada pada range maka pil men!adi //#dan !ika diluar range men!adi /4#

sedangkan !ika tidak dipen$et men!adi

44. // adalah hi!au# /4 adalah merah

dan 44 adalah putih.

• timer

e&t'tA t'mer 's

port(cloc2_'& :'& std_lo,'c$

cloc2_out :-u66er std_lo,'c$

mode :'& std_lo,'c$

cou&ter :'& std_lo,'c$

'&_t'me :'& std_lo,'c_vector(B

do%&to "#$

/E?" :out std_lo,'c_vector(5

do%&to "#$

/E? :out std_lo,'c_vector(5

do%&to "#$

Page 11: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 11/14

/E?9 :out std_lo,'c_vector(5

do%&to "#$

/E?7 :out std_lo,'c_vector(5

do%&to "#

#$

e&d t'mer$

Bagian ini berisi pendeklarasian port

dalam timer# yakni $lo$kin dan

$lo$kout untuk mengatur ,aktu# mode

untuk mengatur perubahan antar mode#

intime sebagai ,aktu masukan untuk

timer# dan ;E 4 serta ;E / berfungsi

untuk tampilan ke B+D to 2 segment.

0rch'tecture -eh0ve o6 t'mer 's

s',&0l temp_m'&ute

:std_lo,'c_vector(B do%&to "#$

s',&0l temp_hour

:std_lo,'c_vector(B do%&to "#$

s',&0l t_m'&ute

:'&te,er$

s',&0l t_hour :'&te,er$

s',&0l cou&t_m'&ute

:'&te,er:3t_m'&ute$

s',&0l cou&t_hour:'&te,er:3t_hour$

Bagian ini berfungsi untuk menyimpan

dahulu masukan sebelum diolah.

tApe eecut'o&st0,e 's (ss9#$

s',&0l curre&tst0te :eecut'o&st0,e:3s$

s',&0l &etst0te :eecut'o&st0,e$

s',&0l /":std_lo,'c_vector(7 do%&to "#$

s',&0l /:std_lo,'c_vector(7 do%&to "#$

s',&0l /9:std_lo,'c_vector(7 do%&to "#$

s',&0l /7:std_lo,'c_vector(7 do%&to "#$

s',&0l st0rt_cou&t :std_lo,'c$

Pada bagian ini ;4#;/#;8#;? berfungsi

sebagai masukan timer pada keempat

b$d to 2 segment.

FF0dd'&, 4 seve&Fse,me&t compo&e&ts@

compo&e&t dou-le+se, 's

port('&_ :'& std_lo,'c_vector(7

do%&to "#$

'&_9 :'& std_lo,'c_vector(7

do%&to "#$

'&_7 :'& std_lo,'c_vector(7

do%&to "#$

'&_4 :'& std_lo,'c_vector(7

do%&to "#$

out_ :out std_lo,'c_vector(5

do%&to "#$

out_9 :out std_lo,'c_vector(5

do%&to "#$

out_7 :out std_lo,'c_vector(5

do%&to "#$

out_4 :out std_lo,'c_vector(5

do%&to "##$

e&d compo&e&t$

Bagian ini mengin$lude double2seg pada

timer.

-e,'&

cloc2:cloc2d'v port

m0p(CL3;cloc2_'&DIVO*T3;cloc2_out#$

process(t_hourt_m'&utetemp_hourtemp_m'&u

te#

-e,'&

t_hour<3to_'&te,er(u&s',&ed(temp_hour##$

t_m'&ute<3to_'&te,er(u&s',&ed(temp_m'&ute##

$

e&d process$

process(curre&tst0temode'&_t'mest0rt_cou

&t#

-e,'&

c0se curre&tst0te 's

%he& s3;

st0rt_cou&t<3="=$

'6 mode3== the&

temp_hour<3'&_t'me$

Page 12: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 12/14

els'6 mode3="= the&

temp_m'&ute<3'&_t'me$

e&d '6$

&etst0te<3s9$

%he& s93;

st0rt_cou&t<3==$

&etst0te<3s$

%he& others 3;

st0rt_cou&t<3st0rt_cou&t$

e&d c0se$

e&d process$

FF0dd'&, cloc2 d'v'der

compo&e&t cloc2d'v 's

port(CL :'& std_lo,'c$

DIVO*T :-u66er std_lo,'c#$

e&d compo&e&t$

Pada bagian ini terdapat 8 state (s/ dan

s8). Nika s/# start$ount a,alnya mati#kemudian !ika mode / (s,it$h dinaikkan)

untuk memasukkan nilai !am ke %P&#

dan mode 4 (s,it$h diturunkan) untuk

memasukkan menit ke %P&. Nika

$urrentstate s8# maka mulai

menghitung. ilai $urrent state berubah

men!adi netstate pada bagian di ba,ah

ini

process(cou&tercloc2_out#

-e,'&

'6 cloc2_out=eve&t 0&d cloc2_out3== the&

'6 cou&ter3="= the&

curre&tst0te<3&etst0te$

else

curre&tst0te<3curre&tst0te$

e&d '6$

e&d '6$

e&d process$

Bagian berikutnya memproses $lo$kout

process(cloc2_out#

-e,'&

'6 cloc2_out=eve&t 0&d cloc2_out3== the&

'6 st0rt_cou&t3="= the&

cou&t_m'&ute<3t_m'&ute$

cou&t_hour<3t_hour$

else

'6 st0rt_cou&t3== the&

'6 cou&t_m'&ute;3" the&

cou&t_m'&ute<3cou&t_m'&uteF

$

els'6 cou&t_m'&ute<3" the&

cou&t_hour<3cou&t_hourF$

cou&t_m'&ute<3B)$

els'6 cou&t_m'&ute<3" 0&d

cou&t_hour<3" the&

cou&t_hour<3"$

cou&t_m'&ute<3"$

e&d '6$

e&d '6$

e&d '6$

e&d '6$

e&d process$

 Nika start$ount F 47 maka nilai !am dan

menit tetap# !ika start$ount F /7 maka

 !ika menit lebih dari 4 # maka menit akan

berkurang# !ika menit sudah kurang dari

4 maka menit men!adi 65# sedangkan

nilai !am dikurang /# sedangkan !ika nilai

 !am dan menit sudah men$apai kurang

dari 4 # maka nilai !am dan menit

men!adi 4.

process(st0rt_cou&tt_m'&utet_hourcou&t_m

'&utecou&t_hour#

-e,'&

'6 st0rt_cou&t3="= the&

Page 13: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 13/14

/"<3std_lo,'c_vector(to_u&s',&ed(t_m'&ute

mod "4##$

/<3std_lo,'c_vector(to_u&s',&ed(t_m'&ute

"4##$

/9<3std_lo,'c_vector(to_u&s',&ed(t_hour mod

"4##$

/7<3std_lo,'c_vector(to_u&s',&ed(t_hour

"4##$

els'6 st0rt_cou&t3== the&

/"<3std_lo,'c_vector(to_u&s',&ed(cou&t_m'&u

te mod "4##$

/<3std_lo,'c_vector(to_u&s',&ed(cou&t_m'&u

te "4##$

/9<3std_lo,'c_vector(to_u&s',&ed(cou&t_hour

mod "4##$

/7<3std_lo,'c_vector(to_u&s',&ed(cou&t_hour

"4##$

else

/"<3/"$

/<3/$

/9<3/9$

/7<3/7$

e&d '6$

e&d process$

seve&se,:dou-le+se, port m0p(

'&_ 3;/"

'&_9 3;/

'&_7 3;/9

'&_4 3;/7

out_ 3;/E?"

out_9 3;/E?

out_7 3;/E?9

out_4 3;/E?7

#$

e&d -eh0ve$

Bagian ini memproses tampilan ke B+D

to 2 segment. Nika start$ount F 47 #

maka tampilan pada ;E4 adalah menit

a,al mod /4# ;E / adalah menit a,al

di1 /4# ;E 8 adalah !am a,al mod /4#

dan ;E ? adalah !am a,al di1 /4.

 Nika start$ount F /7 (mulai $ount

do,n)# maka tampilan pada ;E4 adalah

menit sekarang mod /4# ;E/ adalah

menit sekarang di1 /4# ;E8 adalah !am

sekarang mod /4# ;E? adalah !am

sekarang di1 /4.

5 '!S&P$LA"

• Bagian timer dan temperatur

belum dapat digabungkan# akan

tetapi masing – masing

temperatur dan timer ber!alan

dengan baik.• Cntuk timer# $ount do,n ber!alan

dengan baik. Cntuk memulai

$ount do,n tekan push button

paling kiri# untuk reset !uga

dengan menekan push button

paling kiri.• Cntuk temperatur# untuk

menaikkan temperatur dilakukan

dengan menekan push button

paling kiri dan pada L+D kotak

sebelah kiri akan ber,arna hi!au !ika masih berada di dalam range

(/-?8) dan akan ber,arna

merah !ika sudah melebihi ?8.

Cntuk penurunan temperatur

dilakukan dengan menekan push

button paling kiri kedua (key8)

dan akan ber,arna hi!au !ika

masih berada dalam range. Cntuk

indikator !ika mele,ati range

(,arna merah) masih belum

dapat ber!alan sehingga !ikamele,ati range tetap ber,arna

putih.

DA%AR P$S%A'A

/0http=@@s,eetydyah.blogspot.$om@8445

@[email protected]

80 ;utabarat# T.9er1in# et.al# 9odul

Praktikum Sistem Digital# Laboratorium

Dasar Teknik Elektro Sekolah Teknik

Page 14: [modul ke 6]_[13211124-13211125]

7/23/2019 [modul ke 6]_[13211124-13211125]

http://slidepdf.com/reader/full/modul-ke-613211124-13211125 14/14

Elektro dan Informatika# Bandung# 84/8#

halaman 64-6/

?0 ;utabarat# T.9er1in# et.al# 9odul

Praktikum Sistem Digital# Laboratorium

Dasar Teknik Elektro Sekolah Teknik

Elektro dan Informatika# Bandung# 84/8#

halaman 24-2/.