Anda di halaman 1dari 6

RANGKAIAN LOGIKA SEKUENSIAL

Praktikan: Wiharsa Pragitatama (13210068)


Asisten: Fikri Reza Pratama
Waktu Percobaan: 11 November 2011
EL 2195-Praktikum Sistem Digital
Laboratorium Dasar Teknik Elektro
Sekolah Teknik Elektro dan Informatika ITB

Pada
praktikum
kali
ini,
praktikan
mempelajari tentang rangkaian logika
sekuensial,
desain,
simulasi
dan
impelementasinya pada FPGA. Selain itu,
praktikan
juga
mempelajari
tentang
hierarki pada desain rangkaian. Praktikum
dilakukan dengan membuat desain BCD
Counter dan Divide by N dengan
menggunakan komponen flip-flop. Dari
percobaan
didapatkan
hasil
simulasi
percobaan
pertama
yang
merepresentasikan rangkaian flip-flop pada
counter BCD dimana BCD nilainya akan
bertambah 1 pada saat clock rising
(positive edge) dan akan berubah kembali
menjadi 0 setelah nilainya 9. Sedangkan
pada percobaan kedua, didapatkan hasil
simulasi Divide by N dimana nilai GPIO
akan
menjadi
1
setiap
N
naikan
gelombang. Pada percobaan terakhir,
didapatkan
hasil
impelmentasi
BCD
Counter
yang
memanfaatkan
fungsi
CNTR_TEST dan BCD to 7 segments yang
dibuat pada modul 3.
Kata kunci: Flip-flop, BCD Counter, Divide
by N.
1. Pendahuluan
Rangkaian
Logika
Sekuensial
adalah
rangkaian yang dapat menyimpan data dan
berubah nilainya ketika terjadi perubahan
input. Contoh dari rangkaian ini adalah
flip-flop dan latch. Rangkaian ini sangat
banyak digunakan pada dunia system
digital, contoh sederhananya adalah yang
digunakan pada BCD counter dan Divide by
N.
Pemahaman
pada
rangkaian
logika
sekuensial secara teori maupun praktek
tentunya mutlak diperlukan
seorang
lulusan teknik elektro karena akan menjadi
dasar untuk mempelajari dan menciptakan
rangkaian yang lebih rumit dan kompleks
untuk menciptakan fungsi atau kerja
tertentu. Oleh karena itu, praktikum kali
ini sangat penting bagi pemahaman dan
perkembangan seorang mahasiswa teknik
elektro
sebagai
dasar
ilmu
untuk
menghadapi tantangan dunia kerja yang
lebih rumit dan kompleks.

Adapun tujuan dari percobaan kali ini


adalah :
1.1.
Mengerti perbedaan perilaku antara
latch dan flip flop
1.2.
Mendesain
rangkaian
digital
sekuensial untuk diimplemantasikan di
dalam FPGA
1.3.
Mengenal dan memahami cara
menggunakan hierarki dalam desain
rangkaian
1.4.
Mengenal dan memahami cara
menggunakan FPGA sebagai prototype
system untuk memverifikasi fungsi
rangkaian.
2. Dasar Teori
Rangkaian
Logika
Sekuensial
adalah
rangkaian yang dapat menyimpan data dan
berubah nilainya ketika terjadi perubahan
input. Contoh dari rangkaian ini adalah
flip-flop dan latch. Perbedaan antara flipflop dan latch adalah pada system
pembacaannya. Flip-flop akan membaca
data pada saat terjadi perubahan input
pada clock (rising, atau falling), sedangkan
pada latch, pembacaan akan dilakukan
ketika clock bernilai 1. Contoh aplikasi dari
komponen flip-flop adalah pada BCD
Counter dan Divide by N.

Halaman 1

Abstrak

3.1

2 Divide By N Counter

Seperti rangkaian logika sekuensial yang


lain, tangkaian Divide by N counter juga
dapat menyimpan data dalam rangkaian
tersebut. Divide by N counter merupakan
rangkaian
logika
sekuensial
untuk
melakukan
pencacahan
terhadap
banyaknya periode/sinyal clock yang masuk
ke dalam
rangkaian
tersebut.
Saat
banyaknya periode/sinyal clock yang masuk
mencapai nilai N, maka rangkaian tersebut
akan
mengeluarkan
sinyal
1.
Pada
perkembangannya, rangkaian divide by n
counter
berguna
untuk
melakukan
pembatasan sinyal clock yang masuk pada
rangkaian ketika periode clock tidak bisa
diperlambat dengan perbandingan N : 1.

dan

Memnuat
Memnuat proyek
proyek quartus
quartus dan
dan mengimport
mengimport pin
pin
standard
standard
Membuat
Membuat skematik
skematik diagram
diagram /VHDL
/VHDL "BCD_CNTR"
"BCD_CNTR"
Mensimulasikan
Mensimulasikan BCD_CNTR
BCD_CNTR sebagai
sebagai BCD
BCD Counter
Counter
secara
fungsional
secara fungsional
Membuat
Membuat skematik
skematik diagram/VHDL
diagram/VHDL "CNTR_TEST"
"CNTR_TEST"
untuk
Counter
untuk menguji
menguji BCD
BCD Counter
Simulasikan
CNTR_TEST secara
Simulasikan CNTR_TEST
secara fungsional
fungsional

Gambar 3-1 Diagram Langkah Percobaan 4A

3.2

Percobaan 4B :
Mensimu-lasikan
Counter

Mendesain dan
Divide
By
N

Membuat VHDL
"DIVBY_N"
Membuat
VHDL "DIVBY_N"

BCD(Binary
Code
Decimal)
Counter
merupakan
suatu
rangkaian
logika
sekuensial yang dapat menyimpan data.
Dari sifat tersebut, BCD Counter berguna
untuk melakukan pencacahan bilangan
desimal dari nilai 0 9. Dalam BCD
Counter tersebut terdapat 3 Pin input
yaitu: CLK yang merupakan Clock imput
yang digunakan untuk mengubah data
pada rangkaian, CE yang merupakan Clock
Enable yang berguna untuk menentukan
Clock aktif atau tidak, dan CLR yang
merupakan Clear yang berguna untuk
mereset data pada rangkaian (nilai data
menjadi nol). Sedangkan pada pin output
terdapat 5 pin yaitu Q8, Q4, Q2, Q1 yang
merupakan representasi data BCD yang
disimpan rangkaian dimana Q8 adalah
MSB, dan TC yang merupakan terminal
count yang berguna untuk menentukan
batas dari pencacahan BCD Counter.

Percobaan 4A : Mendesain
Mensimu-lasikan BCD Counter

Membuat Project
Project DIVBY_N
DIVBY_N
Membuat

1 BCD Counter

Simulasikan
secara fungsional
Simulasikan secara
fungsional dengan
dengan
clock
clock 100
100 MHz
MHz atau
atau nilai
nilai yang
yang lain
lain
yang
dapat
merepresentasikan
yang dapat merepresentasikan fungsi
fungsi
Gambar 3-2 Diagram Langkah Percobaan 4B

3.3

Mengaplikasikan Rangkaian BCD


Counter

Membuat
VHDL yang
Membuat VHDL
yang mengkombinasikan
mengkombinasikan CNTR_TEST
CNTR_TEST
dan
Segments untuk
dan BCD
BCD to
to 7
7 Segments
untuk menguji
menguji BCD_CNTR
BCD_CNTR
Membuat
Pin Planner
Membuat Pin
Planner yang
yang sesuai
sesuai dengan
dengan FPGA
FPGA

Mendownload proyek
proyek ke
ke dalam
FPGA
Mendownload
dalam FPGA

Menguji
sudah didownload
Menguji proyek
proyek yang
yang sudah
didownload pada
pada FPGA
FPGA

Gambar 3-3 Diagram Langkah Percobaan 4C

3. Metodologi

1. Komputer

yang

terinstall

program

Dari percobaan yang sudah dilakukan,


didapatkan hasil sebagai berikut :
4.1

Quartus
2. FPGA dan perlengkapannya

Pada

a. Board FPGA type UP2 atau DE1


b. Catu daya dan konektor tambahan
c. Kabel downloader ByteBlaster II
Pada praktikum
percobaan :

4. Hasil dan Analisis

kali

ini,

terdapat

Percobaan 4A : Mendesain
Mensimu-lasikan BCD Counter

dan

langkah awal percobaan 4A ini,


dibuat
kode
VHDL
untuk
merepresentasikan rangkaian BCD
Counter yang akan didesign dengan
memanfaatkan tabel kebenaran BCD
Counter yang dibuat pada Tugas
Pendahuluan
yang
kemudian
disederhanakan
dengan
menggunakan K-Map.

Dibawah ini adalah K-Map untuk masingmasing Port :


Q8Q4|
Q2Q1
00

00

01

11

10

Halaman 2

Alat dan komponen yang digunakan pada


rangkaian ini adalah sebagai berikut :

01
11
10

0
D
1

0
D
0

1
D
D

0
D
D

Tabel 4-1 K-Map untuk FF Input D8

SOP Port D8 : Q8Q1 + Q4Q2Q1


Q8Q4|
Q2Q1
00
01
11
10

00

01

11

10

0
1
D
0

0
1
D
0

1
0
D
D

0
1
D
D

Setelah VHDL selesai dibuat, desain


disimulasikan dengan mode simulasi
fungsional. Hasil waveform yang
didapatkan adalah sebagai berikut :

Tabel 4-2 K Map untuk FF Input D4

SOP Port D4 : Q4 XOR Q1Q2


Q8Q4|
Q2Q1
00
01
11
10

00

01

11

10

0
0
D
0

1
1
D
0

0
0
D
D

1
1
D
D

Tabel 4-3 K Map untuk FF Input D2

SOP Port D2 : Q8(Q1 XOR Q2)


Q8Q4|
Q2Q1
00
01
11
10

00

01

11

10

1
1
D
1

0
0
D
0

0
0
D
D

1
1
D
D

Tabel 4-4 K Map untuk FF Input D2

SOP Port D1: Q1


Q8Q4|
Q2Q1
00
01
11
10

Gambar 4-2 Hasil Waveform untuk BCD Counter

Dari waveform yang didapat dari simulasi


fungsional pada software quartus,
dapat dilihat bahwa VHDL bekerja
dengan baik dan benar. Nilai CLR
diset 1 pada 10 ns pertama untuk
mereset data(menjadi nilai 0), CE
diset pada nilai 1 untuk selalu
mengaktifkan clock. Dan clock diset
sebagai gelombang kotak dengan
periode 10 ns.
Dari

00

01

11

10

0
0
D
0

0
0
D
1

0
0
D
D

0
0
D
D

Tabel 4-5 K Map untuk Output TC

SOP Port TC : Q1 AND Q8


Dari SOP yang didapat dari K-Map diatas,
dibuatlah VHDL yang merepresentasikan
desain BCD Counter :

pengesetan input tersebut, dapat


dilihat bahwa setiap kali clock naik
(possitive edge), nilai data akan
berubah bertambah 1. Dan ketika
nilai data adalah 9, maka nilai TC
akan
berubah
menjadi
1
dan
selanjutnya
data
akan
kembali
bernilai 0 dan TC bernilai 0. Demikian
seterusnya.

Selanjutnya untuk mengetes lebih jauh


tentang desain BCD Counter ini,
dibuatlah
counter
test
yang
mengkombinasikan 2 BCD Counter
yang dibuat.

Counter Test merupakan sebuah desain


yang memanfaatkan 2 BCD Counter untuk
dua digit bilangan decimal yaitu puluhan
dan satuan. Dari gambar, terlihat bahwa
desain Counter Test memanfaatkan desain
BCD Counter yang dibuat pada langkah
awal percobaan 4A. Sehingga, VHDL yang
dibuat hanya mengeset PORT MAP yang
menyesuaikan input output 2 BCD Counter
ke dalam PORT Counter Test. Dari Sifat ini
dibuatlah VHDL untuk Counter Test.
Beikut adalah kode VHDLnya :

Gambar 4-1 Kode VHDL untuk BCD Counter

Halaman 3

Struktur fisik desain Counter terdapat pada


modul praktikum Sistem Digital.

4.2

Percobaan 4B :
Mensimu-lasikan
Counter

Mendesain dan
Divide
By
N

Untuk
board
UP2
yang
digunakan
praktikan pada modul kali ini, nilai N
yang ditentukan adalah 25175.
Dari
Gambar 4-3 Kode VHDL untuk Counter Test

Setelah
membuat
VHDL,
simulasi
fungsional
dan
waveform sebagai berikut.

dilakukan
didapatkan

nilai
N
tersebut,
praktikuan
mengubahnya menjadi bilangan biner
16 digit dan membuat kode VHDL
sesuai desain fisik skematik rangkaian
Divide by N yang terdapat pada
modul.

Hasil Pengubahan N=25175 menjadi biner


adalah :
0110001001010110
Kode VHDL nya adalah sebagai berikut :

Gambar 4-4 Hasil Waveform untuk Counter Test

Gambar 4-5 Kode VHDL untuk Divide by N

Halaman 4

Dari waveform yang didapat dari simulasi


fungsional pada software quartus,
dapat dilihat bahwa VHDL bekerja
dengan baik dan benar. Nilai Q1 yang
merupakan nilai satuan, akan berubah
bertambah 1 ketika Clock rising
(possitive edge). Ketika nilai Q1
adalah 9, TC_1 akan bernilai 1 dan
setelahnya data Q1 dan TC_1 berubah
kembali menjadi 0 sedangkan Q10
yang
merupakan
nilai
puluhan
berubah menjadi 1. Nilai Q10 akan
bertambah 1 setiap kali Q1 benilai 0
yang merepresentasikan bahwa nilai
BCD 2 digit desimal ini adalah 9-1011-12-dst. Pada saat Q1 dan Q10
bernilai 9 yang artinya nilai data
adalah 99, nilai TC_1 dan TC_10 akan
berubah menjadi 1 dan setelahnya
semua data akan kembali 0.

Penjelasan kode VHDL :


Kode VHDL ini dibuat sesuai desain fisik
rangkaian
Divide
by
N
yang
menggunakan komponen count16.
Nilai dari masing-masing temp (signal
input-output) masing-masing digit
dimasukkan
nilai
sesuai
hasil
pengkonversian nilai 25175 kedalam
bilangan biner 16 digit. Selanjutnya
sinyal tersebut difungsikan sebagai
input gerbang AND yang masuk
sebagai input RESET pada count 16
dan output GPIO. Sedangkan output
Q[15..0] pada count16 digunakan
sebagai input yang ditampung pada
signal temp sebagai BUS. Kode ini
akan menghasilkan keluaran GPIO
berubah menjadi 1 untuk sesaat
ketika nilai data sudah mencapai nilai
25175.
Kemudian dilakukan simulasi fungsional
dengan periode Clock 10 ps pada
desain Divide by N ini. Wave form
yang didapatkan adalah sebagai
berikut :

Beikut adalah VHDL yang dibuat untuk


mengimplementasikan BCD Counter ke
dalam FPGA

Gambar 4-7 Kode VHDL untuk implementasi BCD


Counter

Dari port yang terdapat pada vhdl diatas,


dibuat pin planner sebagai berikut :
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Port I/O
CE
CLK
CLR
Dis1_A
Dis1_B
Dis1_C
Dis1_D
Dis1_E
Dis1_F
Dis1_G
Dis2_A
Dis2_B
Dis2_C
Dis2_D
Dis2_E
Dis2_F
Dis2_G

Kaki
28
41
40
17
18
19
20
21
23
24
6
7
8
9
11
12
13

Tabel 4-1 K-Map untuk FF Input D8

Gambar 4-6 Hasil Waveform untuk Divide by N

Namun pada saat didownload, FOGA tidak


bekerja sesuai harapan, selanjutnya untuk
mengetes apakah fungsi bekerja dengan
baik dan benar, dilakukan simulasi
fungsional. Hasil waveformnya adalah
sebagai berikut :

4.3

Mengaplikasikan Rangkaian BCD


Counter

Untuk mengimplementasikan BCD Counter


ke
FPGA,
digunakan
komponen
CNTR_TEST dan BCD to 7 segment yang
dibuat
pada
langkah
sebelumnya.
Sedangkan hal yang dilakukan pada desain
VHDL adalah hanya membuat PORT MAP
utnutk masing-masing komponen yang
menyesuaikan
input/output
desain
implementasi BCD_Counter

Gambar 4-8 Hasil Waveform Implementasi ke FPGA

Dari hasil waveform, terlihat bahwa desain


bekerja
dengan
baik
dan
benar.
Kemungkinan terjadi kerusakan pada FPGA
atau kabel downloader.
5. Kesimpulan
1. Latch
dan
Flip-Flop
merupakan
rangkaian digital sekuensial yang dapat
menyimpan data dalam rangkaian
tersebut.

Halaman 5

Dari gambar terlihat bahwa VHDL bekerja


dengan baik dan benar sesuai desain
yang diharapkan sebelumnya. Dari
penunjukkan timebar terlihat bahwa
nilai GPIO akan berubah menjadi 1
untuk sesaat ketika N= 25175 yang
ditunjukkan dengan nilai 251.75 ns
(perioda gelombang 10 ps, sehingga
ketika nilai waktu 251.75 ns=251750
ps, maka gelombang sudah mencapai
angka 25175 buah).

3. Latch
atau
Flip-Flop
dapat
dikombinasikan
untuk
membentuk
rangkaian digital lain yang lebih
kompleks untuk memenuhi fungsi kerja
tertentu.
4. Rangkaian BCD Counter berguna untuk
melakukan pencacahan dari 0 9,
sedangkan Divide By N Counter
berguna untuk menghitung banyaknya
clock yang masuk ke dalam rangkaian
tersebut.

5. Rangkaian
BCD
Counter
dapat
diimplementesikan dengan rangkaian
digital lain untuk memenuhi fungsi
tertentu, dan rangkaian yang dihasilkan
tetap valid.
6. FPGA
dapat
digunakan
sebagai
prototype untuk mensimulasikan fungsi
rangkaian yang telah dibuat.
6. Daftar Pustaka
1

Brown,Stephen.Vranesic,
Zvonko,
Digital Logic with VHDL Design,
McGrawHill, New York, 2009

Hutabarat. T. Hutabarat, et.al, Buku


Petunjuk Praktikum Digital, Labdasar
Elektro, Bandung, 2011

Halaman 6

2. Perbedaan Latch dan Flip-Flop yaitu


pada Latch data yang terdapat dalam
rangkaian dapat berubah nilai ketika
clock bernilai 1, sedangkan pada FlipFlop, data yang terdapat dalam
rangkaian dapat berubah nilai ketika
clock berada dalam kondisi raising
state atau falling state

Anda mungkin juga menyukai