Anda di halaman 1dari 9

MODUL 3 RANGKAIAN LOGIKA KOMBINASIONAL

Gomos Parulian Manalu (13217075)


Asisten: Talitha Yusli (13215016)
Tanggal Percobaan: 03/10/2018
EL2102-Praktikum Sistem Digital
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

Abstrak
2. STUDI PUSTAKA
Pada praktikum modul 3 Rangkaian Logika Kombinasional
Rangkaian gerbang logika dapat dibagi menjadi
ini, kita akan mendesain beberapa rangkaian sederhana dan
beberapa jenis, ada rangkaian logika
melihat waktu delaynya berdasarkan perbedaan bentuk
kombinasional dan rangkaian logika sekuensial.
gelmbang fungsional dan timing. Berdasarkan waktu delay
Contoh pendalaman rangkaian kombinasional
tersebut, kita akan menghitung worst case delay path nya. Hal
adalah Adder, encoder, decoder, dan substractor.
ini bertujuan untuk memberi kita gambaran bagaimana
Pada modul ini kita akan melihat apakah rangkaian
mendesain rangkaian digital yang terbaik. Selanjutnya, untuk
tersebut ideal(secara real time), atau tidak dan
penggunaan Bahasa VHDL, praktikan diharapkan mampu
mencari total delay, delay terburuk, dan tau
mengenal level abstraksi dalam perancangan digital.
bagaiamana membuat rangkaian dengan delay
Kata kunci: Rangkaian Logika Kombinasional, worst terbaik.
case delay, BCD-7-segment, simulasi fungsional,
simulasi timing, level abstraksi. 2.1 RANGKAIAN KOMBINASIONAL
Rangkaian kombinasional didefinisikan sebagai
1. PENDAHULUAN
tipe rangkaian logika yang diimplementasikan
Pada praktikum modul 3 rangkaian logika menggunakan persamaan boolean, dengan
kombinasional ini, praktikan merancang rangkaian keluaran adalah fungsi murni masukan,[2].
digital pada software Altera Quartus II 6.0. Rangkaian kombinasional tidak memiliki memori
Praktikan akan mengimplementasikan fungsi penyimpanan logika, sehingga hasil keluaran
gerbang logika pada rangkaian dengan rangkaian gerbang logika hanya dipengarhi masukannya saja.
logika kombinasional. Rangkaian logika Pada percobaan ini, kita akan menggunakan salah
kombinasional hanya melihat masukan yang satu aplikasi dari rangkaian kombinasional, yaitu
diterima tanpa dipengaruhi keluaran fungsi BCD-to-7-Segment, yang akan dijelaskan pada
gerbang logika sebelumnya, sehingga dapat bagian berikut. Berikut adalah bentuk subfungsi
dikatakan bahwa rangkaian ini merupakan salah yang merepresentasikan logika pada FPGA[1] :
satu rangkaian yang memiliki cara kerja paling
sederhana.
Pada rangkaian logika kombinasional ini, kita juga
akan meninjau, waktu delaynya, terkhusus worst
case delay untuk mendesain rangkaian yang terbaik.
Sehingga kita akan membandingkan hasil
percobaan dengan simulasi timing dan fungsional.
Karena rangkaiannya tidak ideal, maka aka nada
delay dan aka nada perkiraan delay paling buruk.
Prosedur percobaan pada modul 3 ini adalah :
Pembuatan project sederhana dan BCD-to-7-
segmen, Memasukan desain skematik atau VHDL,
Kompilasi, Pembuatan Netlist dan simulasi
fungsional, Simulasi Timing, Simulasi Worst Case
Delay, dan menghubungkan dengan FPGA Altera
DE1 Cyclone II EP2C20F484C7 .

Gambar-2.1 Logika pada FPGA

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1


2.2 BCD-TO-7-SEGMENT tingkat abstraksi yang mengimplementasikan
sesuai dengan perilaku sistem, bukan interkoneksi
BCD-to-7-Segment adalah rangkaian
antara komponen yang digunakan.
kombinasional yang menerima 4 buah masukan (4
bit) dan menghasilkan keluaran berupa gambar Level abstraksi struktural adalah tingkat abstraksi
visual yang merepresentasikan angka biner dengan implementasi menggunakan fungsi
tersebut dalam basis desimal,[3]. gerbang logika, baik secara skematik maupun
bahasa VHDL.
Berikut adalah konvensi penomoran 7 segment
untuk konversi biner ke output 7 segment: Level abstraksi physical adalah implementasi
langsung, seperti menggunakan FPGA maupun
rangkaian digital lainnya

3. METODOLOGI
Gambar-2.2 Penomoran Seven Segment Alat dan komponen yang digunakan dalam modul
ini antara lain:

Setiap segment yang menyala (a-g) akan  Osiloskop


merepresentasikan sebuah gambar visual. Sebagai  Catu Daya + kabel dan konektor tambahan
contoh, angka 0 (0000) memiliki
keluaran ”1111110”, maka hanya segment g yang  FPGA Board, tipe altera DE 1 beserta
berbeda (sisanya membentuk angka ’0’). Pada perlengkapannya [1]
praktikum ini, praktikan menampilkan setiap digit Berikut adalah langkah-langkah untuk metodelogi
angka sebagai segment yang mati(OFF). untuk masing masing percobaan sesuai panduan
praktikum [1] :

2.3 W ORST C ASE D ELAY 3.1 MEMBUAT RANGKAIAN


Worst case delay didefinisikan sebagai waktu
SEDERHANA
tunda terlama yang terdapat pada suatu rangkaian Kita akan menggunakan flowchart gambar 3.1
gerbang logika. Waktu ini didapat dengan secara umum untuk seluruh sub topik modul ini
menghitung seluruh waktu tunda. Dalam
Praktikum ini, praktikan hanya melihat
berdasarkan grafiknya.

2.4 LEVEL ABSTRAKSI

Gambar-2.3 Level Abstraksi

Gambar-3.1 Flowchart Umum Pembuatan Desain [1]

Dalam perancangan fungsi gerbang logika, ada tiga


level abstraksi (gambar 2.3) yang dapat digunakan,
yaitu level abstraksi behavioral, struktural, serta
physical,[4]. Level abstraksi behavioral adalah

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 2


Berikut adalah tahapan rinci untu sub modul ini : LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;
Lakukan manajemen file
ENTITY bcd IS PORT (
SW : IN STD_LOGIC_VECTOR (3
DOWNTO 0);
HEX1 : OUT STD_LOGIC_VECTOR (1 TO
Buat new project, dan buat projest 7));
sederhana dengan mengkode dan END bcd;
merancang desain skematik
rangkaian. ARCHITECTURE behavioral OF bcd IS

CONSTANT NOL :
STD_LOGIC_VECTOR (3 DOWNTO 0) := "0000";
Compile project dan simulasikan CONSTANT SATU :
dalam timing dan fungsional STD_LOGIC_VECTOR (3 DOWNTO 0) := "0001";
CONSTANT DUA :
STD_LOGIC_VECTOR (3 DOWNTO 0) := "0010";
CONSTANT TIGA :
STD_LOGIC_VECTOR (3 DOWNTO 0) := "0011";
Catat hasilnya CONSTANT EMPAT :
STD_LOGIC_VECTOR (3 DOWNTO 0) := "0100";
CONSTANT LIMA :
Diagram-3.1 Langkah percobaan 3.1 STD_LOGIC_VECTOR (3 DOWNTO 0) := "0101";
CONSTANT ENAM :
STD_LOGIC_VECTOR (3 DOWNTO 0) := "0110";
CONSTANT TUJUH :
STD_LOGIC_VECTOR (3 DOWNTO 0) := "0111";
CONSTANT DELAPAN :
STD_LOGIC_VECTOR (3 DOWNTO 0) := "1000";
CONSTANT SEMBILAN :
Gambar 3.2 Skematik Rangkaian Sederhana STD_LOGIC_VECTOR (3 DOWNTO 0) := "1001";

Pada pendekatan VHDL, tampilan bahsa tidak BEGIN


ditampilkan, karena praktikan lupa menambil data PROCESS (SW)
BEGIN
gambar kode VHDL. CASE SW IS
WHEN NOL => HEX1 <=
3.2 MEMBUAT RANGKAIAN BCD "1111110";
WHEN SATU => HEX1 <=
"0110000";
WHEN DUA => HEX1 <=
Pembuatan Project BCD "1101101";
WHEN TIGA => HEX1 <=
"1111001";
WHEN EMPAT => HEX1 <=
"0110011";
Ketik program VHDL sesuai WHEN LIMA => HEX1 <=
modul, kami menggunakan "1011011";
kode dari 3c WHEN ENAM => HEX1 <=
"1011111";
WHEN TUJUH => HEX1 <=
"1110000";
Lakukan PIN Planner, WHEN DELAPAN => HEX1 <=
pembuatan netlist, dan simulasi "1111111";
dalam timing & fungsional WHEN SEMBILAN => HEX1 <=
"1110011";
WHEN OTHERS => HEX1 <=
"0000000";
END CASE;
Catat hasilnya END PROCESS;

END behavioral;
Diagram-3..2 Membuat Rangkaian BCD

Gambar 3.3.1 Code untuk BCD

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 3


LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;

ENTITY tb_bcd IS
END tb_bcd;

ARCHITECTURE behavioral OF tb_bcd IS

SIGNAL clk : STD_LOGIC := '0';


SIGNAL SW : STD_LOGIC_VECTOR
(3 DOWNTO 0) := "0000";
SIGNAL HEX1 : STD_LOGIC_VECTOR (1
TO 7);

COMPONENT bcd IS
PORT( SW : IN
STD_LOGIC_VECTOR (3 DOWNTO 0);
HEX1: OUT
STD_LOGIC_VECTOR (1 TO 7));
ENDCOMPONENT;

BEGIN

dut : bcd Gambar 3.5 Rangkaian Skematik


PORT MAP (
SW => SW ,
HEX1 => HEX1 );

clock : PROCESS
BEGIN
WAIT FOR 50 ps; clk <= not clk;
end PROCESS clock; Gambar 3.6 Pemasangan Kaki Untuk VHDL dan Skematik BCD 7
Segment
increment: PROCESS (clk)
BEGIN
IF (clk'EVENT AND clk =
'1') THEN 3.3 MERANCANG BCD 7SEG DENGAN
SW <= SW + "0001"; LEVEL ABSTRAKSI BEHAVIORAL
END IF;
END PROCESS;
Buat Folder baru, dan ketik script
END behavioral; pada panduan dalam VHDL.

GAMBAR 3.3.1 CODE UNTUK BCD (LANJUTAN) Buatlah file testbench dan
jalankan di modelsim.

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


D2)) OR (D0 AND D2));
Simulasikan program, dan
B <= NOT ((NOT D2) OR (D0 AND D1) OR ((NOT
variasikan simulasinya.
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 Analisis data dan perbedaan nya
D2) OR (D1 AND (NOT D0))); dengan ercobaan 3.2
E <= NOT (((NOT D0) AND (NOT D2)) OR ((NOT
D0) AND D1));
F <= NOT (D3 OR ((NOT D0) AND (NOT D1)) OR Diagram-3.3 Merancang BCD 7SEG dengan abstraksi
((NOT D0) AND D2) OR ((NOT D1) AND D2)); Behavioral.
G <= NOT (D3 OR (D1 AND (NOT D2)) OR ((NOT
D1) AND D2) OR ((NOT D0) AND D2)); Kode program yang dipakai sama dengan code
program 3.2, hanya saja pada percobaan 3.2
dilalakukan sedikit perubahan.
Gambar 3.4. SOP/POS dari 7 Segment

Diagram-3.4 Langkah Percobaan Mendesain 4-Bit Ripple Carry


Adder Dengan Skematik

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 4


3.4 PERCOBAAN TAMBAHAN
Kami tidak semoat melakukan ercobaan tambahan
karena waktu terlanjur habis. Pada modul 3.4
sebenarnya mirip dengan modul 3.2 dan 3.3

4. HASIL DAN ANALISIS


Pada bab ini akan dilampirkan dan disajikan hasil
pengamatan praktikan setelah percobaan.

4.1 MEMBUAT RANGKAIAN


SEDERHANA

Gambar-4.3 Waveform Rangkaian sederhana (Fungsional dan Timing)


pada BCL
Gambar-4.1 Waveform Rangkaian sederhana (Fungsional)

Berdasarkan gambar data dan hasil table 7 segment,


maka hasil dari Full Adder Skematik benar (Sesuai
teori). Sehingga, pendesainan rangkaian dengan
skematik berhasil. Hanya saja, pendesainannya
perlu memerhatikan ketelitian orthogonal
konektor dan mungkin bila menggunakan banyak
input (lebih kompleks), maka pendekatan skematik
akan lebih sulit.
Untuk mendesain rangkaian digital yang lebih
kompleks, mungkin akan lebih sederhana
menggunakan Bahasa VHDL.

Gambar-4.2 Waveform Rangkaian sederhana (Timing)

Pada kedua kedua gambar waveform, terlihat jelas bahwa


ada pergeseran atau delay dari Timing terhadap fungsional.
Zehingga pada tahap ini kita tahu bahwa rangkaian tidak
ideal, dan terdapat waktu delay.
Secara nyata(rea ltime) respon atau output yang
dikeluarkan adalah yang ditunjukkan timing:
Tdelay = 7,5 ns
Hasil diatas sudah tepat sesuai data, karena komponen yang
digunakan rangkaian sederhana hanya 2 gerbang (NOT,
NAND), jadi seharusnya tidak terlalu besar (antara 6ns-
10ns).

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 5


0 0 0 1

4.2 MEMBUAT RANGKAIAN BCD


0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

Gambar 4.7 Tampilan 7SEG yang dihasilkan


Khusu pada angka 9 (1001), sepertinya kami salah
Gambar-4.4 Waveform Rangkaian BCD (Fungsional dan Timing) pada mengkombinasikan switch (untuk switch selain kasus di
BCL
atas hasilnya (0000000) makanya akan menyala semua,
karena hasilnya tidak sesuai yang seharusnya, kesalahan
tersebut terjadi karne kami terburu-buru:
Berdasarkan gambar waveformnya, maka
disimpulkan bahwa delay HEX1 berbeda dengan Hasil yang seharusnya :
HEX yang lainnya. Hal ini dapat dijelaskan
dengan, bahwa disetiap HEX(output yang
berbeda), data harus melewati proses yang
berbeda. Sehingga akumulasi delay juga berbeda. (untuk fotonya, lihat pada lampiran di bagian terakhir
Untuk mendapat data delay secara spesifik per laporan).
proses, kita perlu membandingkan dua proses Implementasi dari bahasa VHDL untuk sub percobaan 2
yang mirip. Namun hal itu belum dibahas di sini. dan 3 adalah LOW ACTIVE ( 0 menunjukkan nilai yang
Data yang menmpilkan delay maksimum adalah ingin dilihat).
data HEX 1, karena HEX1 satu yang paling lama
menampilkan logika dari 1 ke 0.
Perhitungan worst case delay diperoleh dengan
masukan input = ‘D1’ dan keluaran output pada
‘F’ yaitu pada SW1[1] berubah 01 dengan delay
= +15 ns (kondisi SW0,SW1, SW2, SW3 = 0).

SW1 SW2 SW3 SW4 OUTPUT

0 0 0 0

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 6


4.3 MERANCANG BCD 7SEG
DENGAN LEVEL ABSTRAKSI
BEHAVIORAL

Gambar 4.8 Fungsional Komputer

Gambar 4.10 BCL Timing dan Fungsional

Untuk pencarian nilai delay setiap percobaan, kami lupa


mencarinya langsung dari komputer, sehingga kami
mencarinya secara manual. Mungkin hasilnya tidak akurat
tapi tetap bias menggambarkan nilai delanya rangkaian.
Implementasi dari bahasa VHDL untuk sub percobaan 2
dan 3 adalah LOW ACTIVE ( 0 menunjukkan nilai yang
ingin dilihat).

Gambar 4.9 Timing Komputer Level Behavioral Level Struktral

Pengertian Menggunakan Menggunakan


implementasi gerbang dan
perilaku langsung komponen logika
suatu rangkaian, yang memenuhi
seperti 1 pada persamaan logika
BCD-to-7- Boolean
Segment
direpresentasikan
dengan “0110000”

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 7


Kekurangan Keluaran harus Harus
dijabarkan (dalam menformulasikan
bentuk persamaan fungsi persamaan
4 variabel, dll). logika yang
Sehingga ribet digunakan secara
dimanusianya. mendetail, baik
Contoh, dengan
persamaan 4 pendekatan
variabel skematik Gambar 7 Segment untuk angka 0
menghasilkan 16 maupun bahasa
keluaran, maka VHDL
kita harus
mendefinisikan
semua (16
keluaran)

Kelebihan Dapat Implementasinya


diimplementasikan dapat
tanpa dibayangkan
merumuskan (tanpa melihat
persamaan logika keluaran secara
/masukkan sistem langsung)
Gambar 7 Segment untuk angka 1

5. KESIMPULAN
Berdasarkan percobaan-percobaan yang telah
dilakukan dapat disimpulkan bahwa simulasi
timing adalah output yang sebenarnya akan terjadi
apabila diimplementasikan dalam bentuk
rangkaian fisik. Sehingga untuk membuat
rangkaian digital secara fisik yang akurat (dari segi
real time berjalanannya) kita perlu
memperhitungkan dan meminimalisir delay. Gambar 7 Segment untuk angka 2

Worst case delay didapat dari akumulasi delay per


proses, sehingga untuk meminimalisir delay perlu
adanya pengefisiennan rangkaian.
Dalm menyusun rangkaian digital (dalam hal ini
dilakukan rangkaian kombinasional) terdapat level
abstrasksi yang berbeda (structural, behavioral,
dan physical), dan setiap level itu memiliki tujuan
dan fungsi khusus masing-masing.

DAFTAR PUSTAKA Gambar 7 Segment untuk angka 3

[1] Hutabarat, Mervin T, Petunjuk Praktikum Sistem


Digital, 2018
[2] http://en.wikipedia.org/wiki/Combinational
_logic, 04 Oktober 2018, 21.07
[3] R.H. Katz, Contemporary Logic Design
Second Edition, Pearson Prentince-Hall, NJ,
2005
[4] http://rizkia.wordpress.com/2011/01/08/vh
dl-level-abstraksi/, 04 Oktober 2018, 21.15 Gambar 7 Segment untuk angka 4

Lampiran
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 8
Gambar 7 Segment untuk angka 5
Gambar 7 Segment untuk angka 9

Gambar 7 Segment untuk angka 6

Gambar 7 Segment untuk angka 7

Gambar 7 Segment untuk angka 8

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 9