Anda di halaman 1dari 67

MODUL PRAKTIKUM RANGKAIAN LOGIKA

LABORATORIUM TEKNIK DIGITAL


FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
PELINDUNG
Dekan FAKULTAS TEKNIK ELEKTRO
Dr. Ir. Rina Pudji Astuti M.T.

Kepala Bidang Keahlian


Achmad Rizal, Ssi., MT

Koordinator Dosen Rangkaian Logika


Denny Darlis, Ssi., MT

Dosen Pembimbing Laboratorium


Estananto, M.Sc

PELAKSANA
Koordinator Asisten
Gede Teguh Laksana

Sekretaris dan Bendahara


Clara Amanda

Administrasi
Rizka Fadhilla

Divisi Praktikum
Muhammad Aditya Taufik
Ridwan Pratama
Garizah Ganih Pranoto

Divisi Hardware
Widi Tama Salman
Wahyu Yanuar Arifin
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Divisi Riset and Development
Faisal Arifin
Riandanu Aldy Sadewo
Hannan Aulia Mardhiah Harahap
Dwi Kurniawan

Divisi RNS
Fujitson Simamora
Fista Monica Deswanti
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
TATA TERTIB PELAKSANAAN PRAKTIKUM
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO

1. ATURAN UMUM
a. Semua praktikan wajib menggunakan seragam sesuai peraturan resmi seragam Universitas Telkom dan wajib
memakai sepatu.
b. Praktikan laki laki : Baju wajib dimasukkan untuk hari Senin Rabu.
c. Praktikan perempuan : Bawahan rok berwarna biru dongker atau hitam.
d. Tidak diperbolehkan memakai bawahan selain celana / rok bahan biru dongker atau hitam sesuai dengan
aturan kampus Universitas Telkom.
e. Rambut harus rapi (untuk laki-laki, rambut tidak boleh menyentuh kerah).
f. Kelengkapan praktikum meliputi kartu praktikum (Kartu praktikum wajib diberi foto dan distempel oleh
Laboratorium Teknik Digital).
g. Praktikan diberikan waktu sampai tes awal berakhir untuk melengkapi segala kelengkapan praktikum yang
tidak dibawa.
h. Apabila praktikan tidak membawa kelengkapan praktikum, maka praktikan wajib melapor ke asisten.
i. Segala bentuk pelanggaran yang dilakukan oleh praktikan akan diberikan sanksi berupa tugas tambahan yang
diberikan di akhir praktikum oleh Laboratorium Teknik Digital.
j. Praktikan tidak diperbolehkan melakukan bentuk intimidasi. Segala bentuk intimidasi akan ditindaklanjuti oleh
Fakultas Teknik Elektro.
2. PELAKSANAAN PRAKTIKUM
Praktikum dimulai sesuai waktu yang telah ditentukan.
Praktikan sebaiknya datang 15 menit sebelum praktikum dimulai.
Apabila praktikan terlambat lebih dari 20 menit tanpa alas an yang jelas, maka praktikan tidak diijinkan
mengikuti praktikum untuk modul tersebut dan harus mengulang di tahun depan.
Praktikum diselenggarakan selama 2,5 jam.
Kartu praktikum wajib dibawa oleh praktikan dimana diserahkan dan ditandatangani oleh asisten yang
menjaganya pada saat itu.
Praktikan dapat melaksanakan praktikum setelah mendapatkan instruksi dari asisten praktikum.
Selama praktikum berlangsung, praktikan dilarang:
Membuat kegaduhan di dalam ruangan.

Mengubah konfigurasi Software/Hardware.

Meninggalkan ruangan praktikum tanpa izin asisten.


Makan, minum, dan merokok.

Telepon/SMS tanpa izin asisten.

Melakukan perbuatan yang tidak pantas dilakukan selama praktikum berlangsung.


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
3. KEHADIRAN
Praktikan berkewajiban mengikuti semua modul praktikum. Ketidakikutsertaan pada satu modul, maka
modul tersebut mendapatkan nilai nol dan tidak lulus praktikum Rangkaian Logika. Praktikan yang sakit harus
memberikan surat keterangan sakit dari Rumah Sakit dan ditandatangani oleh dokter yang memeriksa dan dibawa
ke Laboran (Maksimal 1 modul praktikum). Tidak ada Praktikum susulan bagi Praktikan.

4. PROSEDUR TUKAR JADWAL


a. Pertukaran jadwal praktikum paling lambat 1 hari sebelum praktikum dimulai yang bersangkutan dilaksanakan
dan atas persetujuan asisten kemudian kedua praktikan tersebut wajib mengisi formulir tukar jadwal yang
harus dibawa pada saat melaksanakan praktikum dengan jadwal yang baru dan diserahkan kepada asisten
yang menjaga saat itu.
b. Tukar jadwal hanya bisa dilakukan 1 kali sesama praktikan dengan modul yang sama dalam 1 periode
praktikum
c. Praktikan dilarang menyusup pada jadwal praktikum yang lain, bila hal tersebut terjadi maka praktikan
dianggap gugur pada modul tersebut.

5. PENILAIAN PRAKTIKUM
a. Tugas Pendahuluan
Tugas pendahuluan akan dikeluarkan setiap dua minggu sekali oleh Fakultas.
Tugas Pendahuluan bersifat optional untuk dikerjakan. Jika tidak mengerjakan, maka nilai TP = 0.
Format penulisan TP : soal-jawaban.
Praktikan yang mengerjakan TP wajib mengerjakan SEMUA soal TP. Jika ada salah satu atau lebih soal TP
yang tidak dikerjakan, maka nilai TP=0.
Tidak boleh masteran. Jika terbukti masteran, maka nilai TP=0.
Tugas Pendahuluan ditulis tangan dalam buku TP sesuai ketentuan yang ditetapkan.
Penulisan Tugas Pendahuluan menggunakan alat tulis bolpoint (pensil tidak boleh), termasuk gambar dan
hitungan
Tugas pendahuluan dikeluarkan oleh Fakultas Teknik Elektro pada H-4 pelaksanaan praktikum
Tugas pendahuluan dikumpulkan di Laboratorium Teknik Digital pada hari senin pukul 07.00 - 09.00
WILTD. Jika melebihi waktu yang ditentukan nilai TP sama dengan NOL.
Praktikan yang tidak mengerjakan TP hanya menulis soal maka nilai TP sama dengan NOL. TP bersifat
Optional, tapi jika tidak mengerjakan TP sama dengan NOL.
Tugas pendahuluan dikumpulkan tiap-tiap kelompok secara bersamaan dalam sebuah amplop coklat yang
telah diberi nomor kelompok dan stempel Laboratorium Teknik Digital
Praktikan yang tidak mengumpulkan TP kedalam amplop kelompok masing-masing maka nilai TP
mendapat diskon 50%
Pengumpulan Tugas Pendahuluan boleh diwakilkan dengan ketentuan apabila TP yang dititipkan ternyata
tidak ada maka praktikan yang menitip mendapatkan nilai TP sama dengan NOL .
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
b. Tes Awal
Tes awal akan dilaksanakan pada saat praktikum.
Waktu untuk mengerjakan tes awal berkisar 15 20 menit.
Asisten berhak menentukan sifat Tes Awal (lisan atau tulisan) tanpa memberikan pemberitahuan terlebih
dahulu.
Tidak ada penambahan waktu pengerjaan tes awal bagi praktikan yang datang terlambat saat praktikum.

c. Jurnal Praktikum
Jurnal diberikan sebelum praktikum.
Jurnal dikerjakan dengan izin asisten yang menjaga saat itu.
Jurnal harus dikerjakan seluruhnya.
Jurnal praktikum dikerjakan setelah pelaksanaan praktikum berakhir selama 30 menit dan dikumpulkan
pada hari yang sama dengan praktikum modul tersebut.
Praktikan yang tidak mengumpulkan jurnal dianggap gugur pada praktikum modul tersebut.
Pengumpulan jurnal harus dilaksanakan di laboratorium dan tidak dapat diwakilkan.
Isi jurnal harus ditulis dengan bolpoin, kecuali untuk gambar dapat menggunakan pensil dan
menggunakan penggaris.

d. Tes Akhir
Tes akhir bersifat fleksibel.

e. Penilaian
Tugas Pendahuluan : 20 %
Tes Awal : 20 %
Praktikum : 40 %
Jurnal Praktikum : 20 %

Batas nilai kelulusan minimum 60 % per modul.

6. KELULUSAN PRAKTIKUM
a. Memenuhi semua kelengkapan praktikum (mengikuti semua modul praktikum).
b. Nilai akhir suatu mata praktikum dihitung dengan cara :
Jumlah nilai masing masing modul
NMP =
Jumlah Modul

c. Suatu mata praktikum dinyatakan lulus apabila indeks mata praktikum minimal C dan semua mata
percobaan/modul pada mata praktikum tersebut lulus.
d. Apabila nilai mata praktikum tidak lulus maka praktikan wajib mengulang semua mata percobaan/modul
dalam mata praktikum tersebut.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
7. LAIN LAIN
a. Selama berlangsungnya praktikum, asisten berhak untuk menegur atau mengeluarkan praktikan yang
dianggap belum siap mengikuti praktikum.
b. Hal lain yang belum tercantum dalam tata tertib ini akan ditetapkan kemudian.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
MODUL I

PENGENALAN IC DAN REALISASI RANGKAIAN KOMBINASIONAL

A. Tujuan Praktikum
a. Mengenal dan memahami macam macam IC dan alat pendukung lainnya.
b. Memahami metode perancangan rangkaian logika yang dibentuk dari gerbang logika dasar.
c. Mengenal dan memahami prinsip kerja decoder, adder, dan multiplexer.
d. Mengetahui dan dapat mengaplikasikan konsep perancangan rangkaian decoder dan multiplexer.
e. Mengetahui dan memahami aplikasi rangkaian driver seven segment.

B. Peralatan Praktikum
a. Digiboard
b. IC 74LS00, IC 74LS02, IC 74LS04, IC 74LS08, IC 74LS32, IC 74LS138, IC 74LS47, 7-Segment anode/ Cathode

C. Pengenalan IC
Intergrated Circuit (IC) adalah suatu komponen elektronik yang terbuat dari
bahan semikonduktor, dimana IC merupakan gabungan dari komponen seperti
Resistor, Kapasitor, Dioda, dan Transistor yang telah terintegrasi menjadi sebuah
rangkaian berbentuk chip kecil. IC digunakan untuk beberapa keperluan pembuatan
peralatan elektronik agar mudah dirangkai menjadi peralatan yang berukuran relative
kecil.
Pada umumnya, IC gerbang logika dasar memiliki 14 pin, dengan pin 1
ditandai dengan tanda dot atau lekukan setengah lingkaran. Untuk gerbang logika dasar pada pin 14 diberi catuan
ke VCC dan pin 7 di-ground-kan. Untuk penomoran IC, pin 2,3,4, dan seterusnya berurutan berlawanan arah jarum
jam.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Dalam praktikum, yang akan digunakan adalah IC TTL (Transistor-Transistor Logic). IC TTL bekerja pada
supply tegangan 5V. Berikut adalah teknik penomoran atau penamaan IC untuk tipe TTL:

Keterangan :

A = SN = Perusahaan atau Pabrik Pembuat IC

B = 74 = Kelompok IC

C = LS = Sub Family IC

D = 08 = Tipe dari chip

E = N = Kemasan
(T untuk rangkap dua jalur keramik dan untuk bahan metal datar. N untuk rangkap dua jalur egativ).

D. Perancangan Rangkaian
a. Penyederhanaan
Penyederhanaan dilakukan untuk penghematan ruang kerja dan biaya. Penyederhanaan dapat
dilakukan dengan banyak metode, diantaranya K-Map dan Aljabar Boolean.
Aljabar Boolean
Penyederhanaan dengan aljabar Boolean dilakukan berdasarkan hokum Aljabar Boolean. Berikut
adalah Hukum Aljabar Boolean:
NOT Law AND Law OR Law
0 = 1 x . 0 = 0 x+0=x
x.1=x x+1=1
1 = 0
x.x=x x+x=x
X = x x . x = 0 x + x = 1

Commutative Law Associative Law Absorptive Law


x.y.z=y.z.x=z.x.y (x . y) . z = x . (y . z) = x . y . z x . (x + y) = x . y
x+y+z=y+z+x=z+y+x (x + y) + z = x + (y + z) = x + y + z x + (x . y) = x + y

Distributive Law De Morgan Law


x . y + x . z = x . (y + z) (x + y) = x . y
(x + y) . (x + z) = x + (y . z) (x . y) = x + y

Pada dasarnya ada dua bentuk standar fungsi Boolean, yaitu:


1. Sum of Product (SOP) / Sum of Minterm
2. Product of Sum (POS) / Product of Maxterm
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Pada modul ini, kita hanya akan mempelajari tentang Sum of Product / Sum of Minterm.

Sum of Product / Minterm


Minterm adalah suatu kondisi dimana semua egative dari suatu fungsi yang di-AND, serta egative
tersebut bias dalam kondisi komplemen atau tidak.
Contoh :
F(a,b,c,d) adalah sebuah fungsi dengan 4 variabel (a,b,c,d)

a.b.c.d adalah salah satu dari 24 minterm fungsi F.

Ciri-ciri dari SOP adalah:

1. Dalam setiap suku operasi variabelnya adalah perkalian (operasi AND).


2. Setiap suku (term) dijumlahkan (operasi OR).
3. Setiap suku mengandung semua egative.
Contoh:

f(x,y) = xy + xy

g(x,y,z) = xyz + xyz + xyz

Cara membaca:

Variabel tanpa komplemen dianggap bernilai 1.


Variabel dengan komplemen dibaca 0.

Row Number 1 2 3 Minterm

0 0 0 0 m0 = 1 2 3

1 0 0 1 m1 = 1 2 3

2 0 1 0 m2 = 1 2 3

3 0 1 1 m3 = 1 2 3

4 1 0 0 m4 = 1 2 3

5 1 0 1 m5 = 1 2 3

6 1 1 0 m6 = 1 2 3

7 1 1 1 m7 = 1 2 3

Tabel Minterm dengan 3 variabel


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
K Map
Karnaugh Map (disingkat K-map) adalah sebuah peralatan grafis yang digunakan untuk
menyederhanakan persamaan logika atau mengkonversikan sebuah Tabel Kebenaran menjadi sebuah
rangkaian Logika.Blok diagram sebuah K-map seperti gambar di bawah ini. AB dan C adalah egative input,
output-output berupa minterm-minterm bernilai 1 diisikan pada sel K-map. Jumlah sel K-map adalah 2jumlah
variable input
.

BC F =
A 00 01 11 10
0 m0 m1 m3 m2 Contoh SOP pada K Map disamping :
m0 = A BC
1 m4 m5 m7 m6
m5 = AB C

BC
A 00 01 11 10 F = BC + ABC
0 0 1 0 1
1 0 1 0 0

Rangkaian Pengganti

Sistem ini dilakukan ini dilakukan karena adanya keterbatasan bahan.Tidak semua IC tersedia di
pasaran. Jadi kita dapat memanfaatkan gerbang-gerbang logika yang ada untuk membentuk gerbang yang
lainnya. Sebagai contoh gerbang NOR dapat dibuat dari gerbang OR yang outputnya diberi gerbang NOT.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011

Gerbang Logika Dasar

Setiap gerbang logika dasar memiliki tabel kebenaran tersendiri yang memberikan karakteristik
tertentu. Pada dasarnya hanya terdapat tiga gerbang logika dasar, yaitu gerbang AND, OR, dan NOT. Dari
ketiga gerbang tersebutlah dikembangkan menjadi gerbang NAND, NOR, XOR, dan XAND.

AND (7408) NAND (7400) XOR (7486)


A B Y A.B=Y A B Y (A . B)' = Y A B Y A B=Y
0 0 0 0 0 1 0 0 0
0 1 0 0 1 0 0 1 1
1 0 0 1 0 0 1 0 1
1 1 1 1 1 0 1 1 0
OR (7432) NOR (7402) XNOR
A B Y A+B=Y A B Y (A + B)' = Y A B Y A B=Y
0 0 0 0 0 1 0 0 1
0 1 1 0 1 0 0 1 0
1 0 1 1 0 0 1 0 0
1 1 1 1 1 0 1 1 1

NOT (7404)
A Y A = A
0 1
1 0

E. Rangkaian Kombinasional
Rangkaian Kombinasional adalah rangkaian yang terdiri dari rangkain gerbang logika yang kondisi
keluarannya (output) hanya tergantung oleh kondisi masukan (input) saat itu dan tidak tergantung pada kondisi
output sebelumnya.
Rangkaian kombinasional tidak memiliki memori sebagai media penyimpanan, seperti: decoder, priority
encoder, multiplexer, adder, subtractor, multiplier, divider dan lain sebagainya.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
F. Kegunaan Rangkaian Kombinasional
Untuk beberapa keperluan pembuatan peralatan elektronik yang membutuhkan rangkaian kombinasional
dengan sifat tertentu. Misalnya multiplexer yang dapat memilih bit select untuk memilih input yang akan
diteruskan ke output, sehingga multiplexer banyak digunakan pada perangkat telekomunikasi.

1. Decoder
Rangkaian decoder merupakan rangkaian kombinasional yang berfungsi untuk mendekode informasi
(data) yang terkode. Salah satu contoh decoder adalah binary decoder.
Karakteristik Binary Decoder :
a. Mempunyai N masukan data dan 2N keluaran.
Misal : binary decoder 3 masukan mempunyai 8 jalur keluaran.
b. Hanya satu keluaran yang diaktifkan dalam satu waktu (one-hot encoded).
Assert : ke nilai 1 (logika positif / output active-high) atau 0 (logika egative / output active-low).
Tiap keluaran diaktifkan oleh satu kombinasi nilai masukan.
c. Masukan ENABLE (En) digunakan untuk mematikan keluaran.
Asumsi keluaran active-high, enable active-high :
Jika En = 0, tidak ada keluaran decoder yang di-assert (diaktifkan).
Jika En = 1, satu keluaran di-assert (diaktifkan) sesuai kombinasi masukan.

N to 2n binary decoder

Tabel kebenaran 2 to 4 binary decoder


dengan enable active-high dan output active-high
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011

Logic Circuit

2. Aplikasi decoder Pada 7 Segment


Contoh lain dari decoder adalah BCD-to-7-Segment decoder. Dekoder tersebut dapat merubah BCD
digit pada input menjadi informasi (7 bit) yang sesuai untuk mengaktifkan digit-oriented display atau 7-
segment. BCD-to-7-Segment dekoder dapat diimplementasikan menjadi driver seven segment.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
3. Encoder
Encoder memiliki fungsi kebalikan dari decoder, yaitu merubah suatu informasi ke kode tertentu.
Salah satu contohnya Binary Encoder yang merubah satu input yang aktif menjadi kombinasi output unik untuk
setiap input. Binary Encoder hanya bisa melayani 1 input aktif.

Tabel Kebenaran 4-to-2 Binary Encoder

Rangkaian Logika 4-to-2 Binary Encoder


Bagaimana jika terjadi 2 atau lebih input aktif? Binary Encoder akan menghasilkan code yang tidak
sesuai, karena kondisi input seperti itu bernilai dont care. Seperti saat w2 dan w1 aktif bersamaan, output
y1y0 akan bernilai 11. Untuk mengakali kemungkinan 2 atau lebih input aktif, kita gunakan prioritas. Input
yang akan di-encoding adalah input aktif dengan prioritas paling tinggi.

Tabel Kebenaran 4-to-2 Binary Encoder with Priority

Fungsi Output

Dengan prioritas input, saat w2 dan w1 aktif bersamaan, w2 akan di-encoding menjadi y1y0 bernilai
10. Z adalah sinyal yang menunjukkan bahwa minimal 1 input aktif.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
4. Multiplexer
Multiplexer adalah suatu rangkaian kombinasional yang fungsinya untuk memilih salah satu dari 2n bit
sinyal input untuk diteruskan ke satu jalur output. Multiplexer disebut juga sebagai data selector, karena
memiliki bit select sebanyak n yang berfungsi untuk memilih data dan sebagai pengontrol input. Multiplexer
ini banyak digunakan dalam bidang telekomunikasi.

Contoh implementasi multiplexer:

Multiplexer 4-to-1

Simbol mux 4-to-1 Tabel kebenaran

Rangkaian Logika mux 4-to-1

5. Half Adder dan Full Adder


Kedua rangkaian ini merupakan contoh rangkaian aritmatika dasar yang sama-sama berfungsi
menjumlahkan bilangan. Half Adder merupakan rangkaian yang menjumlahkan 2 bilangan yang masing-
masing selebar 1 bit dan menghasilkan 1 bilangan selebar 2 bit, sedangkan Full Adder menjumlahkan 3
bilangan selebar 1 bit dan tetap menghasilkan 1 bilangan selebar 2 bit. Seperti penjumlahan bilangan satuan
yang menghasilkan bilangan puluhan.
a. Half Adder
INPUT OUTPUT
A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Dari tabel kebenaran diatas, dapat disederhanakan bahwa Sum dan Carry berasal dari dua
persamaan berikut :

S=A B C=A.B
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
b. Full Adder
Pada Full Adder, rangkaian dapat bekerja dengan menampung carry sebelumnya sehingga
inputnya ada 3, yaitu A, B, dan Cin.
INPUT OUTPUT
A B Cin Cout S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
S=A B Cin Cout = ((A B) . Cin) + (A . B) = (A . B) + (B . Cin) + (Cin . A)

Jika diperhatikan, operasi pada full adder dapat direpresentasikan dengan menggunakan half
adder sesuai dengan gambar berikut :

Sedangkan untuk melakukan operasi penjumlahan bilangan dengan lebar data lebih dari satu bit
dibutuhkan sebuah rangkaian Full Adder Parallel. Full Adder Parallel tersusun atas rangkaian Full Adder
sebanyak n yang dapat menjumlahkan 2 bilangan selebar n bit dan menghasilkan 1 bilangan selebar n+1
bit. Seperti penjumlahan bilangan ratusan yang menghasilkan bilangan ribuan. Rangkaian ini mempunyai
prinsip menggunakan cout pada perhitungan bit sebelumnya menjadi cin.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
6. Half Subtractor dan Full Subtractor
Kedua rangkaian ini melakukan operasi pengurangan biner. Half subtractor untuk pengurangan 2
bilangan selebar 1 bit menghasilkan sebuah bilangan selebar 2 bit, sedangkan full subtractor untuk
pengurangan 3 bilangan selebar 1 bit menghasilkan sebuah bilangan selebar 2 bit. Dalam hal ini, Full Subtractor
dapat terdiri dari 2 Half Subtractor.
a. Half Subtractor

INPUT OUTPUT
A B Bout D
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0

D=A B Bout = A . B = A B

b. Full Subtractor
INPUT OUTPUT
A B Bin Bout D
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

D=A B Bin C = ((A B) . Bin) + (A . B)

Seperti halnya pada full adder 1 bit yang terdiri dari 2 buah half adder, pada rangkaian full
subtractor 1 bit juga terdiri dari 2 buah half subtractor.

G. Langkah Praktikum
a. Gerbang Logika dan IC Dasar
GERBANG AND (74LS08)

GERBANG OR (74LS32)
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011

GERBANG NOT (74LS04)

GERBANG NAND (74LS00)

GERBANG NOR (74LS02)


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011

1) Siapkan peralatan praktikum


2) Tempatkan IC di Digiboard
3) Hubungkan Input 1 (Kaki 1; Kaki 2 pada 74LS02) ke salah satu input toggle switch di Digiboard
4) Hubungkan Input 2 (Kaki 2; Kaki 3 pada 74LS02) ke salah satu input toggle switch di Digiboard
5) Hubungkan Output (Kaki 3; Kaki 1 pada 74LS02) ke salah satu pin LED di Digiboard
6) Hubungkan VCC dengan sumber tegangan di Digiboard
7) Hubungkan GND dengan grounding di Digiboard
8) Ubah input dengan toggle switch sesuai dengan jurnal, catat outputnya.
9) Ulangi langkah 2 6 diatas untuk semua IC

a. Rangkaian Kombinasional
Decoder 2 to 4 (dari Decoder 3 to 8)
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011

1) Siapkan peralatan praktikum


2) Tempatkan IC di Digiboard
3) Hubungkan kaki 1(A) dan 2(B) ke input toggle switch Digiboard, kaki 3(C) di-ground-kan atau
diberi input 0 karena tidak digunakan
4) Kaki 4(G2A) dan 5(G2B) di paralel, kemudian dihubungkan dengan input toggle switch Digiboard
5) Kaki 6(G1) dihubungkan dengan salah satu input toggle switch Digiboard
6) Kaki 15(Y0) sampai kaki 12(Y3) masing-masing dihubungkan ke output LED Digiboard
7) Kaki 16(VCC) dihubungkan dengan sumber VCC Digiboard
8) Kaki 8(GND) dihubungkan dengan grounding Digiboard
9) Agar bekerja, Enable G2 (G2A dan G2B) harus 0 sedangkan G1 harus bernilai 1
10) Ubah input sesuai dengan jurnal kemudian catat outputnya

BCD to 7-Segment Decoder

74LS47
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011

1) Siapkan peralatan praktikum


2) Tempatkan IC dan Seven Segment di Digiboard
3) Hubungkan kaki 7(A), 1(B), 2(C), 6(D) dengan input toggle switch Digiboard
4) Hubungkan kaki 3(LT) dan 5(RBI) dengan VCC agar selalu bernilai 1
5) Hubungkan kaki 4(RBO) dengan ground atau salah satu input tetapi diberi masukan 0
6) Kaki 9 sampai 15 dihubungkan ke Seven Segment sesuai dengan huruf nya masing-masing
7) Kaki 16(VCC) dihubungkan ke sumber tegangan Digiboard
8) Kaki 8(GND) dihubungkan ke grounding Digiboard
9) Kaki Common (Gnd atau Vcc) pada Seven Segment dihubungkan ke Vcc atau Ground sesuai
dengan tipe Seven Segment yang digunakan, Anoda atau Katoda
10) Ubah input BCD sesuai dengan jurnal, kemudian catat outputnya
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
MODUL II

FLIP FLOP DAN RANGKAIAN SEKUENSIAL

A. Tujuan Praktikum
a. Memahami dasar rangkaian memori.
b. Memahami karakteristik dan fungsi dari flip flop dan rangkaian sekuensial.
c. Memahami perancangan rangkaian sekuensial menggunakan flip flop.

B. Peralatan Praktikum
a. Digiboard
b. IC 74LS74, IC 74LS76

C. Flip Flop
Flip-flop adalah rangkaian logika yang digunakan untuk menyimpan satu bit secara semi permanen sampai
ada suatu perintah untuk menghapus atau mengganti isi dari bit yang disimpan. Flip-flop bekerja berdasarkan
control dari sinyal clock. Prinsip dasar dari flip-flop adalah suatu komponen elektronika dasar seperti transistor,
resistor dan dioda yang di rangkai menjadi suatu gerbang logika yang dapat bekerja secara sekuensial.

Flip-flop merupakan bentuk dasar dari rangkaian logika sekuensial. Pada dasarnya flip-flop berasal dari
basic cell NAND atau basic cell NOR, yang sering disebut RS-flip-flop (SET RESET flip-flop). Berikut gambar
rangkaian, dan table kebenaran dari RS flip-flop:

INPUT OUTPUT
COMMENT
S R Q Q
0 0 NC NC No Chance, Hold
0 1 0 1 Reset
1 0 1 0 Set
1 1 0 0 Invalid Condition

INPUT OUTPUT
COMMENT
S R Q Q
1 1 NC NC No Chance, Hold
0 1 1 0 Set
1 0 0 1 Reset
0 0 1 1 Invalid Condition

Tidak seperti gerbang logika, flip-flop mempunyai dua keluaran komplementer. Keluaran tersebut diberi
lambang Q dan . Keluaran Q merupakan keluaran normal dan paling sering digunakan pada kondisi normal dan
merupakan komplemen dari Q.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
MODE OPERASI FLIP FLOP

Qt Qt+1 Mode Operasi


0 0
Reset
1 0
0 1
Set
1 1
0 1
Toggle
1 0
0 0
Hold
1 1

D. Macam Macam Flip Flop


a. Data Flip Flop (D FF)
D-FF adalah sebuah flip-flop yang memiliki satu data input dimana operasi dari flip-flop ini dikontrol
oleh sebuah sinyal clock, sehingga saat clock aktif terus tanpa mengalami perubahan logic level maka noise
logic dapat terkunci dan diteruskan ke output next state. D-FF disusun dengan menambahkan gerbang NOT
antara masukkan S dan R.

Qt adalah present state, atau kondisi flip-flop sebelum clock aktif.

Qt+1 adalah next state, atau kondisi flip-flop setelah clock aktif.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
b. Universal Flip Flop (JK FF)
JK-FF memliki dua input yang mempengaruhi keluaran. Operasi flip-flop JK sama dengan operasi flip-
flop SR, kecuali pada masukkan, JK diperbolehkan kondisi J=K=1. Bila kondisi seperti itu maka keadaan Q akan
berubah tanpa memperhatikan keadaan Q sebelum ada detak. Sifat master slave terlihat pada output table
operasi yang selalu sama dengan masternya (J ).

c. Toggle Flip Flop (T FF)


T-FF mempunyai sifat Toggle, artinya saat input T = 1 maka output = complement output sebelum
clock aktif. karena output selalu berlawanan dengan kondisi awalnya, sehingga saat Clock aktif terus dan input
T=1 maka output akan berosilasi.
Tabel Operasi Tabel Transisi
T Q Qt Qt+1 T
0 Hold 0 0 0
1 Toggle 0 1 1
1 0 1
1 1 0
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
E. Merancang Flip Flop dari Flip Flop Lain
Suatu FlipFlop dengan karakteristik yang tidak umum, tetap dapat diimplementasikan dalam rangkaian. Flip-
flop tersebut dibuat dengan memanfaatkan flip-flop yang ada. Langkah-langkah perancangan Flip-flop dari flip-
flop lain adalah sebagai berikut:
Misal : Merancang T-FF dari JK-FF
a. Buatlah tabel operasi T FF
T Q
0 Hold
1 Toggle
b. Definisikan mode operasi pada T FF
T Q
0 Hold
1 Toggle
c. Bandingkan dengan tabel operasi JK FF dengan mode operasi yang sama
T Q J K Q Q T J K
0 Hold 0 0 Hold Hold 0 0 0
1 Toggle 0 1 Reset Toggle 1 1 1
1 0 Set
1 1 Toggle
Dari tabel persamaan mode operasi antara T FF dan JK FF diatas, didapatkan persamaan sebagai berikut :
T=J
T=K
d. Buatlah rangkaian penggantinya

F. Clock

Clock adalah sinyal pewaktu yang akan memicu rangkaian untuk aktif. Kondisi clock yang memicu
rangkaian dibagi 4, yaitu:

a. Rising Edge Trigger (RET)


Clock akan aktif saat terjadi transisi dari bit 0 ke bit 1 (0 1).
b. Falling Edge Trigger (FET)
Clock akan aktif saat terjadi transisi dari bit 1 ke bit 0 (1 0).
c. Positive Pulse Trigger (PPT)
Kondisi aktif clock dibaca saat rising (0 1), tapi ditulis saat falling (1 0).
d. Negative Pulse Trigger (NPT)
Kondisi aktif clock dibaca saat falling (1 0), tapi ditulis saat rising (0 1).
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
G. Rangkaian Sekuensial
Rangkaian sekuensial adalah rangkaian logika yang outputnya dipengaruhi oleh input saat ini dan output
sebelumnya. Rangkaian sekuensial dapat dikatakan pula sebagai rangkaian logika yang bekerja berdasarkan urutan
waktu. Ciri dari sistem rangkaian logika sekuensial adalah adanya jalur umpan balik (feedback) di dalam
rangkaiannya. Adapun contoh dari rangkaian sekuensial yaitu flipflop, counter, register, dan detector sekuensial.

a. Counter
Counter merupakan rangkaian logika pengurut, karena counter membutuhkan karakteristik memori,
dan pewaktu memegang peranan yang penting. Counter digital mempunyai karakteristik penting yaitu sebagai
berikut:
Jumlah hitungan maksimum (modulus N counter).
Menghitung keatas atau kebawah (up atau down counter).
Operasi asinkron atau sinkron.
Bergerak bebas atau berhenti sendiri.

Sebagaimana dengan rangkaian sekuensial yang lain, untuk menyusun counter digunakan flip-flop.
Counter dapat digunakan untuk menghitung banyaknya clock-pulsa dalam waktu yang tersedia (pengukuran
frekuensi), Counter dapat juga digunakan untuk membagi frekuensi dan menyimpan data.

Ada dua macam counter, yaitu Asinkronous Counter dan Sinkronous Counter. Asinkronous Counter
disebut juga Ripple Through Counter atau Counter Serial (Serial Counter), karena output masing-masing flip-
flop yang digunakan akan berubah kondisi dari 0 ke 1 dan sebaliknya secara berurutan, hal ini disebabkan
karena flip-flop yang paling ujung dikendalikan oleh sinyal clock, sedangkan sinyal clock untuk flip-flop lainnya
berasal dari masing-masing flip-flop sebelumnya. Sedangkan pada counter sinkron, output flip-flop yang
digunakan bergantian secara serempak. Hal ini disebabkan karena masing-masing flip-flop tersebut
dikendalikan secara serempak oleh sinyal clock. Oleh karena itu Counter Sinkron dapat pula disebut sebagai
Counter paralel (Parallel Counter).
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Contoh Perancangan Counter Up-Down 2-bit D-FF

1. Buat Diagram State Counter 2-Bit yang dirancang

2. Buat Table State

3. Tentukan persamaan logika D1 dan D2 dengan K-MAP

4. Buat Rangkaian Counter tersebut

b. Shift Register
Register merupakan sekelompok flip-flop yang dapat menyimpan dan menggeser data yang terdiri
dari bit majemuk. Register dengan n flip-flop mampu menyimpan sebesar n bit. Ada dua cara untuk
menyimpan dan membaca data ke dalam register, yaitu seri dan paralel. Dalam operasi paralel, penyimpanan
atau pembacaan dilakukan secara serentak oleh semua tingkat register dan hanya membutuhkan 1 clock saja
untuk menyimpan atau membaca semua data. Sedangkan untuk operasi seri, diterapkan secara sequential bit
demi bit sampai semua tingkat register terpenuhi dan jumlah clock tergantung pada jumlah data yang akan
disimpan.
Ada 4 mode operasi register :
i. Serial In Serial Out (SISO)
Pada mode ini, data masuk dan keluar secara seri (berurutan).
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
ii. Serial In Parallel Out (SIPO)
Pada mode ini, data masuk secara seri (berurutan) dan keluar secara paralel (serentak).

iii. Parallel In Serial Out (PISO)


Pada mode ini, data masuk secara paralel (serentak) dan keluar secara seri (berurutan).

iv. Parallel In Parallel Out (PIPO)


Pada mode ini, data masuk dan keluar secara paralel (serentak).

c. Detektor Sekuensial

Detektor sekuensial merupakan suatu jenis rangkaian sekuensial yang dapat mendeteksi urutan bit
dengan pola tertentu dari rangkaian data yang diinputkan. Jika data yang dideteksi sesuai dengan pola yang
diinginkan, maka output akan mengeluarkan suatu harga tertentu.

Ada 2 model dalam perancangan rangkaian detector sekuensial, yaitu model moore dan model mealy.
Perbedaan antara keduanya adalah pada jumlah state dan variable pembentuk outputnya:
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
i. Model Mealy
Model Mealy Jumlah State = Jumlah Bit
Contoh : Perancangan detektor sekuensial dengan urutan bit 011 menggunakan model mealy.
Flip flop yang digunakan adalah D FF.

Untuk mendeteksi urutan 011 ada 3 state yang dilewati yaitu :

State A , yaitu ketika detektor belum mendeteksi apa-apa


State B , yaitu ketika detektor mendeteksi 0
State C , yaitu ketika detektor mendeteksi 0 1
Lalu nilai keluaran Z akan bernilai 1 ketika detektor berada pada state C dan mendapat input bernilai 1
sehingga detektor mendeteksi 011, lalu dapat dibuat diagram state nya seperti dibawah ini :

Dari diagram state diatas lalu kita buat tabel state-nya.

NS Z
PS
X=0 X=1 X=0 X =1
A B A 0 0
B B C 0 0
C B A 0 1

Kondisi state dapat direpresentasikan sebagai berikut :

A = 00

B = 01

C = 11

Maka, tabel state akan menjadi seperti ini :

NS Z
PS
X=0 X=1 X=0 X =1
00 01 00 0 0
01 01 11 0 0
11 01 00 0 1

Untuk mencari nilai input pada rangkaian detector (input masing masing flip flop), dibutuhkan tabel
transisi sesuai flip flop yang digunakan, karena pada contoh ini memakai D FF, maka yang digunakan
adalah tabel transisi milik D FF.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Qt Qt+1 D
0 0 0
0 1 1
1 0 0
1 1 1

Dengan melihat kondisi present state (PS) dan next state (NS) lalu dihubungkan dengan tabel transisi,
maka diperoleh tabel eksitasi sebagai berikut :

NS D Z
PS
X=0 X=1 X=0 X=1
X=0 X =1
Q1 Q2 Q1 Q2 Q1 Q2 D1 D2 D1 D2
0 0 0 1 0 0 0 1 0 0 0 0
0 1 0 1 1 1 0 1 1 1 0 0
1 1 0 1 0 0 0 1 0 0 0 1

Dengan melihat tabel eksitasi, kita dapat mencari persamaan input di masing masing flip flop, karena
pada rangkaian detektor sekuensial yang kita buat ini menggunakan 2 flip flop, maka ada 2 persamaan
input dan sebuah persamaan output.

x x x
Q1 Q2 0 1 Q1 Q2 0 1 Q1 Q2 0 1
00 0 0 00 1 0 00 0 0
01 0 1 01 1 1 01 0 0
11 0 0 11 1 0 11 0 1
10 X X D1 = Q1 . Q2 . X 10 X X D2 = X + Q1 . Q2 10 X X Z = Q1 . X

Dengan menggunakan persamaan input dan output yang telah didapat, maka gambar rangkaian detektor
sekuensialnya adalah :
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
ii. Model Moore
Model Moore Jumlah State = Jumlah Bit + 1
Contoh : Perancangan detektor sekuensial dengan urutan bit 011 menggunakan model moore.
Flip flop yang digunakan adalah D FF.

Untuk mendeteksi urutan 011 ada 4 state yang dilewati yaitu :

State A , yaitu ketika detektor belum mendeteksi apa-apa


State B , yaitu ketika detektor mendeteksi 0 dengan nilai output 0
State C , yaitu ketika detektor mendeteksi 0 1 dengan nilai output 0
State D , yaitu ketika detektor mendeteksi 0 1 1 dengan nilai output 1
Nilai output telah didefinisikan pada masing masing state, maka bentuk state diagram-nya adalah :

Dari diagram state diatas lalu kita buat tabel state-nya.

NS
PS Z
X=0 X=1
A B A 0
B B C 0
C B D 0
D B A 1

Kondisi state dapat direpresentasikan sebagai berikut :

A = 00

B = 01

C = 11

D = 10

Maka, tabel state akan menjadi seperti ini :


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
NS
PS Z
X=0 X=1
00 01 00 0
01 01 11 0
11 01 10 0
10 01 00 1

Untuk mencari nilai input pada rangkaian detector (input masing masing flip flop), dibutuhkan tabel
transisi sesuai flip flop yang digunakan, karena pada contoh ini memakai D FF, maka yang digunakan
adalah tabel transisi milik D FF.

Qt Qt+1 D
0 0 0
0 1 1
1 0 0
1 1 1

Dengan melihat kondisi present state (PS) dan next state (NS) lalu dihubungkan dengan tabel transisi,
maka diperoleh tabel eksitasi sebagai berikut :

NS D
PS
X=0 X=1 X=0 X=1 Z
Q1 Q2 Q1 Q2 Q1 Q2 D1 D2 D1 D2
0 0 0 1 0 0 0 1 0 0 0
0 1 0 1 1 1 0 1 1 1 0
1 1 0 1 1 0 0 1 1 0 0
1 0 0 1 0 0 0 1 0 0 1

Dengan melihat tabel eksitasi, kita dapat mencari persamaan input di masing masing flip flop, karena
pada rangkaian detektor sekuensial yang kita buat ini menggunakan 2 flip flop, maka ada 2 persamaan
input dan sebuah persamaan output.

x x x
Q1 Q2 0 1 Q1 Q2 0 1 Q1 Q2 0 1
00 0 0 00 1 0 00 0 0
01 0 1 01 1 1 01 0 0
11 0 1 11 1 0 11 0 0
10 0 0 D1 = Q2 . X 10 1 0 D2 = X + Q1 . Q2 10 1 1 Z = Q1 . Q2

Dengan menggunakan persamaan input dan output yang telah didapat, maka gambar rangkaian detektor
sekuensialnya adalah :
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
H. Langkah Praktikum
a. FLIP FLOP
D-FF

1) Siapkan peralatan praktikum


2) Tempatkan IC di Digiboard
3) Hubungkan kaki 1(1CLEAR) ke input toggle switch
4) Hubungkan kaki 2(1D) ke input toggle switch
5) Hubungkan kaki 3(CLOCK) ke sumber Clock Digiboard
6) Hubungkan kaki 4(PRESET) ke input toggle switch
7) Hubungkan kaki 5(1Q) ke output LED Digiboard
8) Hubungkan kaki 14(VCC) ke sumber tegangan di Digiboard
9) Hubungkan kaki 7(GND) ke sumber ground di Digiboard
10) Ubah input sesuai dengan jurnal, catat outputnya

JK-FF

1) Siapkan peralatan praktikum


2) Tempatkan IC di Digiboard
3) Hubungkan kaki 1(1CK) ke sumber Clock Digiboard
4) Hubungkan kaki 2(1PR) ke input toggle switch
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
5) Hubungkan kaki 3(CLR) ke input toggle switch
6) Hubungkan kaki 4(1J) ke input toggle switch
7) Hubungkan kaki 16(1K) ke input toggle switch
8) Hubungkan kaki 15(1Q) ke output LED Digiboard
9) Hubungkan kaki 5(VCC) ke sumber tegangan di Digiboard
10) Hubungkan kaki 13(GND) ke sumber ground di Digiboard
11) Ubah input sesuai dengan jurnal, catat outputnya

b. SHIFT REGISTER

1) Siapkan peralatan praktikum


2) Rangkailah peralatan praktikum seperti rangkaian diatas
3) Ubah input sesuai dengan jurnal, catat outputnya
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
MODUL III

SINTESIS RANCANGAN RANGKAIAN LOGIKA MENGGUNAKAN VHDL

A. Tujuan Praktikum
a. Memperkenalkan penggunaan VHDL dalam perancangan rangkaian digital.
b. Memperkenalkan penggunaan software Quartus.
c. Mengenal dan memahami prinsip kerja rangkaian aritmatika dasar yaitu adder, subtractor, divider dan
multiplier dalam VHDL.

B. Peralatan Praktikum
a. Personal Computer
b. Software Quartus II version 12.1

C. Pengenalan VHDL
Very High-Speed Integrated Circuit Hardware Description Language(VHDL) adalah salah satu bahasa
pemrograman yang digunakan untuk memodelkan sistem digital dengan pemodelan dataflow, behavioral dan
struktural serta menggabungkan sinyal sistem sama seperti FPGA dan Integrated Circuit(IC). Dalam perancangan
rangkaian dengan menggunakan VHDL, sering digunakan software Modelsim atau Quartus untuk simulasi dan
sintesis.

Keuntungan perancangan menggunakan VHDL adalah:

Mampu mendesain hardware sampai level tertinggi ( sistem yang kompleks ).


mendukung metodologi top-down dan bottom-up.
testbench dapat dituliskan menggunakan bahasa ini.
tipe data baru dapat dideklarasikan.
Dapat mencari dan mendeteksi kesalahan dengan lebih mudah dalam simulasi.
Proses implementasi program independen sehingga memungkinkan untuk melakukan beberapa
perubahan sampai menit menit terakhir.
Hardware untuk implementasi sangat flexibel, sehingga dapat digunakan untuk berbagai perancangan
dan dapat dipilih sesuai kebutuhan.
Bahasa pemrograman mudah dimengerti dan dipelajari dengan cepat.

Dua aplikasi utama dari VHDL adalah pada FPGA (Field Programmable Gate Arrays) dan ASIC (Aplication
Specific Integrated Circuits). Namun yang akan kita gunakan dalam praktikum Tekdig adalah pengaplikasian pada
FPGA. Ketika code VHDL telah ditulis, kita bisa mengimplementasikan rangkaian yang telah kita buat melalui FPGA
atau langsung dipabrikasi menjadi ASIC chip.

VHDL berbeda dengan program computer pada umumnya yang berjalan sequential (berurut), statement
yang ada dieksekusi secara pararel (bersamaan). Karena itu VHDL biasanya disebut sebagai code dibandingkan
program.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Susunan dasar program VHDL

LIBRARY

ENTITY

ARCHITECTURE
a. Library
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. Jika
tidak diinisialisasi terlebih dahulu, perintah-perintah yang tertulis tidak dapat dijalankan.
LIBRARY nama_library;
USE nama_library.package_name.package_parts;
b. Entity
Spesikfikasi pin input dan output pada desain bentuk rangkaian yang dibuat. Berfungsi untuk
menggambarkan port pada input ataupun output pada rangkain yang ingin dibuat, entity juga dapat berisi
parameter yang akan digunakan di dalam desain.

ENTITY nama_entity IS

PORT (

nama_port :mode_sinyaltipe_sinyal;

nama_port :mode_sinyaltipe_sinyal;

...);

END nama_entity;

c. Architecture
Architecture merupakan deskripsi kerja dari system / entity yang akan kita rancang. Pada architecture
terdapat satu set komponen yang saling berhubungan. Dalam pendeskripsiannya, architecture dapat di desain
secara behaviour ( secara perinsip kerja alat ), structural (terstuktur dalam port map), dataflow (RTL : Register
Transfer Level, yaitu secara rangkaian logika) ataupun campuran ketiga cara tersebut.

ARCHITECTURE myarch OF nand_gate IS

BEGIN

x <= a NAND b;

END myarch;
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Process
Process merupakan bagian dari suatu architecture. Di dalam suatu architecture bisa terdapat satu
atau lebih proses yang saling independen ataupun berhubungan. Contoh dari suatu proses:

architecture nama_architecture of nama_entity is

signal nama_signal : tipe;

begin

proses1 : process

begin

...

end process;

proses2 : process

begin

...

end process;

end nama_architecture;

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 dieksekusi. Apabila dalam suatu signal nilainya diubah beberapa kali dalam suatu
proses, nilai yang terakhir yang akan dipakai pada eksekusi selanjutnya. Nilai suatu variable langsung
berubah, tanpa harus menunggu selesainya suatu proses eksekusi. Variabel hanya dapat dideklarasikan
didalam suatu proses. Contoh deklarasi signal dan variabel:

architecture kerja of nama_entity is

signal kabel1 : std_logic;

signal bus : std_logic_vector(7 downto 0);

begin

proses1 : process

variable var1 : std_logic;

variable var2 : std_logic;

begin

...

end process;
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Entity, Architecture dan Signal
Entity adalah jenis port-port 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.

Komponen
Komponen adalah cara untuk partisi kode, menyediakan berbagi kode, dan penggunaan kembali
kode tersebut dalam program lain yang lebih komplek. Misalnya, yang biasa digunakan flip-flops,
multiplexers,adders, basic gates.

COMPONENT declaration:

COMPONENT component_name IS

PORT (

port_name :signal_modesignal_type;

port_name :signal_modesignal_type;

...);

END COMPONENT;

COMPONENT instantiation:

label: component_name PORT MAP (port_list);


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Test Bench
Test bench adalah proses pengujian suatu rancangan rangkaian. Dalam proses perancangan
rangkaian, test bench akan menguji design rangkaian apakah sudah sesuai atau belum. Test bench ini
dilakukan dengan menggunaan file HDL (berbentuk kode, baik VHDL maupun Verilog). Sehingga berbeda
dengan bentuk diagram yang menggunakan gambar sebagai tampilannya, test bench menggunakan kode-
kode tulisan sebagai tampilannya.

Test bench biasanya ditulis dengan kode bahasa VHDL maupun Verilog. Bentuk test bench ini
terbilang lebih sukar dibandingkan dengan bentuk timing diagram. Hal ini disebabkan karena untuk
melakukan test bench, diperlukan kemampuan untuk menulis dan mengerti kode-kode VHDL maupun
verilog. Sehingga bentuk test bench pada umumnya sering dipakai oleh pengguna FPGA tingkat mahir.

VHDL Test Bench File: myadder_tb.vhd

library IEEE;

use IEEE.std_logic_1164.ALL;

ENTITY myadder_tb is

END myadder_tb;

ARCHITECTURE simulate OF myadder_tb IS

----------------------------------------------------

--- The parent design, myadder8_top, is instantiated

--- in this testbench. Note the component

--- declaration and the instantiation.

----------------------------------------------------

COMPONENT myadder8_top

PORT (

AP : IN std_logic_vector(7 downto 0);

BP : IN std_logic_vector(7 downto 0);

CLKP: IN std_logic ;

C_INP: IN std_logic;

QP: OUT std_logic_VECTOR (8 downto 0));

END COMPONENT;

SIGNAL a_data_input :std_logic_vector(7 DOWNTO 0);

SIGNAL b_data_input :std_logic_vector(7 DOWNTO 0);

SIGNAL clock : std_logic;

SIGNAL carry_in :std_logic;


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
SIGNAL sum :std_logic_vector (8 DOWNTO 0);

BEGIN

uut: myadder8_top

PORT MAP (

AP =>a_data_input,

BP =>b_data_input,

CLKP => clock,

C_INP=>carry_in,

QP => Q);

stimulus: PROCESS

BEGIN

-----------------------------------------------------

---Provide stimulus in this section. (not shown here)

-----------------------------------------------------

wait;

end process; -- stimulus

END simulate;

Contoh contoh implementasi VHDL:

Sebuah Program AND 3 input


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity AND3input is
port (A,B,C : in std_logic;
Z : out std_logic);

End AND3input;

Architecture behavioral of AND3input is

Begin

Z <= A AND B AND C;

End behavioral;
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Program Half Adder

library ieee;

use ieee.std_logic_1164.all;

entity half_adder is

port (

a_input : in std_logic;

b_input : in std_logic;

cout : out std_logic;

sum : out std_logic);

End entity half_adder;

Architecture half_adder_bhv of half_adder is

Begin

Sum <= a_input xor b_input ;

Cout<= a_input and b_input;

End half_adder_bhv;

Implementasi Full Adder dengan component Half Adder

library ieee;
use ieee.std_logic_1164.all;
--nama entity
entity full_adder is
port (
a_input : in_std_logic;
b_input : in std_logic;
cin : in std_logic;
cout : out std_logic;
sum : out std_logic
); --port dari entity
end entity full_adder;
--nama architecture --nama entity
architecture full_adder_bhv of full_adder is
component half_adder is

port (
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
a_input : in std_logic;
b_input : in std_logic;
sum : out std_logic;
cout : out std_logic);
end component half_adder;
signal sum0 : std_logic;
signal cout0 : std_logic;
signal cout1 : std_logic;
begin

FA0 : half_adder

port map (a_input =>a_input , b_input => b_input , sum => sum0 , cout => cout0);

FA1 : half_adder

port map (a_input => cin , b_input => sum0 , sum => sum , cout => cout1);

cout<= cout0 or cout1;

end full_adder_bhv;

Implementasi Counter Up- Down 2bit

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Counter_VHDL is

port( Clock: in std_logic;

Reset: in std_logic;

Updown: in std_logic;

Output: out std_logic_vector(0 to 3) );

end Counter_VHDL;

architecture Behavioral of Counter_VHDL is

signal a: std_logic_vector(0 to 3);

begin

process(Clock,Reset)
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
begin

if Reset='1' then

a <= "0000";

elsif ( Clock'event and Clock='1') then

if Updown='0' then

a <= a + 1;

else

a <= a - 1;

end if;

end if;

end process;

Output <= a;

end Behavioral;

Shift Register 4-bit

Library ieee;

Use ieee.std_logic_1164.all;

Entity shift4 is

Port (w, clock : in std_logic;

Q : out std_logic_vector (1 to 4));

end shift4;

architecture behavior of shift4 is

signal sreg: std_logic_vector (1 to 4);

begin

process (clock)

begin

if clock event and clock = 1 then

sreg (4) <= w;

sreg (3) <= sreg(4);

sreg (2) <= sreg (3);


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
sreg (1) <= sreg (2);

end if;

end process;

Q <= sreg;

End behavior;

Detektor Sekuensial (mealy 011, D-FF)


o D-FF
Library IEEE;
Use IEEE.STD_LOGIC_1164.ALL;
Entity dataFF is
Port (
clk, rst, d : in std_logic;
q : out std_logic);
end dataFF;
architecture behav of dataFF is
begin
baca : process (clk, rst)
begin
if (rising_edge (clk)) then
if rst = 1 then
q <= d;
end if;
end process;
end behav;
o Detektor Sekuensial
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity mealy011 is
port (
clk, rst, x : in std_logic;
z : out std_logic);
end mealy011;
architecture behav of mealy011 is
component dataFF is
port (
clk, rst, d : in std_logic;
q : out std_logic);
end component dataFF;
signal q1 : std_logic;
signal q2 : std_logic;
signal d1 : std_logic;
signal d2 : std_logic;
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
begin
DFF1 : dataFF
port map (d => d1, clk => clk, q => q1, rst => rst);
DFF2 : dataFF
port map (d => d2, clk => clk, q => q2, rst => rst);
d1 <= (not q1) and q2 and x;
d2 <= (not x) or ((not q1) and q2);
z <= q1 and x;
end behav;

D. Pengenalan Quartus
Software Quartus merupakan salah satu program untuk melakukan proses synthesis dan implementasi
desain rangkaian yang telah dibuat dalam VHDL, menjadi file konfigurasi FPGA (*.vhd). Dalam praktikum ini
digunakan Quartus II version 12.1.

Sintesis HDL merupakan proses pembangunan rangkaian secara skematik yang tersusun atas gerbang
logika atau komponen lain dari suatu rangkaian yang telah dibuat menggunakan bahasa VHDL. Sintesis rangkaian
bertujuan untuk memperlihakan bagaimana bentuk rancangan secara skematik dari suatu scipt VHDL.

Setelah script disintesis, barulah rangkaian ini dapat diload ke kit FPGA. Tahapannya dimulai dari perutean
pin pin pada FPGA yang dihubungkan dengan rangkaian digital yang telah dibuat, lalu dilakukan inisiasi tipe FPGA
yang dipakai, setelah itu barulah dilakukan load rangkaian digital ke FPGA.
a. Interface Software Quartus
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
b. Penggunaan Software Quartus
1. Membuat project baru
a) Buat project baru dengan memilih file > New Project Wizard.

b) Klik Next.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
c) Pilih tempat penyimpanan project yang ingin dibuat dan tentukan nama project yang ingin dibuat, lalu
klik Next.

d) Klik Next.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
e) Pilih Cyclone II pada sub menu device family lalu pada sub menu target device pilih Specific device
selected in Available device list, kemudian pilih device dengan nama EP2C20F484C7 setelah itu klik
Next.

f) Klik Next.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
g) Klik Finish.

2. Membuat lembar kerja baru


a) Untuk membuat lembar kerja baru pilih file > New

b) Pilih VHDL File lalu klik OK.


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
3. Meng-compile program rangkaian digital
a) Contoh hasil pengkodean (Half Adder).

Berikut contoh scriptnya :


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;
ENTITY Belajar1 IS
PORT (X1,X2 : IN STD_LOGIC;
Y1,Y2 : OUT STD_LOGIC);
END Belajar1;
ARCHITECTURE LogicFunction OF Belajar1 IS
BEGIN
Y1 <= X1 XOR X2;
Y2 <= X1 AND X2;
END LogicFunction;

b) Cari tool pada bagian atas interface software Quartus, lalu klik tool tersebut.

c) Tunggu sampai hasil compile terdeteksi.


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
d) Berikut hasil program yang telah berhasil di-compile.

4. Melihat hasil sintesis rangkaian digital


a) Hasil rangkaian dapat dilihat dengan dua metode. Yaitu, Technology Map Viewer dan RTL Viewer.
b) Ikuti langkah berikut untuk melihat hasil rangkaian logika dengan Technology Map Viewer.

c) Berikut adalah hasil menggunakan Technology Map Viewer.


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
d) Ikuti langkah berikut untuk melihat hasil rangkaian logika dengan RTL Viewer.

e) Berikut adalah contoh hasil menggunakan RTL Viewer.

5. Melakukan simulasi rangkaian digital


a) Klik tools RTL Simulation.

b) Pada bagian library cari sub library work lalu pilih entity file yang sama dengan program sintesis
rangkaian yang dibuat.

c) Pada bagian object pilih semua variable yang ada pada rangkaian untuk dimasukkan ke jendela
simulasi.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
d) Buka jendela simulasi.
e) Pada variable input masukkan nilai yang diinginkan dan ubah selang waktu yang dibutuhkan sesuai
keinginan.

f) Lakukan running program.


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
E. Prosedur Praktikum
a. Program Full Subtractor
1. Buat sebuah program Half Subtractor
2. Simulasikan semua kemungkinan input
3. Buat sebuah program Full Subtractor dari program Half Subtractor yang sebelumnya anda buat
4. Simulasikan semua kemungkinan input
5. Isi Jurnal Praktikum
b. Program Multiplier

simulasikan, dan catat hasilnya pada jurnal !


ket : Black box merupakan komponen full adder

F. Contoh Program
a. FULL SUBSTRACTOR
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity FullSubs is
Port ( Borin : in STD_LOGIC;
A : in STD_LOGIC;
B : in STD_LOGIC;
D : out STD_LOGIC;
Borout : out STD_LOGIC);
end FullSubs;

architecture Behavioral of FullSubs is

component HalfSubs is
port (a_input : in STD_LOGIC;
b_input : in STD_LOGIC;
bor : out STD_LOGIC;
diff : out STD_LOGIC);
end component HalfSubs;

signal d0, b0, b1 : std_logic;

begin
FA0 : HalfSubs
port map (a_input => A, b_input => B, bor => b0, diff => d0);
FA1 : HalfSubs
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
port map (a_input => Borin, b_input => d0, bor => b1, diff => D);
Borout <= b0 or b1;
end Behavioral;

b. HALF SUBSTRACTOR
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity HalfSubs is
Port ( a_input : in STD_LOGIC;
b_input : in STD_LOGIC;
bor : out STD_LOGIC;
diff : out STD_LOGIC);
end HalfSubs;

architecture Behavioral of HalfSubs is

begin
bor<= (not(b_input)) and a_input ;
diff<= a_input xor b_input;

end Behavioral;

c. MULTIPLIER
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Multiply is
Port ( A0 : in STD_LOGIC;
A1 : in STD_LOGIC;
B0 : in STD_LOGIC;
B1 : in STD_LOGIC;
C0 : out STD_LOGIC;
C1 : out STD_LOGIC;
C2 : out STD_LOGIC;
C3 : out STD_LOGIC);
end Multiply;

architecture Behavioral of Multiply is

begin
C0 <= A0 and B0;
C1 <= (A0 and B1) xor (A1 and B0);
C2 <= ((A0 and B1) and (A1 and B0)) xor (A1 and B1);
C3 <= ((A0 and B1) and (A1 and B0)) and (A1 and B1);
end Behavioral;
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
MODUL IV

SINTESIS RANCANGAN RANGKAIAN MENGGUNAKAN VHDL

A. Tujuan Praktikum
a. Dapat memahami arsitektur FPGA.
b. Memperkenalkan FPGA untuk implementasi rangkaian digital yang didesain menggunakan VHDL.
c. Melakukan proses sintesis rangkaian digital menggunakan software Quartus.

B. Peralatan Praktikum
a. Personal Computer
b. Software Quartus II version 12.1
c. Board DE 1 FPGA

C. Arithmetic Logical Unit (ALU)

Arithmatic Logical Unit (ALU) adalah salah satu bagian/ komponen dalam sistem di dalam sisitem
computer yang berfungsi melakukan operasi/ perhitungan aritmatika dan logika, contoh operasi aritmatika adalah
operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja
bersama sama memori, dimana hasil dari perhitungan di dalam ALU disimpan ke dalam memori.

Perhitungan dalam ALU menggunakan kode biner yang merepresentasikan instruksi yang akan dieksekusi
(opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner twos complement.
ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register
tersendiri yaitu ALU output register, sebelum disimpan dalam memori.

Pada saat sekarang ini sebuah chip/ IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan
untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC
74LS382/ HC 382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4 x 2 pin data input (pin A dan pin B)
dengan 4 pin keluaran (pin F).

Arithmatic Logical Unit (ALU), fungsi unit ini adalah untuk melakukan suatu proses data yang berbentuk
angka dan logika, seperti data matematika dan statistika. ALU terdiri dari register register untuk menyimpan
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
informasi. Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) yang terjadi sesuai
dengan instruksi program. Rangkaian pada ALU yang digunakan untuk menjumlahkan bilangan dinamakan dengan
adder. Adder digunakan untuk memproses operasi aritmatika, adder juga disebut rangkaian kombinasional
aritmatika.

Ada 3 jenis adder :

1. Rangkaian adder dengan menjumlahkan dua bit disebut half adder.


2. Rangkaian adder dengan menjumlahkan tiga bit disebut full adder.
3. Rangkaian adder dengan menjumlahkan banyak bit disebut paralel adder.

Fungsi Arithmatic Logical Unit (ALU) :

1. Bertugas membentuk fungsi fungsi pengolahan data computer.


2. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi
instruksi bahasa mesin yang diberikan padanya.
3. ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika Boolean, yang masing masing
memiliki spesifikasi dan tugas tersendiri.

Fungsi fungsi yang didefinisikan pada ALU adalah add (penjumlahan), addu (penjumlahan tidak
bertanda), sub (pengurangan), subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right
logical), sra (shift right arithmetic), dan lain lain.

D. Control Unit
Pada computer modern, bagian pengendali adalah unit kendali (control unit) yang berfungsi mengatur
seluruh jalannya komponen. Pada setiap tahap atau siklus tidak semua komponen aktif. Semuanya ditentukan
oleh keluaran dari bagian pengendali/ pengurut ini. Keluaran kendali lebarnya 12 bit, yang masing masing bit-
nya mengendalikan seluruh register dalam sebuah computer. Setiap tahap dari T1 sampai T6, pengendali
mengeluarkan sinyal kendali sebanyak 6 buah. Sinyal kendali yang keluar dari pengendali/ pengurut dinamakan
mikro instruksi.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
Diantara ke-12 jalur kendali terdapat jalur yang aktif high dan ada juga yang aktif low. Jalur yang aktif low
ditandai dengan garis diatas nama jalurnya, jalur tersebut akan aktif jika nilainya = 0. Sementara jalur yang aktif
high akan aktif jika nilainya = 1.

Keluaran register pengendali/ pengurut tergantung 4 bit kode operasi (opcode) dari register instruksi.
Setiap instruksi memiliki kode operasi yang berbeda beda, seperti yang telah dijelaskan sebelumnya. Lebih jauh
lagi bagaimanakah kode operasi diproses oleh pengendali/ pengurut sehingga menghasilkan 12 bit mikro instruksi.
Kita bisa perhatikan lebih detail lagi.

Komponen yang terdapat dalam pengendali/ pengurut adalah :


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
ROM Alamat 16 x 4

Pencacah Presettable
Pencacah presettable akan mencacah dari 0000 sampai dengan 0011. Selanjutnya tergantung
dari kode operasi yang masuk dari ROM alamat. Jika instruksinya LDA maka nilai pencacah berikutnya
adalah 0011, jika instruksinya OUT maka nilai pencacah berikutnya 1100.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
ROM Kendali 16 x 12

Mikro instruksi adalah isi ROM kendali 16 x 12 yang lebarnya 12 bit. Makro instruksi adalah
instruksi dalam bahasa assembly seperti LDA, ADD, SUB, dan OUT sering juga disebut Mnemonik, secara
singkat instruksi SAP-1 :

Mikroprogram adalah program yang disimpan dalam ROM kendali. Isi (CON) merupakan mikroprogram
yang secara permanen disimpan dalam ROM kendali.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
E. Field Programmable Gate Array (FPGA)
Field Programmable Gate Array (FPGA) merupakan suatu Integrated Circuit (IC) yang dibuat agar dapat
deprogram sesuai dengan kebutuhan pengguna. Untuk memprogram FPGA umumnya menggunakan Hardware
description language (HDL). Di dalam FPGA terdapat komponen-komponen logika yang disebut logic blocks
dan blok-blok tersebut dapat deprogram menjadi suatu rangkaian sesuai dengan kebutuhan pengguna. FPGA
memiliki kemampuan untuk deprogram ulang kembali, seperti breadboard yang terdapat dalam satu chip. Blok-
blok logika dapat dikonfigurasi untuk melakukan fungsi- fungsi kombinasi komplek atau gerbang-gerbang logika,
seperti AND dan OR.Pada sebagian besar FPGA, blok-blok logika juga memuat elemen-elemen memory, seperti
flip-flop atau yang lebih kompleks.

FPGA mempunyai kelebihan sebagai berikut:


Dikonfigurasi oleh End User.
Kemampuan desain sistem yang dapat beroperasi pada frekuensi yang semakin tinggi.
Kemampuan meningkatkan integrasi system, penempatan lebih banyak system di dalam sebuah
chip, dan penggunaan seluruh gate yang ada di dalam FPGA yang membuat keefektifan harga
perancangan.
Tidak memerlukan proses Fabrikasi.
Tersedia solusi yang mendukung chip customized VLSI.
Kemampuan software yang mudah digunakan untuk perancangan dan kemampuan untuk
menambahkan desain baru pada sistem di FPGA yang sama pada saat yang berbeda.
Lebih murah dan dapat diprogram kembali jika terjadi bugs.

Perkembangan FPGA pada saat ini berlangsung dengan cepat dan dewasa ini terdapat bermacam-
macam keluarga FPGA dengan kebutuhan perancangan dan perangkat perancangan (design tools) yang
berbeda. Untuk mempermudah pengguna, FPGA tidak hanya dapat deprogram dengan menggunakan
HDL. Desain schematic memungkinkan FPGA dapat diprogram oleh pengguna yang kesulitan
meggunakan HDL. Untuk menyedehanakan desain dari fungsi komplek, disediakan beberapa library.

Setiap vendor memiliki arsitektur FPGA yang berbeda-beda namun secara umum arsitektur
bagian dalam dari IC FPGA terdiri atas tiga elemen utama yaitu Input/Output Block ( IOB), Configurable Logic
Block (CLB) dan Interkoneksi.
1. Configurable Logic Block (CLB)
CLB adalah tempat logika terprogram pada FPGA. Beberapa komponen yang terdapat
pada CLB diantaranya RAM, Flip-Flop, dan Multiplekser.
2. Interkoneksi
Ada beberapa jenis koneksi yang terdapat FPGA, diantaranya Short Lines, Routing, dan
Long Lines. Short Lines adalah suatu interkoneksi dimana setiap CLB dihubungkan dengan CLB
terdekat. Sedangkan untuk Routing adalah suatu interkoneksi yang terdapat jalur-jalur yang
melewati sebuah CLB sebelum menuju Matriks Switch. Fungsi Matriks Switch adalah
menghubungkan CLB yang relatif jauh. Kerugian Interkoneksi jenis ini adalah adanya delay yang
cukup besar. Dan yang terakhir adalah long lines, dimana designer menghubungkan CLB yang
cukup jauh tapi dengan delay minimum, yaitu dengan menghilangkan Matriks Switch.
3. Input/ Output Block (IOB)
Fungsi bagian ini adalah menyalurkan sinyal ke dalam switch dan mengeluarkannya
kembali. Bagian ini terdiri dari buffer input dan buffer output.
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011

Arsitektur FPGA

Board FPGA DE 1 keluaran dari ALTERA yang digunakan dalam praktikum


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
F. Sintesis hasil rangkaian digital ke FPGA
a. Cari sub-menu assignment lalu pilih tools pin planner.

b. Masukkan konfigurasi pin yang diinginkan.

c. Cari sub-menu tools dan pilih tools programmer.


MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
d. pilih Hardware lalu pilih USB Blaster dan klik start.

Pastikan Hardware setup telah mengidentifikasi USB-Blaster.


G. Lampiran
a. Tabel konfigurasi pin untuk Toogle Switch.
Signal Name FPGA Pin No. Description
SW[0] PIN_L22 Toogle Switch [0]
SW[1] PIN_L21 Toogle Switch [1]
SW[2] PIN_M22 Toogle Switch [2]
SW[3] PIN_V12 Toogle Switch [3]
SW[4] PIN_W12 Toogle Switch [4]
SW[5] PIN_U12 Toogle Switch [5]
SW[6] PIN_U11 Toogle Switch [6]
SW[7] PIN_M2 Toogle Switch [7]
SW[8] PIN_M1 Toogle Switch [8]
SW[9] PIN_L2 Toogle Switch [9]

b. Tabel konfigurasi pin untuk Pushbutton Switch.


Signal Name FPGA Pin No. Description
KEY[0] PIN_R22 Pushbutton [0]
KEY[1] PIN_R21 Pushbutton [1]
KEY[2] PIN_T22 Pushbutton [2]
KEY[3] PIN_T21 Pushbutton [3]
MODUL PRAKTIKUM RANGKAIAN LOGIKA
LABORATORIUM TEKNIK DIGITAL
FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
0000001001010100010001010100101101000100010010010100011100000011
c. Tabel konfigurasi pin untuk LED.
Signal Name FPGA Pin No. Description Signal Name FPGA Pin No. Description
LEDR[0] PIN_R20 LED Red [0] LEDG[0] PIN_U22 LED Green [0]
LEDR[1] PIN_R19 LED Red [1] LEDG[1] PIN_U21 LED Green [1]
LEDR[2] PIN_U19 LED Red [2] LEDG[2] PIN_V22 LED Green [2]
LEDR[3] PIN_Y19 LED Red [3] LEDG[3] PIN_V21 LED Green [3]
LEDR[4] PIN_T18 LED Red [4] LEDG[4] PIN_W22 LED Green [4]
LEDR[5] PIN_V19 LED Red [5] LEDG[5] PIN_W21 LED Green [5]
LEDR[6] PIN_Y18 LED Red [6] LEDG[6] PIN_Y22 LED Green [6]
LEDR[7] PIN_U18 LED Red [7] LEDG[7] PIN_Y21 LED Green [7]
LEDR[8] PIN_R18 LED Red [8]
LEDR[9] PIN_R17 LED Red [9]

d. Tabel konfigurasi pin untuk Seven Segmnet Display.


Signal Name FPGA Pin No. Description
HEX0 [0] PIN_J2 Seven Segment Digit 0 [0]
HEX0 [1] PIN_J1 Seven Segment Digit 0 [1]
HEX0 [2] PIN_H2 Seven Segment Digit 0 [2]
HEX0 [3] PIN_H1 Seven Segment Digit 0 [3]
HEX0 [4] PIN_F2 Seven Segment Digit 0 [4]
HEX0 [5] PIN_F1 Seven Segment Digit 0 [5]
HEX0 [6] PIN_E2 Seven Segment Digit 0 [6]

e. Seluruh datasheet mengenai komponen dalam board DE1 dapat dilihat di Usermanual DE1.

Anda mungkin juga menyukai