Anda di halaman 1dari 5

Percobaan III

Rangkaian Logika Kombinasional


Fikar Tsaqib Adnan (13117078)
Asisten : Bene Genhaq Suseno (13116017)
Tanggal Percobaan : 25/09/2018
EL2104 Praktikum Sistem Digital
Laboratorium Teknik Elektro
Institut Teknologi Sumatera

Abstrak —Pada Pratikum modul ini ,untuk percobaan II. LANDASAN TEORETIS
pertama mendesain rangkaian logika kombinasional
sederhana menggunakan simulasi secara fungsional dan A. Rangkaian Kombinasional
timing menggunakan CLOCKDIV. Percobaan kedua Rangkaian kombinasional didefinisikan sebaga itipe rangkaian
decoder BCD-to-7-segmen untuk diimplementasikan di logika yang diimplementasikan menggunakan persamaan
dalam FPGA. Setelah perancangan dibuat, rangkaian boolean, dengan keluaran adalah fungsi murni
verifikasi fungsinya menggunakan simulasi fungsional masukan,.Rangkaian kombinasional tidak memiliki memori
dan juga diidentifikasi worst case delay menggunakan penyimpanan logika, sehingga hasil keluaran gerbang logika
analisis dan simulasi waktu . waktu tunda paling lama sebelumnya tidak akan berpengaruh pada fungsi logika
dalam suatu rangkaian disebut worst case delay. rangkaian ini.Pada percobaan ini, kita akan menggunakan
salah satu aplikasi dari rangkaian kombinasional, yaituBCD-
Kata Kunci—Rangkaian logika to-7-Segment
kombinasional,worstcase delay, BCD-to-7-Segment.

B. BCD-to-7-segment
I. PENDAHULUAN
BCD-to-7-Segment adalah rangkaian kombinasional yang

I mplementasi fungsi gerbang logika pada rangkaian dapat


dilakukan dengan berbagai cara, salah satunya adalah
rangkaian logika kombinasional. Dalam membuat
rangkaian logika ada dua hal yang harus diperhatikan yaitu
pengujian fungsionalitas dan timing sebuah rangkaian .
menerima 4 buah masukan (4bit) dan menghasilkan keluaran
berupa gambar visual yang merepresentasikan angka biner
tersebut dalam basis desimal.
Rangkaian ini digunakan untuk mengkonversikan suatu nilai
Percobaan modul ini menggunakan VHDL dan skematik desimal terkode biner(BCD) ke pola segmen yang sesuai pada
seperti modul sebelumnya. Pada percobaan dua akan display 7-segmen. Karena nilai BCD adalah angka 4-bit pada
mengimplementasi BCD-to-7-Segment menggunakan cara jangkauan 0-9, bagaimana kita memperlakukan nilai 10-
peta karnaugh untuk menemukan fungsi yang akan di dapat 15(don’t care atau tidak) akan berpengaruh pada desain kita. 7-
,pratikan mencari worst case delay dari setiap masukan ke segmen biasanya diidentifikasi dalam industri menggunakan
setiap keluaran . huruf a-g seperti pada Gambar 2 berikut ini:
Adapun tujuan dari praktikum kali ini adalah:
1.Mendesain rangkaian sederhana untuk melihat pengaruh
waktu tunda.
2.Mendesain rangkaian kombinasional berupa decoder BCD-
to-7-segment untuk diimple-mentasikan di dalam FPGA.
3.Menggunakan simulasi fungsional untuk memverifikasi
fungsi rangkaian.
4.Menggunakan analisis dan simulasi waktu untuk
mengidentifikasi worse case delay path.
5.Melakukan pengukuran waktu tunda propagasi pada level
rangkaian. Gambar 2-1 konvensi penomoran 7-segmen
6.Mengenal level abstraksi dalam perancangan digital.

Gambar 2-2 pola display 7-segmen


C. Wrost Case Delay
Worst cade delay didefinisikan sebagai waktu tunda
Gambar 3-1 Rangkaian Skematik yang sudah dimodifikasi
terlama yang terdapat apda suatu rangkaian gerbang
logika. c. Kompilasi project dan Simulasi
1. Untuk keperluan I/O pin lakukan seperti pada modul 2.
2. Lakukan compile pada project Anda, jika ada error perbaiki
skematik Anda kemudian ulangi langkah sebelumnya. Pada
tahap ini mungkin akan terdapat banyak warning karena
banyak
port yang tidak kita gunakan tetapi hal ini tidak akan menjadi
Gambar 2-3 Waktu Tunda rangkaian
masalah pada percobaan ini.
3. Pertama kita akan menggunakan simulasi Functional seperti
Perhatikan gambar (gambar 2-3) diatas. Waktu tunda pada percobaan 2. Ikuti langkah-langkah yang telah Anda
dari masukan ke keluaran fungsi gerbang logika pelajari pada percobaan 2 untuk melaksanakannya, atur
tersebut adlaah jarak antara dua buah garis merah yang simulasi sehingga sinyal yang dipakai harus dapat
merepresentasikan setiap kemungkinan logika!
ditampilkan pada waveform..
4. Simpan hasil simulasi Anda untuk dilampirkan pada laporan
Anda.
5. Sekarang, ubahlah Simulation Mode menjadi Timing dan
III. METODOLOGI jalankan simulasi kembali.
A. Alat dan Bahan 6. Catat hasil percobaan pada BCL Anda..
7. Jawab beberapa pertanyaan berikut pada laporan Anda:
 Board FPGA tipe DE 1 i. Apa perbedaan dari kedua mode simulasi tersebut?
 Catu daya +kabel dan konektor tambahan serta kabel
downloader ii. Menurut Anda mode simulasi mana yang akan
lebih memodelkan secara akurat kondisi nyata
B. Langkah Kerja rangkaian yang Anda rancang?
Percobaan 1. Membuat Rangkaian Sederhana iii. Apakah Anda mengharapkan hasil sebenarnya
dalam percobaan ini, Anda akan membuat 2 project, yang lebih baik, buruk,atau sama saja dibandingkan
pertama diberi nama sederhana simulasi yang Anda coba dan mengapa demikian?
dan hanya terdiri dari satu skematik, yang kedua akan diberi
nama bcd dan memerlukan 2 Percobaan 2. Membuat Rangkaian BCD
skematik. a. Pembuatan project BCD.
a. Manajemen File 1. Buatlah project Quartus baru bernama bcd pada direktori
1. Buatlah direktori baru dengan nama Modul3 pada direktori bcd
praktimum digital, kemudian di dalamnya buatlah dua 2. Import pin assignment seperti pada percobaan sebelumnya.
direktori baru kembali dengan nama sederhana dan bcd. 3. Buatlah dua file diagram skematik, yang satu bernama
b. Pembuatan Project Sederhana bcd_test.bdf dan satunya lagi bernama bcd_7seg.bdf (file yang
1. Buat proyek Quartus baru dengan nama sederhana pada terakhir ini tidak ditambahkandalam project).
direktori sederhana
2. Download file clockdiv.vhd dan clockdiv.bdf dari web b. Pembuatan skematik
labdasar. Rangkaian ini akan digunakan untuk memperlambat 1. Desainlah sebuah rangkaian decoder BCD-to-7-segment
clock masukan rangkaian sederhana. seperti yang dispesifikasikan diatas dengan menggunakan
3. Buatlah sebuah file diagram skematik baru bernama persamaan Boolean berbentuk Sum of Product (SOP)/ POS
sederhana.bdf, tambahkan file tersebut ke dalam project dan minimal yang sudah Anda kerjakan pada tugas pendahuluan.
implementasikan rangkaian pada gambar (Gambar 3-1). 2. Bcd_7seg.bdf : Anda akan mengimplementasikan rangkaian
Berikan nama kaki masukan sebagai CLK[0]. Berikan nama decoder BCDto-7-segment pada file Skematik ini. Kemudian
kaki keluaran yang tersambung ke gerbang NAND (keluaran Dalam beberapa kasus untuk penyederhanaan rangkaian
Y ) sebagai GPIO[15] dan untuk kaki keluaran yang gunakan gerbang NAND gate (BANDx pada Quartus)
tersambung dengan inverter dengan nama GPIO[16]. misalnya untuk mengimplementasikan logika tanpa harus
menggunakan 3 inverter. Gunakan gerbang logika dan pin
input/output sesuai keperluan. Setelah selesai pilih
FileCreate/UpdateCreate Symbol for Current File. Langkah
ini akan membuat skematik kita bisa digunakan pada skematik
lain sebagai blok fungsi. atau ‘1’’0’ Yj akan berubah pula nilainya. Misalkan
3. Bcd_test.bdf : dalam skematik ini Anda akan memasukkan Xi=SW1[3] dan berdasarkan tabel kebenaran saat masukan
rangkaian BCDto-7-segment pada skematik lainnya sebagai SW1[3]=1, SW1[2]=1, SW1[1]=0, SW1[0]=0, Yj bernilai 0,
blok fungsi dan menghubungkan input kepada switch dan kemudian saat masukan SW1[3]=0, SW1[2]=1, SW1[1]=0,
output dengan 7-segment display. Masukkan blok bcd_7seg( SW1[0]=0, Yj bernilai 1 maka SW1[2], SW1[1], SW1[0] =
terdapat di Symbol ToolboxProject) kemudian sambungkan (1,0,0) adalah nilai set. Ulangi untuk kombinasi lain hingga
kaki-kaki pada blok bcd_7seg dengan pin input dan output Anda mendapatkan seluruh nilai set yang ada.
yang masing-masing dinamakan seperti pada tabel dibawah 3. Jawab beberapa pertanyaan berikut pada laporan Anda:
ini.  Berapa delay maksimum dari decoder?
Tabel 3-1 Penamaan pin Input/Output  Apakah nama input dari MasukanDelay yang diberi kode
Nama pin pada Nama pin Xi?
kaki bcd 7 seg input/output  Apakah nama output dari KeluaranDelay yang diberi kode
D3 SW1[3] Yj?
4. Apa saja nilai masukan yang Anda dapatkan sebagai nilai
D2 SW1[3] set pada point nomer 2?
D1 SW1[3] 5. Laksanakan kembali timing simulation, kali ini Anda hanya
D0 SW1[3] memakai kombinasi nilai input yang mengakibatkan nilai set.
A HEX1[0] Disini kita akan mencari kombinasi input yang mengakibatkan
B HEX1[1] worst case delay.
6. Buka hasil simulasi pada Simulation Report. Arahkan
C HEX1[2] mouse pada bagian gambar pulsa, klik kanan dan pilih insert
D HEX1[3] time bar hingga terdapat 2 time bar pada gambar pulsa.
E HEX1[4] 7. Geserlah time bar hingga yang satunya berada pada posisi
F HEX1[5] ketika input yang dianggap Xiberubah dan yang satunya pada
G HEX1[6] posisi ketika input yang dianggap Yj ikut berubah. Geser-
geser menggunakan panah di sebelah kanan tulisan master
time bar untuk memposisikan time bar dengan tepat. Lihat
c. Pembuatan Netlist dan Simulasi Fungsional
angka yang terdapat diatas time bar dan catat delay dari
1. Set skematik bcd_test sebagai Top Level entity pada
masingmasing kombinasi nilai set tersebut!!.
hierarki program. Hal ini bisa dilakukan dengan memilih
ProjectSet as Top-Level Entity.
2. Simulasikan rangkaian untuk setiap kombinasi masukan
yang mungkin dengan menggunakan jenis masukan Overwrite
Clock seperti yang dilakukan pada percobaan sebelumnya.
3. Simpan hasil simulasi Anda untuk dilampirkan pada laporan
dan jelaskan apakah decoder Anda sudah berfungsi dengan
benar?
d. Simulasi Timing
1. Lakukan simulasi timing pada rangkaian menggunakan
bentuk sinyal masukan yang sama seperti pada simulasi
fungsional. Pastikansimulasi sudah diset sebagai Timing
bukan Fungsional.
2. Compile dahulu project Anda apabila belum dilakukan.
Gambar 5. Contoh menghitung delay jika Xi = SW1[2] dan Yj
3. Jalankan simulasi dan lihatlah apakah keluaran identik
= HEX1[0]
dengan simulasi secara fungsional (kecuali beberapa delay dan
8. Jawab pertanyaan berikut pada laporan Anda:
glitch).
4. Jangan tutup jendela simulasi Timing karena akan  Berapa delay maksimum yang terukur pada simulasi kali ini,
digunakan untuk analisa selanjutnya apakah sama dengan yang didapatkan pada langkah 1?
e. Simulasi Worst Case Delay  Untuk kombinasi masukan bagaimana delay maksimum
1. Periksa bagian Timing Analyzer Summary dan tpd dari tersebut didapatkan?
ProcessingCompilation Report, kemudian cari pasangan kaki f. Memprogram kedalam FPGA
keluaran masukan yang memiliki delay maksimal/paling
besar. Selanjutnya kaki masukan dari delay maksimum ini kita
beri nama sebagai MasukanDelay dengan simbol Xi(misalkan
Xi=SW1[3]) dan keluarannya akan kita beri nama
KeluaranDelay dengan symbol Yj (misalkan Yj = HEX1[0]).
2. Dengan melihat tabel kebenaran dari keluaran Yj carilah
semua nilai set dari Xi dimana ketika Xi berubah dari ‘0’’1’
B. Percobaan Kedua : Membuat Rangkaian BCD
IV. HASIL DAN ANALISIS Gambar 4-3 Hasil Simulasi Fungsional Rangkaian BCD-to-
A. Percobaan Pertama :Membuat Rangkaian Sederhana 7segmen
Pada percobaan ini kita menganalisis menggunakan simulasi
fungsional yang diberikan oleh rangkaian logika yang
digunakan berikut ini

Gambar 4-1 Hasil Simulasi Fungsional Rangkaian Sederhana

Gambar 4-4 Hasil Simulasi Fungsional Rangkaian BCD-to-


7segmen

Percobaan selanjutnya kita menganalisis menggunakan


simulasi timing yang diberikan oleh rangkaian logika yang
digunakan berikut ini.

Gambar 4-4 Hasil Simulasi Timing Rangkaian Sederhana

Adapun input untuk mendapatkan nilai segment yang


Berikut ini adalah tabel kebenaran dari masukan yang berikan diinginkan pada gambar (4-3,4-4) yaitu dibawah ini .
pada kedua Gambar diatas (Gambar 4-1 ,Gambar 4-2)
Tabel 4-2 Truth Table Empat input
Tabel 4-1 Truth Tabel input GPIO[15] dan GPIO[16] D3 D2 D1 D0 A B C D E F G
CLK[0] GPIO[15] GPIO[16] 0 0 0 0 1 1 1 1 1 1 0
0 1 1 0 0 0 1 0 1 1 0 0 0 0
1 1 0 0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
Dari data diatas dapat disimpulkan hasil output rangkaian 0 1 0 0 0 1 1 0 0 1 1
yang telah dibuat sesuai desain skematik dengan input sesuai
0 1 0 1 1 0 1 1 0 1 1
pada tabel 4-1 . Terdapat perbedaan kedua simulasi yaitu pada
simulasi Fungsional terjadi perubahan pada input GPIO[16] 0 1 1 0 1 0 1 1 1 1 1
pada waktu ke 245 ns sedangkan pada simulasi timing menjadi 1 1 1 1 1 1 1 0 0 0 0
waktu ke 505 ns . Perbedaan ini terjadi karena pada simulasi 1 0 0 0 1 1 1 1 1 1 1
timing delay yang diberikan pada setiap gate harusnya 1 0 0 1 1 1 1 1 0 1 1
diperhitungkan. Hasilnyapun akurat karena pada kedua
simulasi praktikan memberikan periode yang sama antara 1 0 1 0 ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ
simulasi fungsional dan timing. Untuk simulasi timing dari 1 0 1 1 ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ
pengertiannya permodelan secara akurat pada kondisi nyata 1 1 0 0 ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ
hasil sebenarnya diharapkan sama 1 1 0 1 ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ
1 1 1 0 ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ
1 1 1 1 ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ ꬾ

Dengan menggunakan simulasi fuctional kita dapat menguji


kebenaran dari persamaan (SOP/POS) didapatkan tabel
kebeneran pada tabel 4-2 . Implementasi pada rangkaian
kombinasional tabel ini menggunakan ketika logika ‘1’ lampu
akan menyala ,untuk logika ‘0’ lampu akan mati atau
menggunakan fungsi not/inverter disebut dengan basis active
high .

Gambar 4-5 Hasil Compilation Report dari simulasi timing

Hasil yang didapatkan gambar 4-5 menunjukan delay


maksimum (delay worst delay time) yang dimiliki oleh
simulasi timing yaitu sebesar 8,083 ns dengan masukan delay
‘D1’ dan keluaran delay ‘F’.

Dapat disimpulkan dari Gambar (4-3,4-4,4-5) yang dihasilkan


simulasi antara fuctional dan timing memberikan keluaran
sinyal waveform yang sama ,ini menunjukan hasil yang
sesusai dengna referensi BCD-to-7 segment .

V. SIMPULAN

1. Di dalam setiap rangkaian logika sederhana terdapat


waktu tunda (delay time) adapaun maximum dan
minimumnya.
2. Dapat mengetahui bahwa simulasi fuctional hanya
menampilkan fungsi gerbang logika, sedangkan
simulasi timing memperhitungkan waktu tunda (delay
time)
3. Sudah dapat mendesain rangkaian kombinasional
berupa decoder BCD-to-7-segment untuk
diimplementasikan di dalam FPGA
4. Sudah dapat menggunakan simulasi fungsional untuk
memverifikasi fungsi rangkaian
5. Sudah dapat menggunakan analisis dan simulasi
waktu untuk mengidentifikasi worst case delay path

REFERENSI
[1] Brian Holdsworth and Clive Woods,
Digital Logic Design Fourth Edition
, N.wnes, 2002.
[2] Brown, Stephen, Vranesic, Zvonko, Fundamental of
Digital Logic with VHDL Design 3nd Ed, 126-146, McGraw-
Hill, New York, 2005.
[3] Modul Praktikum Rangkaian Elektrik Laboratorium
Dasar Teknik Elektro Institut Teknologi Sumatera
2018.

Anda mungkin juga menyukai