MODUL 3 RANGKAIAN LOGIKA KOMBINASIONAL Justin Panungkunan Sitohang (18015011) (18015011) Asisten: Edhiwan Prayo go (13213131 ) Tanggal Percobaan: 17/10/2016 EL2142-Praktikum Sistem Digital dan Mikroprosessor Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
Abstrak
Pada modul rangkaian logika kombinasional ini, percobaan yang dilakukan adalah membuat rangkaian sederhana, mendesain rangkaian kombinasional seperti rangkaian BCD, dan merancang BCD to 7SEG dengan level abstraksi behavioral. Percobaan Percobaan ini dilakukan dilakukan dengan simulasi simulasi dan pengimplementasian menggunakan FPGA. Percobaan yang dilakukan kita akan menganalisis yaitu pengenalan dan pemahaman beberapa level dari perancangan digital yang memiliki kekurangan dan kelebihan masing-masing dan juga pengenalan dan pemahaman dari waktu tunda dan worst case delay (waktu tunda paling lama) dengan menggunakan dua mode simulasi berbeda yaitu mode functional dan mode timing .
Kata kunci: rangkaian logika kombinasional, worst case delay , BCD-to-7-Segment 1.
PENDAHULUAN
Praktikum kali ini berjudul rangkaian logika kombinasional. Pada praktikum kali ini bertujuan untuk 1. Mendesain rangkaian sederhana melihat pengaruh waktu tunda
untuk
2. Mendesain rangkaian kombinasional berupa decoder BCD-to-7-segment untuk diimplementasikan di dalam FPGA 3. Menggunakan simulasi fungsional untuk memverifikasi fungsi rangkaian 4. Menggunakan analisis dan simulasi waktu untuk mengidentifikasi worst case delay path 5. Melakukan pengukuran waktu propagasi pada level rangkaian
tunda
6. Mengenal level abstraksi dalam perancangan digital.
salah satunya adalah rangkaian logika kombinasional. Rangkaian logika kombinasional hanya melihat masukan yang diterima tanpa dipengaruhi keluaran fungsi gerbang logika sebelumnya, sehingga dapat dikatakan bahwa rangkaian ini merupakan salah satu rangkaian yang memiliki cara kerja paling sederhana. Pada percobaan sebelumnya, kita hanya memperhatikan fungsi masukan serta keluaran gerbang logika, tanpa mempertimbangkan realita yang tidak bersifat ideal. Salah satu bentuk ketidak-idealan tersebut adalah jeda waktu ( delay) rangkaian logika. Percobaan ini akan mengimplementasikan BCDto-7-Segment , salah satu rangkaian kombinasional, serta akan diidentifikasikan jeda waktu paling lama (worst case delay path ) pada rangkaian ini. Dua metoda berbeda akan digunakan, yaitu dengan level abstraksi struktural serta level abstraksi behavioral. 2. 2.1
S TUDI PUSTAKA IMPLEMENTASI FPGA D AN W AKTU TUNDA
Dalam teknologi Altera Cyclone yang kita gunakan, fungsi logika diuraikan oleh software implementasi kedalam bentuk subfungsi 4masukan.[1] Setiap subfungsi kemudian diimplementasikan oleh tabel kebenaran yang bekerja seperti multiplexer dan dibuat dengan memprogram SRAM yang mendefinisikan fungsionalitas dari FPGA.[1] Setiap tabel kebenaran memiliki waktu tunda yang berkontribusi ke waktu tunda keseluruhan. [1] Sedangkan untuk membedakan antara rangkaian kombinasional dan sekuensial, dalam subfungsi juga diberikan sebuah D flip-flop seperti yang terlihat pada Gambar 2.1[1] .
Dari percobaan ini diharapkan praktikan mencapai keenam tujuan diatas tersebut. Implementasi fungsi gerbang logika pada rangkaian dapat dilakukan dengan berbagai cara, Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
1
bukanlah worst case delay tetapi lebih kepada waktu tunda rata-rata.[1] 2.2
Gambar 2.1. Bentuk subfungsi yang merepresentasikan logika pada FPGA
Penguraian kedalam subfungsi yang dikombinasikan dengan routing interkoneksi menghasilkan ketidakpastian dalam delay propagasi dari masukan ke keluaran dalam implementasi rangkaian[1]. Suatu persamaan logika dengan 2 variabel mungkin saja memiliki waktu tunda yang sama dengan yang menggunakan 4 variabel karena bentuk subfungsi FPGA.[1] Perancang yang berpengalaman mungkin bisa menggunakan pengaturan tertentu untuk menspesifikasikan waktu tunda maksimum yang dapat diterima. Apapun masalahnya, sangat berguna bagi kita untuk mengetahui berapa waktu tunda dari rangkaian kita. Karena hampir semua rangkaian kombinasional ditempatkan pada kondisi sekuensial, biasanya kita tertarik pada worst case delay yang bisa terjadi dalam operasi rangkaian dari masukan rangkaian kombinasional ke setiap keluaran rangkaian kombinasional. Estimasi worst case delay ditentukan dengan menambahkan delay perkiraan maksimum kedalam rangkaian kombinasional termasuk logika dan interkoneksi. Karena ketidakpastian ini, worst case delay hanya bisa ditentukan setelah proses implementasi selesai termasuk penguraian menjadi subfungsi dan routing interkoneksi.[1] Dalam percobaan ini, kita akan membangun dua rangkaian. Dengan rangkaian pertama kita akan melihat beberapa tipe dari simulasi yang dapat kita gunakan dan melihat kemungkinan efek dari proses penguraian yang mengimplementasikan rangkaian sebenarnya secara fisik. Kemudian dengan rangkaian kedua, selain memverifikasi fungsionalitasnya, kita juga akan mencari worst case delay dari setiap masukan ke setiap keluaran dan akan menggunakan metode simulasi yang hanya dapat diaplikasikan pada rangkaian sederhana untk mencari jalur sebenarnya yang ditempuh dimana delay ditemukan. Dengan Mengetahui jalur dari worst case delay kita kemudian bisa mengukur delay pada setiap titik jalur tersebut di lab. Delay yang terukur ini
BCD-TO-7-SEGMENT C ODE C ONVERTER
Rangkaian ini digunakan untuk mengkonversikan suatu nilai desimal terkode biner(BCD) ke pola segmen yang sesuai pada display 7-segmen. Karena nilai BCD adalah angka 4-bit pada jangkauan 0-9, bagaimana kita memperlakukan nilai 10-15(don’t care atau tidak) akan berpengaruh pada desain kita. 7-segmen biasanya diidentifikasi dalam industri menggunakan huruf a-g seperti pada Gambar 2.2 berikut ini:
(a)
(b) Gambar 2.2.(a) Konvensi penomoran 7-segmen, (b) Pola Display 7-segmen[1]
Untuk tabel kebenaran dan k-maps dari BCD-to-7segment ini adalah seperti berikut
Tabel 2.2 tabel kebenaran BCD to 7 segment [2]
2.3
W ORST CASE DELAY
Worst case delay didefinisikan sebagai waktu tunda terlama yang terdapat pada suatu rangkaian gerbang logika.
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
2
Gambar 2-2 Waktu Tunda Rangkaian
Perhatikan gambar (Gambar 2-2) diatas. Waktu tunda dari masukan ke keluaran fungsi gerbang logika tersebut adalah jarak antara dua buah garis merah yang ditampilkan pada waveform tersebut.
2.4 LEVEL A BSTRAKSI Dalam perancangan fungsi gerbang logika, ada tiga level abstraksi yang dapat digunakan, yaitu level abstraksi behavioral, struktural, serta physical,[3].
Level abstraksi behavioral adalah tingkat abstraksi yang mengimplementasikan sesuai dengan perilaku sistem, bukan interkoneksi antara komponen yang digunakan. Level abstraksi struktural adalah tingkat abstraksi dengan implementasi menggunakan fungsi gerbang logika, baik secara skematik maupun bahasa VHDL. Level abstraksi physical adalah implementasi langsung, seperti menggunakan FPGA maupun rangkaian digital lainnya[3]. 3. 3.1
METODOLOGI PERALATAN YANG DIGUNAKAN
1) Board FPGA tipe UP2, DE1, DE2, dan DE2-70
Gambar 3-1 Script untuk CLOCKDIV
Kode yang digunakan diatas berfungsi untuk memperlambat fungsi keluaran. Hal ini bertujuan untuk mempermudah analisis waktu tunda pada simulasi timing yang akan dilakukan nantinya. Secara skematik, kita akan membuat rangkaian seperti gambar 3-2 berikut ini:
2) Catu daya + kabel dan konektor tambahan serta kabel downloader 3) Osiloskop 3.2
MEMBUAT RANGKAIAN SEDERHANA Gambar 3.2.2. Rangkaian Gambar 3 dengan modifikasi
Percobaan ini dapat dibagi menjadi 3 bagian, yaitu pembuatan rangkaian kombinasional sederhana, implementasi dengan BCD-to-7-Segment persamaan Boolean, serta implementasi menggunakan level abstraksi behavioral. Pada percobaan pertama, kita akan membuat sebuah rangkaian kombinasional sederhana dengan 1 masukan, 2 keluaran, serta CLOCKDIV, gerbang NAND dan gerbang NOT.
Meskipun demikian, kita tidak menggunakan pendekatan skematik, namun menggunakan pendekatan lainnya, yaitu menggunakan bahasa VHDL. Gambar berikut ini (Gambar 3-3) merepresentasikan kode yang digunakan
Berikut ini adalah file konfigurasi CLOCKDIV yang digunakan (Gambar 3-1): Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
3
3.2.2
PEMBUATAN P ROJECT SEDERHANA
Buat proyek Quartus baru dengan nama sederhana pada direktori sederhana
Gambar 3-3 Script VHDL untuk Rangkaian Sederhana Pada percobaan diatas, kita akan menganalisis perbedaan simulasi Functional serta simulasi Timing yang akan dieksekusi. Berikut adalah langkah-langkah untuk membuat rangkaian sederhana: 3.2.1
Download file clockdiv.vhd dan clockdiv.bdf dari web labdasar. Rangkaian ini akan digunakan untuk memperlambat clock masukan rangkaian sederhana.
M ANAJEMEN FILE
Buatlah direktori baru dengan nama Modul3 pada direktori praktimum digital, kemudian di dalamnya buatlah dua direktori baru kembali dengan nama sederhana dan bcd.
Buatlah sebuah file diagram skematik baru bernama sederhana.bdf , tambahkan file tersebut ke dalam project dan implementasikan rangkaian pada Gambar 4. Berikan nama kaki masukan sebagai CLK[0]. Berikan nama kaki keluaran yang tersambung ke gerbang NAND (keluaran Y pada Gambar 3.2.2) sebagai GPIO[15] dan untuk kaki keluaran yang tersambung dengan inverter dengan nama GPIO[16].
Download file yang bernama SisDig_pin_assignment_UP2.qsf bagi yang mendapatkan board FPGA UP2 ke direktori Modul3 Anda. File tersebut akan digunakan untuk penempatan pin secara otomatis.
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
4
3.2.3
K OMPILASI PROJECT DAN SIMULASI
Untuk keperluan I/O pin kita akan menggunakan file yang sudah ada dan pada praktikum –praktikum selanjutnya kita akan memakai cara ini. Klik Assignmen --> Import Assignment. Pada jendela baru sorot filename kemudian klik tombol … , pilih file SisDig_pin_assignment_UP2.qsf yang sudah Anda kopi.
Coba klik Assignment --> Pin Planner seperti pada modul 2, Anda akan melihat beberapa pin FPGA sudah terhubung dengan suatu nama. Dengan mencocokkan nama port input/output pada skematik/VHDL kita dengan nama yang digunakan pada file akan membuat kita tidak perlu menghubungkan secara manual seperti pada modul sebelumnya. Cek apakah ada yang belum terhubung.
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 masalah pada percobaan ini.
3.3
ANGKAIAN BCD MEMBUAT R
Percobaan selanjutnya adalah mengimplementasi BCD-to-7-Segment dengan pendekatan struktural, yaitu menggunakan persamaan boolean (SOP) yang disederhanakan seperti kode pada gambar 34 berikut ini:
Gambar 3-4 Kode File Bcd_7seg.vhd
Persamaan logika tersebut didapatkan dari K-Map tabel kebenaran fungsi BCD-to-7-Segment referensi yang digunakan. Dalam menghubungkan fungsi persamaan boolean diatas kedalam FPGA DE-1, kita menggunakan script berikut ini (Gambar 3-5):
Pertama kita akan menggunakan simulasi Functional seperti pada percobaan 2. Ikuti langkah-langkah yang telah Anda pelajari pada percobaan 2 untuk melaksanakannya, atur simulasi sehingga sinyal yang dipakai harus dapat merepresentasikan setiap kemungkinan logika!
Simpan hasil simulasi Anda untuk dilampirkan pada laporan Anda.
Sekarang, ubahlah Simulation Mode menjadi Timing dan jalankan simulasi kembali.
Catat hasil percobaan pada BCL . Gambar 3-5 Kode File Bcd_test.vhd
Berikut adalah langkah-langkah untuk membua rangkaian kominasional BCD to 7 segment :
3.3.1
PEMBUATAN PROJECT BCD.
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
5
Buatlah project Quartus baru bernama bcd pada direktori bcd
Tabel 3.3.2. Penamaan Pin Input/Output
Import pin assignment seperti pada percobaan sebelumnya.
Buatlah dua file diagram skematik, yang satu bernama bcd_test.bdf dan satunya lagi bernama bcd_7seg.bdf (file yang terakhir ini tidak ditambahkan dalam project).
3.3.2
3.3.3
PEMBUATAN SKEMATIK
Desainlah sebuah rangkaian decoder BCD-to-7segment seperti yang dispesifikasikan diatas dengan menggunakan persamaan Boolean berbentuk Sum o Product (SOP)/ POS minimal yang sudah Anda kerjakan pada tugas pendahuluan.
Bcd_7seg.bdf : Anda akan mengimplementasikan rangkaian decoder BCD- to-7-segment pada file skematik ini. Kemudian dalam beberapa kasus untuk penyederhanaan rangkaian gunakan gerbang NAND gate (BANDx pada Quartus) misalnya untuk mengimplementasikan logika X 2. X 1. X 0 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.
PEMBUATAN NETLIST DAN SIMULASI FUNGSIONAL
Set skematik bcd_test sebagai Top Level entity pada hierarki program. Hal ini bisa dilakukan dengan memilih Project --> Set as Top-Level Entity.
Simulasikan rangkaian untuk setiap kombinasi masukan yang mungkin dengan menggunakan jenis masukan Overwrite Clock seperti yang dilakukan pada percobaan sebelumnya.
Simpan hasil simulasi Anda untuk dilampirkan pada laporan dan jelaskan apakah decoder Anda sudah berfungsi dengan benar?
3.3.4
SIMULASI TIMING
Lakukan simulasi timing pada rangkaian menggunakan bentuk sinyal masukan yang sama seperti pada simulasi fungsional. Pastikan simulasi sudah diset sebagai Timing bukan Fungsional.
Compile dahulu project Anda apabila belum dilakukan. Bcd_test.bdf : dalam skematik ini Anda akan memasukkan rangkaian BCD- to-7-segment pada skematik lainnya sebagai blok fungsi dan menghubungkan input kepada switch dan output dengan 7-segment display. Masukkan blok bcd_7seg( terdapat di Symbol Toolbox --> Project ) kemudian sambungkan kaki-kaki pada blok bcd_7seg dengan pin input dan output ya ng masing masing dinamakan seperti pada tabel dibawah ini.
Jalankan simulasi dan lihatlah apakah keluaran identik dengan simulasi secara fungsional (kecuali beberapa delay dan glitch).
Jangan tutup jendela simulasi Timing karena akan digunakan untuk analisa selanjutnya
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
6
3.3.5
SIMULASI WORST C ASE DELAY
3.3.6
MEMPROGRAM KEDALAM FPGA
Coba Anda download program BCDto7-segmen Anda kedalam board FPGA yang tersedia, lihat kembali modul 2 untuk cara pemrograman.
Periksa bagian Timing Analyzer Summary dan tpd dari ProcessingàCompilation Report, kemudian cari pasangan kaki 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]).
Mainkan 4 switch yang kita pakai pada percobaan ini dan lihat apakah program kita sudah berjalan dengan benar.
Dengan melihat tabel kebenaran dari keluaran Yj carilah semua nilai set dari Xi dimana ketika Xi berubah dari ‘0’ --> ’1’ atau ‘1’ -> ’0’ Yj akan berubah pula nilainya. Misalkan Xi=SW1[3] dan berdasarkan tabel kebenaran saat masukan SW1[3]=1, SW1[2]=1, SW1[1]=0, SW1[0]=0, Yj bernilai 0, kemudian saat masukan SW1[3]=0, SW1[2]=1, SW1[1]=0, SW1[0]=0, Yj bernilai 1 maka SW1[2], SW1[1], SW1[0] = (1,0,0) adalah nilai set. Ulangi untuk kombinasi lain hingga Anda mendapatkan seluruh nilai set yang ada
Catat Hasil percobaan pada BCL Anda.
Laksanakan kembali timing simulation, kali ini Anda hanya memakai kombinasi nilai input yang mengakibatkan nilai set. Disini kita akan mencari kombinasi input yang mengakibatkan worst case delay.
Buka hasil simulasi pada Simulation Report. Arahkan mouse pada bagian gambar pulsa, klik kanan dan pilih insert time bar hingga terdapat 2 time bar pada gambar pulsa.
3.4
MERANCANG BCD 7SEG DENGAN LEVEL A BSTRAKSI BEHAVIORAL
Setelah menggunakan pendekatan struktural (menggunakan persamaan Boolean), berikut ini kita akan menggunakan implementasi dengan level abstraksi behavioral. Berikut ini adalah kode / script yang digunakan dalam percobaan ketiga (Gambar 3-6):
Geserlah time bar hingga yang satunya berada pada posisi ketika input yang dianggap Xi berubah dan yang satunya pada 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 angka yang terdapat diatas time bar dan catat delay dari masing- masing kombinasi nilai set tersebut!!
Gambar 3-6 Script Pendekatan Abstraksi Behavioral Kita akan mengimplementasikan kode tersebut dengan simulasi testbench, yang akan menggunakan kode berikut ini (Gambar 3-7):
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
7
Seperti yang telah dilakukan pada percobaan sebelumnya, kita dapat mensimulasikan kode diatas menggunakan script sim.do berikut ini (Gambar 3-8):
Gambar 3-8 Script sim.do
Berikut adalah langkah-langkah untuk membuat rangkaiannya: Buatlah folder baru untuk melakukan percobaan pada praktikum ini. Folder ini nantinya digunakan sebagai direktori kerja, untuk menyimpan file-file yang berhubungan dengan praktikum ini.
Gambar 3-7 Script Testbench untuk Abstraksi Behavioral Buatlah file DUT (Device Under Test) dengan cara mengetikkan script di bawah ini (script 3.4.1) menggunakan text editor , kemudian simpan file tersebut di folder yang telah dibuat pada langkah sebelumnya.
Buatlah file Testbench dengan cara mengetikkan script di bawah ini (script 3.4.2 ) menggunakan text editor , kemudian simpan file tersebut di folder yang telah dibuat pada langkah sebelumnya.
Buatlah file sim.do dengan cara mengetikkan script seperti yang telah dilakukan pada percobaan 2D. Lakukan beberapa modifikasi penyesuaian pada script tersebut.
Pada jendela transcript ketikkan “do sim.do” untuk menjalankan simulasi. Ambil gambar sinyal hasil simulasi tersebut, kemudian sertakan dalam laporan ! Analisis sinyal hasil simulasi tersebut !
Implementasikan desain ini ke dalam FPGA dengan cara yang telah dijelaskan pada percobaan sebelumnya. Apakah hasilnya menunjukkan behavioral yang sama dengan langkah 3-B? Analisis kelebihan dan kekurangan masing-masing level abstraksi!
Script 3.7 script untuk file DUT
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
8
4.
H ASIL DAN A NALISIS
4.1
saja dibandingkan simulasi yang Anda coba dan mengapa demikian?
ANGKAIAN SEDERHANA MEMBUAT R
Jawab : sama saja dengan simulasi karena hasil dari simulasi kami sudah cukup baik dan kesalahan yang mungkin terjadi baik kesalahan teknis maupun kesalahan manusia sudah dapat diminimalisir dengan baik karena percobaan ini hanya berbasis simulator
Pada percobaan ini, kita akan menganalisis waktu jeda yang diberikan oleh rangkaian logika yang digunakan. Berikut ini adalah hasil simulasi gerbang logika secara Functional (Gambar 4-1):
Gambar 4.2 hasil simulasi dari rangkaian sederhana(Functional)
Gambar 4.1 hasil simulasi dari rangkaian sederhana(Timing)
Pada waveform tersebut, ada 3 buah pin yang digunakan yaitu CLK[0], GPIO[15] / keluaran NAND gate , serta GPIO[16] / keluaran NOT gate. Fungsi logika yang digunakan pada GPIO[15] adalah CLK[0] NAND (NOT CLK[0]) sedangkan fungsi logika yang digunakan pada GPIO[16] adalah (NOT CLK[0]).
4.2
ANGKAIAN BCD MEMBUAT R
Dari percobaan yang didapat, dapat dilihat dari gambar di bawah, bahwa tebel kebenaran dari BCD to 7 segment yang diharapkan sama dengan yang didapatkan ketika praktikum.
Berikut ini adalah tabel kebenaran dari masukkan yang diberikan: Di modul terdapat 3 pertanyaan
Apa perbedaan dari kedua mode simulasi tersebut? Jawaban : Awalnya perbedaan dari kedua ini tidak tampak terlihat jelas.Perbedaan kedua mode simulasi dari simulasi fungsional ke simulasi timing adalah terjadinya waktu tunda yaitu sebesar 7,677ns. Waktu tunda terjadi di mana waktu ketika mode timing adalah 252,681 ns dan ketika mode functional adalah 245,004 ns. Disini dapat dilihat bahwa mode timing lebih cepat daripada mode functional
Karena pada percobaan ini yang dilihat adalah perbedaan antara mode timing dan mode functional, maka hasil yang kami dapat adalah
Menurut Anda mode simulasi mana yang akan lebih memodelkan secara akurat kondisi nyata rangkaian yang Anda rancang? Jawab : Simulasi menggunakan Timing jelas lebih memodelkan situasi ideal yang ada di dunia nyata, karena memperhitungkan efek waktu tunda dari rangkaian yang digunakan
Gambar 4.2.1 hasil simulasi rangkaian BCD
(a)
Apakah Anda mengharapkan hasil sebenarnya lebih baik, buruk, atau sama Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
9
Dapat kita simpulkan bahwa worst case delay yang terjadi adalah 12.541 ns.
(b) Gambar 4.2.2. hasil simulasi dari (a) mode functional dan (b) mode timing
Secara visual,kita dapat melihat perbedaan mendasar dari simulasi Functional dengan Timing, yaitu dari waktu jeda yang dihasilkan oleh keluaran.
Kita dapat mengamati langsung dari waveform keluaran saat t = 47.14 ns, nilai logika KeluaranDelay mengalami perubahan dari 1 menjadi 0, sedangkan saat t = 52.505 ns, nilai logika KeluaranDelay mengalami perubahan dari 0 menjadi 1, sesuai dengan referensi yang diharapkan. Delay maksimum yang tercatat pada rangkaian BCD-to-7-Segment yang digunakan adalah 12.541 ns, dengan nilai set (0,0,1) bisa dilihat di table. Dari Logika
Ke Logika
Set
0110
1110
0001
1001
4.3
Waktu Timing
Delay Time
(1,1,0)
Waktu Ekspek tasi 35 ns
42.13 ns
12.14 ns
(0,0,1)
40 ns
49.205 ns
12.541 ns
MERANCANG BCD 7SEG DENGAN LEVEL A BSTRAKSI BEHAVIORAL
Gambar 4.2.3 Compilation Report dari Simulasi Timing
Gambar 4-6 menunjukkan delay maksimum (worst delay time) yang dimiliki rangkaian kombinasional yang digunakan, yaitu 12.541 ns dengan MasukanDelay SW1[3] dan KeluaranDelay HEX1[3]. SW1[3] adalah representasi dari masukkan D1, sedangkan HEX1[3] adalah representasi dari keluaran D. Sesuai dengan modul, terdapat pertanyaanpertanyaan yang dapat mendukung analisa, yaitu
Berapa delay maksimum dari decoder? Jawab : delay yang kami dapat dari praktikum yaitu sebesar 12.541 ns.
Apakah nama input dari MasukanDelay yang diberi kode Xi? Jawab : mode input yang kami beri kode Xi adalah SW1[3]
Apakah nama output dari KeluaranDelay yang diberi kode Yj? Jawab : kode keluaran yang kami beri kode Yj adalah HEX1[0]
Dengan bantuan pertanyaan dan jawaban di atas serta hasil yang kami dapatkan yaitu
Data diambil dari Immanuel Deo (18015025) Analisa
:
kita dapat menyimpulkan bahwa implementasi menggunakan persamaan logika boolean maupun abstraksi behavioral memberikan hasil keluaran yang sama. Secara umum, masing-masing
dari perancangan digital memiliki kelebihan dan kekurangan masing-masing, kelebihan dari perancangan cara ini adalah bahasa yang digunakan untuk mengatur sebuah rangkaian
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
1 0
lebih menggunakan bahasa manusia sedangakan untuk kekurangannya adalah penulisan bahasa yang sedikit lebih komplex dibandingkan dengan kode VHDL. | 5. K ESIMPULAN Pada percobaan kali ini dapat disimpulkan,Pertama, pada rangkaian sederhana memiliki waktu tunda(delay) yang dapat kita lihat dengan menggunakan mode timing. Dalam percobaan ini ada 2 simulasi yang dilakukan, seperti simulasi Functional yang menampilkan keluaran fungsi logika,sedangkan simulasi Timing memperhitungkan waktu tunda(delay) dari suatu rangkaian.Setiap gerbang logika memiliki waktu tunda(delay time) idealnya di dunia nyata.Waktu tunda paling lama disebut worst case delay path,seperti percobaan 2B diatas,didapatkan waktu tunda terlama BCD to 7-Segment yang digunakan yaitu 12.541 ns dengan MasukanDelay SW1[3] (D1) dan KeluaranDelay HEX1[3] (D). Kedua, Dalam mengimplementasikan gerbang logika,. Implementasi abstraksi behavioral memerlukan keluaran (output) langsung dari fungsi logika. VHDL dapat menggambarkan berbagai tingkat abstraksi yang berbeda-beda, mulai dari fungsi-fungsi sampai ke tingkat gerbang-gerbang-nya. Abstraksi artinya menyembunyikan implementasi detail.
D AFTAR PUSTAKA
[1]
Mervin T. Hutabarat, dkk , Buku Petunjuk Praktikum Sistem Digital Dan Mikroprosesor EL 2142, Penerbit ITB, Bandung, 2016.
[2]
http://forum.allaboutcircuits.com/threads/b cd-to-7-segment-display.52779/, 19 oktober 2015, 1.04 wib
[3]
http://rizkia.wordpress.com/2011/01/08/vh dl-level-abstraksi/, 19 Oktober 2016, 1.20
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
11