Abstrak
Adapun tujuan dari praktikum kali ini adalah :
Pada praktikum ini praktikan mencoba mendesain 1. Mendesain rangkaian sederhana untuk melihat
rangkaian kombinasional sederhana dan decoder BCD- pengaruh waktu tunda
to-7-segmen untuk diimplementasikan di dalam FPGA. 2. Mendesain rangkaian kombinasional berupa
Setelah perancangan dibuat, rangkaian verifikasi decoder BCD-to-7-segment untuk
fungsinya menggunakan simulasi fungsional dan juga diimplementasikan di dalam FPGA
diidentifikasi worst case delay pathnya menggunakan 3. Menggunakan simulasi fungsional untuk
analisis dan simulasi waktu. Praktikan dapat juga memverifikasi fungsi rangkaian
melihat pengaruh waktu tunda maksimum pada 4. Menggunakan analisis dan simulasi waktu
rangkaian. Apabila hasil simulasi yang didapatkan untuk mengidentifikasi worst case delay path
sudah sesuai, rancangan didownload ke FPGA dan 5. Melakukan pengukuran waktu tunda propagasi
dapat dicoba kebenaran fungsinya dengan memberi pada level rangkaian
6. Mengenal level abstraksi dalam perancangan
inputnya pada flex switch.Praktikan juga dapat
digital.
membedakan pendekatan level abstraksi yang dilakukan
untuk merancang rangkaian kombinasional Diharapkan praktikan mencapai tujuan tersebut.
.
Kata kunci: Rangkaian kombinasional, 2. STUDI PUSTAKA
FPGA, BCD-to-7-egment, fungsional,
timing, worst case delay,level abstraksi. Rangkaian logika terdiri terdapat beberapa
jenis yakni rangkain logika kombinasional dan
1. PENDAHULUAN rangkaian logika sekuensial.Pada
praktiknya,terdapat sifat yang tidak ideal dari
Implementasi sebuah gerbang logika gerbang logika.
kombinasional ada beberapa hal yang harus
diamati dengan seksama diantara pengujian 2.1 RANGKAIAN KOMBINASIONAL
fungsional dan timing sebuah rangkaian.Dengan
mempertimbangkan realita yang tidak bersifat Rangkaian kombinasional terdiri dari gerbang
ideal,salah satu bentuk ketidakidealan suatu logika yang memiliki output yang selalu
gerbang logika adalah terdapat waktu tunda tergantung pada kombinasi input yang ada.
(delay). Rangkaian kombinasional melakukan operasi
yang dapat ditentukan secara logika dengan
Waktu tunda berkaitan dengan efektifitas fungsi memakai sebuah fungsi boolean. Ada beberapa
kerja dari rangkaian. Fungsionalitas harus sesuai rangkaian logika kombinasional adalah
dengan spesifikasi yang dibutuhkan dan enkoder,dekoder,multiplexer dan
selanjutnya mempertim-bangkannya dengan demultiplexer.[1]
timing untuk mengetahui waktu tunda yang
muncul di dalam rangkaian. 2.2 IMPLEMENTASI FPGA DAN WAKTU TUNDA
Pada pengimplementasian pada board FPGA dari
Metode yang digunakan untuk setiap bit input yang dimasukkan memiliki waktu
mengimplementasikan rangkaian logika tunda yang berkontribusi ke waktu tunda
kombinasional adalah pendekatan dengan level keseluruhan.
abstraksi struktutral atau level abstraksi
behavioral.Salah satu rangkaian kombinasional
yang diimplementasikan adalah BCD-to-7-
segment,serta akan diidentifikasikan worst case
delay path dari rangkaian logika tersebut.
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1
Tabel 2-1 Tabel Kebenaran BCD-To-7-Segment
Digi D D D D A B C D E F G
ts 3 2 1 0
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
Gambar 2-1 Bentuk subfungsi yang mempresentasikan 4 0 1 0 0 0 1 1 0 0 1 1
logika pada FPGA 5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
Perancang yang berpengalaman bisa 7 0 1 1 1 1 1 1 0 0 0 0
menggunakan pengaturan tertentu untuk 8 1 0 0 0 1 1 1 1 1 1 1
mengspesifikasikan waktu tunda maksimum yang 9 1 0 0 1 1 1 1 1 0 1 1
dapat diterima. Estimasi worst case delay
ditentukan dengan menambahkan delay perkiraan
maksimum kedalam rangkaian kombinasional 2.4 LEVEL ABSTRAKSI
termasuk logika dan interkoneksi.
Sebuah sistem digital dapat dijelaskan pada
Worst case delay adalah waktu tunda tingkat abstraksi yang berbeda-beda,yakni level
terlama yang terdapat pada suatu rangkaian abstraksi physical,behavioral,structural
gerbang logika.Dengan mengetahui jalur dari
worst case delay kita kemudian bisa mengukur Levek abstraksi structural adalah tingkat abstraksi
delay pada setiap titik jalur tersebut.Delay yang dengan implementasi menggunakan fungsi
terukur bukanlah worst case delay tetapi lebih gerbang logika. Level abstraksi behavioral adalah
kepada waktu rata-rata.[2] tingkat abstraksi yang mengimplementasikan
sesuai dengan perilaku sistem, bukan interkoneksi
antara komponen yang digunakan.
2.3 BCD-TO-7-SEGMENT CODE CONVERTER Level abstraksi physical adalah implementasi
langsung, seperti menggunakan FPGA maupun
Rangkaian ini digunakan untuk mengkonversi rangkaian digital lainnya[3].
suatu nilai desimal terkode biner (BCD) ke pola
segmen yang sesuai pada dispal 7=segmen.
Karena nila BCD adalah angka 4-bit pada
jangkauan 0-9, maka nilai 10-15 (dont care atau
tidak ) berpengaruh pada desai kita[2]
7-segment biasanya diidentifikasi dalam industri
menggunakan huruf a-g seperti pada gambar
berikut :
3. METODOLOGI
(a) (b) Peralatan yang digunakan :
Gambar 2-2 (a) Konvensi penomoran 7-segmen, (b) Pola Board FPGA tipe DE1
Display 7-Segmen
Catu daya + kabel dan konektor tambahan serta
kabel downloader
Komputer
Secara umum alur perancangan rangkaian digital
dengan menggunakan FPGA dari ALTERA dapat
digambarkan seperti flowchart pada gambar
dibawah ini:
Implementasikan desain
ini ke dalam FPGA
0 0 0 1
0 0 1 0
0 0 1 1
Gambar 4-5 Timing Analyzer (tpd)
0 1 0 0
0 1 0 1
Gambar 4-6 Menghitung Delay untuk Xi = SW[1]
dan Yj = HEX1[5]
0 1 1 0
Worst Case-tpd From SW1[1] To HEX[5].
Dari data diatas, simulasi rangkaian BCD-to-7-
0 1 1 1
segmen telah sesuai dengan yang diharapkan.
Tapi terdapat perbedaan antara kedua simulasi,
sama seperti pada rangkaian sederhana yang 1 0 0 0
mana pada simulasi timing, delay setiap gate pada
skematiknya diperhitungkan. Perhitungan worst
case delay (Gambar 4-3) diperoleh dengan 1 0 0 1
masukan input = ‘D1’ dan keluaran output pada
‘F’ yaitu pada SW1[1] berubah 0→1. Dari hasil
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 8
0→Switch terbuka 1→Switch tertutup
Tabel 4-3 Hasil Implementasi BCD-to-7-Segmen
→LED nyala →LED mati Switc Switc Switc Switc OUTPU
Dari data hasil pengimplementasian BCD-to-7- h -1 h -2 h -3 h -4 T
segmen, didapatkan bahwa hasil simulasi dan
verifikasi input pada FPGA sesuai penggambaran 0 0 0 1
hardware pada skematik. Namun, pada hasil
impelmentasi diperoleh bahwa 7-segmen
menggunakan input ‘LOW’. 0 0 1 0
0 0 1 1
4.3 MERANCANG BCD 7SEG DENGAN LEVEL
ABSTRAKSI BEHAVIORAL
Pada percobaan 3 ini dilakukan implementasi 0 1 0 0
dengan level abstraksi. Level abstraksi dilakukan
dengan membuat kode VHDL yang berisi formula
setiap output dengan semua kombinasi input yang 0 1 0 1
diinginkan. Dengan cara ini, kita tidak perlu
malakukan/mencari persamaan untuk setiap
signal/variable. Proses merubah menjadi 0 1 1 0
persamaan Boolean, meminimalisasi, dan
membuat rangkaian gerbang logika telah
dilakukan oleh software. Selain itu, dengan cara ini 0 1 1 1
pula kita dapat membuat rangkaian yang lebih
kompleks tanpa perlu memikirkan detail
rangkaiannya. 1 0 0 0
Level-level abstraksi pada perancangan rangkaian
digital merepresentasikan seberapa mudah kode 1 0 0 1
rangkaian dapat dipahami oleh manusia. Semakin
mudah suatu kode dapat dipahami manusia, maka
semakin tinggi level abstraksi dan
kompleksitasnya. Dengan tinginya tingkat 0→Switch terbuka 1→Switch tertutup
kompleksitas suatu rangkaian, semakin panjang
pula kode (source kode) rangkaian tersebut. Hal ini →LED nyala →LED mati
menyebabkan “keborosan” pada memori serta Hasil wave sinyal dan implementasi pada FPGA
lamanya waktu saat eksekusi maupun kompilasi. pada percobaan 3 ini (gambar 13 dan 14) identik
Sebaliknya semakin rendah level suatu level sama dengan hasil gelombang serta 7 segmen
abstraksi, maka semakin sulit kode suatu pada percobaan 2. Namun terdapat sedikit
rangkaian dapat dipahami manusia. Namun perbedaan pada wave sinyal untuk nilai 9 (biner
kelebihannya yaitu kode dengan level ini lebih 1001). Hal ini dikarenakan pada kode VHDL yang
“solid” serta tidak memakai banyak memori dan digunakan, memerintahkan output pada nilai 9
waktu eksekusi maupun kompilasinya menjadi yaitu 1110011 sedangkan pada percobaan 2
lebih cepat. output berdasarkan truth table untuk nilai 9 yaitu
Berikut adalah hasil wave sinyal dan implementasi 1111011. Perbedaan terletak pada digit ke 4 atau
pada 7 segmen FPGA : output “d”.
Percobaan 2 Percobaan 3
Berikut adalah table analisis perbedaan level
abstraksi structural maupun behavioral