rangkaian logika kombinasional

9
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1 MODUL 3 RANGKAIAN LOGIKA KOMBINASIONAL Iskandar Setiadi (13511073) Asisten: Nirmala Twinta V. / 13209031 Tanggal Percobaan: 09/10/2012 EL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB Abstrak Kita telah menganalisis beberapa permasalahan gerbang logika yang memberikan fungsi keluaran berbeda-beda. Pada realita, gerbang logika tidak memiliki sifat se-ideal simulasi yang telah kita lakukan. Pada percobaan ini, kita akan menganilisis salah satu sifat rangkaian, yaitu waktu tunda. Kita akan menggunakan rangkaian sederhana serta BCD- to-7-segment untuk menganalisis waktu tunda dalam rangkaian logika kombinasional. Waktu tunda paling lama dalam suatu rangkaian disebut worst case delay. Kata kunci: rangkaian logika kombinasional, worst case delay, BCD-to-7-Segment. 1. PENDAHULUAN Implementasi fungsi gerbang logika pada rangkaian dapat dilakukan dengan berbagai cara, 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 BCD- to-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. STUDI PUSTAKA Rangkaian gerbang logika dapat dibagi menjadi beberapa bagian, seperti rangkaian logika kombinasional maupun rangkaian logika sekuensial. Adder, encoder, decoder, dan substractor adalah contoh dari aplikasi rangkaian logika kombinasional. Pada praktiknya, terdapat sifat- sifat gerbang logika yang tidak ideal seperti waktu tunda (delay time) dari gerbang logika. Selain itu, terdapat beberapa level abstraksi yang dapat digunakan seperti level abstraksi struktural maupun behavioral. 2.1 RANGKAIAN KOMBINASIONAL Rangkaian kombinasional didefinisikan sebagai tipe rangkaian logika yang diimplementasikan menggunakan persamaan boolean, dengan keluaran adalah fungsi murni masukan,[7]. Rangkaian kombinasional tidak memiliki memori penyimpanan logika, sehingga hasil keluaran gerbang logika sebelumnya tidak akan berpengaruh pada fungsi logika rangkaian ini. Pada percobaan ini, kita akan menggunakan salah satu aplikasi dari rangkaian kombinasional, yaitu BCD-to-7-Segment, yang akan dijelaskan pada bagian berikut. 2.2 BCD-TO-7-SEGMENT BCD-to-7-Segment adalah rangkaian kombinasional yang menerima 4 buah masukan (4 bit) dan menghasilkan keluaran berupa gambar visual yang merepresentasikan angka biner tersebut dalam basis desimal,[2]. Untuk lebih jelasnya, perhatikan Gambar 2-1 berikut,[8]: Gambar 2-1 BCD-to-7-Segment Setiap segment yang menyala (a-g) akan merepresentasikan sebuah gambar visual. Sebagai contoh, angka 0 (0000) memiliki keluaran ”1111110”, maka hanya segment g yang berbeda (sisanya membentuk angka ’0’).

Upload: iskandar-setiadi

Post on 02-Aug-2015

1.755 views

Category:

Documents


195 download

DESCRIPTION

Laporan Praktikum 3

TRANSCRIPT

Page 1: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1

MODUL 3 RANGKAIAN LOGIKA KOMBINASIONAL

Iskandar Setiadi (13511073) Asisten: Nirmala Twinta V. / 13209031

Tanggal Percobaan: 09/10/2012 EL2195-Praktikum Sistem Digital

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

Abstrak

Kita telah menganalisis beberapa permasalahan gerbang logika yang memberikan fungsi keluaran berbeda-beda. Pada realita, gerbang logika tidak memiliki sifat se-ideal simulasi yang telah kita lakukan. Pada percobaan ini, kita akan menganilisis salah satu sifat rangkaian, yaitu waktu tunda. Kita akan menggunakan rangkaian sederhana serta BCD-to-7-segment untuk menganalisis waktu tunda dalam rangkaian logika kombinasional. Waktu tunda paling lama dalam suatu rangkaian disebut worst case delay.

Kata kunci: rangkaian logika kombinasional, worst case delay, BCD-to-7-Segment.

1. PENDAHULUAN

Implementasi fungsi gerbang logika pada rangkaian dapat dilakukan dengan berbagai cara, 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 BCD-to-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. STUDI PUSTAKA

Rangkaian gerbang logika dapat dibagi menjadi beberapa bagian, seperti rangkaian logika kombinasional maupun rangkaian logika sekuensial. Adder, encoder, decoder, dan substractor adalah contoh dari aplikasi rangkaian logika kombinasional. Pada praktiknya, terdapat sifat-sifat gerbang logika yang tidak ideal seperti waktu

tunda (delay time) dari gerbang logika. Selain itu, terdapat beberapa level abstraksi yang dapat digunakan seperti level abstraksi struktural maupun behavioral.

2.1 RANGKAIAN KOMBINASIONAL

Rangkaian kombinasional didefinisikan sebagai tipe rangkaian logika yang diimplementasikan menggunakan persamaan boolean, dengan keluaran adalah fungsi murni masukan,[7]. Rangkaian kombinasional tidak memiliki memori penyimpanan logika, sehingga hasil keluaran gerbang logika sebelumnya tidak akan berpengaruh pada fungsi logika rangkaian ini.

Pada percobaan ini, kita akan menggunakan salah satu aplikasi dari rangkaian kombinasional, yaitu BCD-to-7-Segment, yang akan dijelaskan pada bagian berikut.

2.2 BCD-TO-7-SEGMENT

BCD-to-7-Segment adalah rangkaian kombinasional yang menerima 4 buah masukan (4 bit) dan menghasilkan keluaran berupa gambar visual yang merepresentasikan angka biner tersebut dalam basis desimal,[2]. Untuk lebih jelasnya, perhatikan Gambar 2-1 berikut,[8]:

Gambar 2-1 BCD-to-7-Segment

Setiap segment yang menyala (a-g) akan merepresentasikan sebuah gambar visual. Sebagai contoh, angka 0 (0000) memiliki keluaran ”1111110”, maka hanya segment g yang berbeda (sisanya membentuk angka ’0’).

Page 2: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 2

2.3 WORST CASE DELAY

Worst case delay didefinisikan sebagai waktu tunda terlama yang terdapat pada suatu rangkaian gerbang logika.

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 ABSTRAKSI

Dalam perancangan fungsi gerbang logika, ada tiga level abstraksi yang dapat digunakan, yaitu level abstraksi behavioral, struktural, serta physical,[6].

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. METODOLOGI

Percobaan ini dapat dibagi menjadi 3 bagian, yaitu pembuatan rangkaian kombinasional sederhana, implementasi BCD-to-7-Segment dengan 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.

Berikut ini adalah file konfigurasi CLOCKDIV yang digunakan (Gambar 3-1):

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:

Gambar 3-2 Sketsa Rangkaian dengan Skematik

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:

Page 3: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 3

Gambar 3-3 Script VHDL untuk Rangkaian Sederhana

Pada percobaan diatas, kita akan menganalisis perbedaan simulasi Functional serta simulasi Timing yang akan dieksekusi.

Percobaan selanjutnya adalah mengimplementasi BCD-to-7-Segment dengan pendekatan struktural, yaitu menggunakan persamaan boolean (SOP) yang disederhanakan seperti kode pada gambar 3-4 berikut ini:

Gambar 3-4 Kode File Bcd_7seg.vhd

Persamaan boolean yang akan kita gunakan adalah sebagai berikut:

A <= NOT (D1 OR D3 OR ((NOT D0) AND (NOT D2)) OR (D0 AND D2));

B <= NOT ((NOT D2) OR (D0 AND D1) OR ((NOT D0) AND (NOT D1)));

C <= NOT (D0 OR (NOT D1) OR D2);

D <= NOT (D3 OR (D1 AND (NOT D2)) OR ((NOT D0) AND (NOT D2)) OR (D0 AND (NOT D1) AND D2) OR (D1 AND (NOT D0)));

E <= NOT (((NOT D0) AND (NOT D2)) OR ((NOT D0) AND D1));

F <= NOT (D3 OR ((NOT D0) AND (NOT D1)) OR ((NOT D0) AND D2) OR ((NOT D1) AND D2));

G <= NOT (D3 OR (D1 AND (NOT D2)) OR ((NOT D1) AND D2) OR ((NOT D0) AND D2));

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):

Gambar 3-5 Kode File Bcd_test.vhd

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):

Gambar 3-6 Script Pendekatan Abstraksi Behavioral

Kita akan mengimplementasikan kode tersebut dengan simulasi testbench, yang akan menggunakan kode berikut ini (Gambar 3-7):

Page 4: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 4

Gambar 3-7 Script Testbench untuk Abstraksi Behavioral

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

Langkah akhir yang dilakukan adalah mengimplementasikan kode tersebut pada rangkaian FPGA DE-1 yang tersedia. Setelah itu, kita akan membandingkan hasil yang didapatkan dari percobaan kedua dengan percobaan ini. Komparasi yang akan dianalisis adalah perbedaan metode struktural dengan behavioral yang digunakan diatas.

4. HASIL DAN ANALISIS

Percobaan ini dibagi menjadi 3 segmen utama, yaitu menggunakan rangkaian kombinasional

sederhana, rangkaian BCD, serta merancang rangkaian BCD menggunakan level abstraksi behavioral. Berikut ini adalah hasil serta analisis dari percobaan ini.

4.1 MEMBUAT RANGKAIAN SEDERHANA

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 Functional Waveform

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]).

Berikut ini adalah tabel kebenaran dari masukkan yang diberikan:

Tabel 4-1 Tabel Kebenaran Rangkaian Sederhana

CLK[0] GPIO[15] GPIO[16]

0 1 1

1 1 0

Dari hasil percobaan ini, kita dapat menganalisis bahwa CLKDIV yang digunakan memberikan delay 50 kali lebih lama dibandingkan masukkan yang diberikan. Delay ini akan kita gunakan untuk menganalisis rangkaian menggunakan simulasi Timing berikut ini (Gambar 4-2).

Page 5: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 5

Gambar 4-2 Hasil Simulasi Timing Waveform (i)

Dari waveform tersebut, kita dapat mengamati perbedaan utama dari simulasi fungsional dengan timing adalah jeda waktu yang terdapat di waveform keluaran. Pada simulasi functional, waktu saat terjadinya perubahan logika 1 menjadi 0 pada GPIO[16] adalah 245 ns, sedangkan grafik diatas menunjukkan 252.8 ns.

Gambar 4-3 Hasil Simulasi Timing Waveform (ii)

Selain itu (masih menggunakan waveform yang sama), waktu saat terjadinya perubahan logika 1 menjadi 0 pada GPIO[16] adalah 495 ns, sedangkan grafik diatas menunjukkan 502.9 ns.

Dari dua data tersebut, kita bisa mendapatkan waktu tunda:

GPIO[16] = 252.8 ns – 245 ns = 7.8 ns

GPIO[16] = 502.9 ns – 495 ns = 7.9 ns

Dengan demikian, waktu tunda dari rangkaian kombinasional (NOT gate) yang digunakan adalah ± 7.9 ns. Berdasarkan referensi, waktu tunda yang dimiliki inverter / NOT gate adalah antara 3 – 15 ns,[4], sehingga hasil percobaan ini masih masuk dalam rentang waktu tersebut.

Simulasi menggunakan Timing jelas lebih memodelkan situasi ideal yang ada di dunia nyata, karena memperhitungkan efek waktu tunda dari rangkaian yang digunakan.

Hasil percobaan ini sesuai dengan landasan yang telah diuraikan sebelumnya, bahwa setiap rangkaian logika, dalam kasus ini rangkaian logika kombinasional, memiliki waktu tunda (delay time) yang tidak nol.

4.2 MEMBUAT RANGKAIAN BCD

Dengan menggunakan implementasi persamaan boolean dengan bahasa VHDL, kita akan mendapatkan hasil berikut (Gambar 4-4):

Gambar 4-4 Hasil Simulasi Functional BCD-to-7-Segment

Dengan menggunakan simulasi Functional, kita dapat menguji kebenaran dari persamaan logika (SOP/POS) yang kita implementasikan seperti tabel kebenaran berikut:

Tabel 4-2 Tabel Kebenaran Rangkaian BCD-to-7-Segment

D3 D2 D1 D0 A B C D E F G

0 0 0 0 1 1 1 1 1 1 0

0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 0 1 1 0 1

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

0 1 1 0 1 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 1 0 1 1

1 0 1 0 ø ø ø ø ø ø ø

1 0 1 1 ø ø ø ø ø ø ø

1 1 0 0 ø ø ø ø ø ø ø

1 1 0 1 ø ø ø ø ø ø ø

1 1 1 0 ø ø ø ø ø ø ø

1 1 1 1 ø ø ø ø ø ø ø

Page 6: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 6

Hasil simulasi functional yang kita implementasikan menunjukkan hasil yang sesuai dengan referensi BCD-to-7-Segment yang ada.

Simulasi Timing pada rangkaian kombinasional BCD-to-7-Segment memberikan hasil keluaran / waveform berikut ini.

Gambar 4-5 Hasil Simulasi Timing BCD-to-7-Segment

Secara visual (Gambar 4-5), kita dapat melihat perbedaan mendasar dari simulasi Functional dengan Timing, yaitu dari waktu jeda yang dihasilkan oleh keluaran.

Gambar 4-6 Compilation Report dari Simulasi Timing

Gambar 4-6 menunjukkan delay maksimum (worst delay time) yang dimiliki rangkaian kombinasional yang digunakan, yaitu 12.505 ns dengan MasukanDelay SW1[3] dan KeluaranDelay HEX1[3]. SW1[3] adalah representasi dari masukkan D3, sedangkan HEX1[3] adalah representasi dari keluaran D.

Untuk mendapatkan representasi nilai set, kita akan mencari sebuah kondisi dimana masukan logika lainnya bernilai tetap, tetapi keluaran berubah ketika nilai D3 berubah. Ada beberapa kondisi yang memungkinkan hal tersebut terjadi, seperti saat nilai set (1,1,0) maupun (0,0,1).

Saat nilai set (1,1,0), atau dapat dituliskan SW1[2] = 1, SW1[1] = 1, SW1[0] = 0, kita dapat melihat pada tabel kebenaran bahwa 0110 menghasilkan logika D bernilai 1, sedangkan 1110 menghasilkan logika D bernilai ø, yang direpresentasikan dengan logika 0 pada waveform diatas.

Selain itu, saat nilai set (0,0,1), kita dapat melihat pada tabel kebenaran bahwa 0001 menghasilkan logika D bernilai 0, sedangkan 1001 menghasilkan logika D bernilai 1.

Gambar 4-7 Nilai Set Hasil Simulasi Timing Rangkaian

Gambar 4-7 diatas merupakan hasil pengamatan langsung yang kita dapatkan dari waveform, dengan nilai set (1,1,0) dan (0,0,1). 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. Berikut ini adalah tabel rekapitulasi hasil pengamatan diatas (Tabel 4-3):

Tabel 4-3 Nilai Set dan Waktu Jeda Rangkaian

Dari Logika

Ke Logika

Set Waktu Ekspektasi

Waktu Timing

Delay Time

0110 1110 (1,1,0) 35 ns 47.14 ns

12.14 ns

0001 1001 (0,0,1) 40 ns 52.505 ns

12.505 ns

Delay maksimum yang tercatat pada rangkaian BCD-to-7-Segment yang digunakan adalah 12.505 ns, dengan nilai set (0,0,1). 0001 adalah saat BCD-to-7-Segment menunjukkan angka 1, sedangkan 1001 adalah saat BCD-to-7-Segment menunjukkan angka 9.

Page 7: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 7

Hasil implementasi fungsi logika kedalam FPGA ditunjukkan pada gambar berikut ini (Gambar 4-8):

Gambar 4-8 Implementasi BCD-to-7-Segment pada FPGA

Pada contoh implementasi tersebut, switch menunjukkan 0111, yang artinya menampilkan angka 7. Rangkaian kombinasional ini diimplementasikan dengan basis active high, yang artinya lampu menyala ketika diberikan logika ’1’ (Hal ini dapat dilakukan dengan menggunakan fungsi NOT/inverter pada kode VHDL yang digunakan).

Gambar 4-9 Representasi BCD-to-7-Segment pada FPGA

Secara keseluruhan, implementasi fungsi gerbang logika pada FPGA menghasilkan gambar keluaran berikut diatas (Gambar 4-9,[5]).

4.3 MERANCANG BCD 7SEG DENGAN LEVEL ABSTRAKSI BEHAVIORAL

Pada bagian 4.2, kita telah mengimplementasikan rangkaian BCD-to-7-Segment menggunakan persamaan logika Boolean (SOP/POS). Selain cara tersebut, kita dapat mengimplementasikan fungsi gerbang logika menggunakan level abstraksi behavioral, yang hasil implementasinya akan dibahas mendetail pada bagian ini.

Pada bagian sebelumnya, untuk mengimplementasikan angka 0, kita menggunakan fungsi logika

A = 1 3 0 2 0 2. .D D D D D D+ + + . Dengan implementasi kali ini, kita cukup menggunakan

HEX1 <= “1111110” dalam mengimplementasikan angka 0. Hasil simulasi TestBench dalam ModelSim menghasilkan waveform berikut ini (Gambar 4-10):

Gambar 4-10 Simulasi BCD-to-7-Segment - ModelSim

Hasil sinyal keluaran dapat direpresentasikan dengan tabel kebenaran berikut ini (Tabel 4-4):

Tabel 4-4 Tabel Kebenaran dengan ModelSim

D3 D2 D1 D0 A B C D E F G

0 0 0 0 1 1 1 1 1 1 0

0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 0 1 1 0 1

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

0 1 1 0 1 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 1 0 1 1

Dari tabel kebenaran diatas (Tabel 4-4), kita dapat menyimpulkan bahwa implementasi menggunakan persamaan logika boolean maupun abstraksi behavioral memberikan hasil keluaran yang sama.

Page 8: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 8

Pada percobaan di laboratorium, implementasi abstraksi behavioral pada FPGA mengalami sedikit kendala. Walaupun demikian, keluaran script DUT pada FPGA menghasilkan gambar berikut ini (Gambar 4-11):

Gambar 4-11 Implementasi Level Abstraksi Behavioral

pada FPGA

Pada contoh implementasi diatas, switch SW[3] = 0 , SW[2] = 0, SW[1] = 0, dan SW[0] = 1, yang memberikan hasil keluaran 0001 atau ’1’. Seperti percobaan 4-2, implementasi ini bersifat active high, sehingga lampu menyala ketika diberikan logika ’1’. Contoh hasil implementasi diatas menunjukkan kesamaan dengan percobaan 4-2 serta referensi yang digunakan.

Berikut ini adalah tabel analisis perbedaan dari tingkat abstraksi behavioral maupun struktural (percobaan 4-2) yang digunakan:

Tabel 4-5 Komparasi Behavioral dan Struktural

Level Struktural Level Behavioral

Pengertian

Menggunakan gerbang dan

komponen logika yang memenuhi

persamaan logika boolean

Menggunakan implementasi

perilaku langsung suatu rangkaian,

seperti 1 pada BCD-to-7-Segment direpresentasikan dengan “0110000”

Kelebihan

Dapat diimplementasikan

tanpa melihat keluaran secara

langsung

Dapat diimplementasikan

tanpa merumuskan

persamaan logika /masukkan sistem

Kekurangan

Harus menformulasikan fungsi persamaan

logika yang digunakan secara

Semua keluaran harus dijabarkan.

Contohnya: Sebuah persamaan

4 variabel

mendetail, baik dengan

pendekatan skematik maupun

bahasa VHDL

menghasilkan 16 keluaran, maka

kita harus mendefinisikan

semua (16 keluaran)

5. KESIMPULAN

Dalam menjalankan simulasi, ada 2 kategorial utama yang dapat digunakan, seperti simulasi fungsional (bagian awal setiap percobaan), serta simulasi timing (bagian akhir setiap percobaan). Simulasi Functional hanya menampilkan keluaran fungsi gerbang logika, sedangkan simulasi Timing memperhitungkan waktu tunda (delay) dari suatu rangkaian. Sebagai contoh (percobaan 4-1), memiliki waktu tunda selama ± 7.9 ns yang dapat dianalisis dari simulasi Timing.

Setiap rangkaian gerbang logika memiliki waktu tunda (delay time) pada implementasinya di dunia nyata. Secara keseluruhan, waktu tunda paling lama yang terdapat dalam suatu rangkaian dapat disimulasikan dengan mengidentifikasi worst case delay path, seperti pada percobaan 2B diatas, didapatkan waktu tunda terlama BCD-to-7-Segment yang digunakan adalah 12.505 ns dengan MasukanDelay SW1[3] (D3) dan KeluaranDelay HEX1[3] (D).

Dalam mengimplementasikan gerbang logika, ada beberapa tingkatan yang dapat digunakan, seperti level abstraksi behavioral maupun struktural. Level abstraksi struktural (percobaan 4-2) serta level abstraksi behavioral (percobaan 4-3) memiliki kelebihan dan kekurangan masing-masing. Implementasi abstraksi behavioral memerlukan keluaran (output) langsung dari fungsi logika, sedangkan struktural membutuhkan masukan (input) dari fungsi logika seperti persamaan boolean logika tersebut.

DAFTAR PUSTAKA

[1] Brian Holdsworth and Clive Woods, Digital Logic Design Fourth Edition, N.wnes, 2002

[2] R.H. Katz, Contemporary Logic Design Second Edition, Pearson Prentince-Hall, NJ, 2005

[3] Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design Third Edition, McGraw-Hill, San Francisco, 2009

[4] https://eeweb.ee.ucla.edu/images/upload/M116L_4_EEM116L_4_Fall07_note.pdf, 10 Oktober 2012, pukul 2:05:12

Page 9: Rangkaian Logika Kombinasional

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 9

[5] http://www.eg.bucknell.edu/~wismer/ee101/lab12/node4.html, 10 Oktober 2012, pukul 3:06:44

[6] http://rizkia.wordpress.com/2011/01/08/vhdl-level-abstraksi/, 10 Oktober 2012, pukul 5:34:21

[7] http://en.wikipedia.org/wiki/Combinational_logic, 10 Oktober 2012, pukul 5:39:55

[8] http://www.thelearningpit.com/lp/doc/7seg/7truth.gif, 10 Oktober 2012, pukul 6:01:12