𝑥 ⨁𝑦 ′ = 𝑥𝑦 + 𝑥 ′ 𝑦′
Simbol gerbang serta table kebenaran XOR dan XNOR ditunjukkan pada gambar 4.11
Dari table kebenaran XOR dan XNOR dapat dilihat bahwa operator XOR dan
XNOR dapat digunakan untuk mengecek parity. XOR untuk mengecek parity ganjil,
sedangkan XNOR untuk mengecek parity genap. Fungsi XOR mengecek parity ganjil
apabila nilai binary memiliki jumlah angka 1 ganjil. Dan sebaliknya pada fungsi XNOR
akan mengecek parity genap apabila nilai binary memiliki jumlah angka 1 genap.
Sehingga fungsi XOR sangat membantu dalam error-detection dan pengkoreksian
kode, karena kedua system tersebut menggunakan fungsi parity.
Parity bit adalah extra bit yang ditambahkan pada binary message untuk
membuat jumlah angka 1 pada binary message ganjil atau genap. Pesan dan parity
bit tersebut dikirim, kemudian di cek oleh receiver untuk mengetahui apakah terjadi
error pada pesan atau tidak. Error akan terdeteksi apabila nilai parity tidak sesuai
dengan yang diharapkan. Rangkaian yang membangkitkan nilai parity disebut parity
generator, sedangkan rangkaian yang mengecek nilai parity disebut parity
generator.
Contoh 4.1 :
Sebuah system even-parity-generator akan mengirim pesan 4-bit bersama dengan
bit even parity-nya. Tabel kebenaran untuk parity generator ditunjukkan pada table
4.2
Tabel 4.2 even-parity-generator
Inputnya adalah 4-bit pesan (x,y,z) dan outputnya adalah bit parity. Pada pesan 4-bit
yang bernilai ganjil, output akan bernilai 1, agar jumlah angka 1 bernilai genap
(even-parity-generator). Maka fungsi outputnya adalah
𝑃 = 𝑥⨁𝑦⨁𝑧
Selanjutnya pesan 4-bit dan bit parity-nya dikirim, dan dicek oleh rangkaian parity
checker, apakah ada error pada pesan yang telah dikirim. Error akan terjadi apabila
4-bit yang diterima, jumlah angka 1-nya tidak berjumlah genap. Rangkaian parity
checker akan memberi nilai 1 pada output (C) apabila terjadi error atau angka 1
pada bit pesan bernilai ganjil. Table kebenaran untuk fungsi even-parity-checker
ditunjukkan pada table 4.4
Tabel 4.4. Tabel kebenaran even-parity-checker
Hamming Code adalah salah satu kode tunggal pengoreksi kesalahan (single
error-correcting code) yang digunakan dalam RAM ditemukan oleh RW Hamming.
Dalam kode Hamming, bit parity ditambahkan ke dalam bit-bit informasi, jika suatu
saat ada perubahan bit-bit data ketika proses transmisi, maka bit-bit informasi asli
masih bisa diselamatkan. Bit k parity ditambahkan ke word data n-bit, membentuk
kata baru dari n + k bits. Posisi bit nomor berurutan dari 1 sampai n + k. Bit parity
tambahan diberikan pada bit-bit informasi sebelum ditransmisikan, sedangkan pada
sisi penerima dilakukan pengecekan dengan algoritma yang sama dengan
pembangkitan bit parity tambahan. Cara pengisian bit tambahan pada bit-bit
informasi x, adalah sebagai berikut :
𝑎1 𝑎2 𝑎4 𝑎4 𝑎5 𝑎6 𝑎7
x x 1 x 0 1 1
Untuk bit data 4-bit, bit-bit data terletak pada Bit data4,5,6,
posisi / dan 7. Bit pengisi terletak
pada posisi 1,2,4 (2K) --> K = jumlah bitdata -1. Tabel Hamming untuk informasi 4 bit
Bit Pengisi informasi
terlihat pada tabel 5.1.
0111 0 0 0 1 1 1 1
1000 1 1 1 0 0 0 0
1001 0 0 1 1 0 0 1
1010 1 0 1 1 0 1 0
1011 0 1 1 0 0 1 1
1100 0 1 1 1 1 0 0
1101 1 0 1 0 1 0 1
1110 0 0 1 0 1 1 0
1111 1 1 1 1 1 1 1
Nilai bit pengisi / cek : (untuk informasi 4 bit) diperoleh melalui rumus berikut ini :
𝑎1 = 𝑎4 ⨁ 𝑎5 ⨁𝑎7
𝑎2 = 𝑎4 ⨁ 𝑎6 ⨁𝑎7
𝑎4 = 𝑎5 ⨁ 𝑎6 ⨁𝑎7
Untuk informasi n-bit, nilai bit pengisi / cek adalah :
𝑎1 = 4,5,7,9,11,14,15,...
𝑎2 = 4,6,7,10,11,14,15,...
𝑎4 = 5,6,7,12,14,14,15,20,21,22,24, …
𝑎8 = 9 − 15, 24 − 41, 40 − 47, ...
𝑎16 = 17 − 41, 48 − 64, 80 − 95, …
𝑎42 = 44 − 64, 96 − 127, 160 − 191, …
Dst..
Perhatikan, misalnya, data word 8-bit 11000100. Kami menyertakan 4 paritas bit
dengan kata 8-bit dan 12 bit mengatur sebagai berikut:
Bit 1 2 4 4 5 6 7 8 9 10 11 12
Position 𝑃1 𝑃2 1 𝑃4 1 0 0 𝑃8 0 1 0 0
4 bit parity 𝑃1 , 𝑃2 , 𝑃4 , 𝑑𝑎𝑛 𝑃8 berada pada posisi 1,2,4, dan 8. 8 bit word data berada
pada posisinya. Tiap bit parity dihitung berdasarkan rumus berikut ini :
Bit 0 0 1 1 1 0 0 1 0 1 0 0
Position 1 2 4 4 5 6 7 8 9 10 11 12
Ketika 12 bit data dibaca dari memory, kemudian dicek kembali nilai errornya. Parity
dicek keseluruhan dengan kombinasi bit yang sama termasuk bit parity. 4 bit yang
dicek dievaluasi dengan cara berikut ini :
1 2 4 4 5 6 7 8 9 10 11 12
Bit 0 0 1 1 1 0 0 1 0 1 0 0 No Error
Position 1 0 1 1 1 0 0 1 0 1 0 0 Error in
bit 1
0 0 1 1 0 0 0 1 0 1 0 0 Error in
bit 5
Pada kasus pertama, tidak ada error pada 12 bit word. Pada kasus yang kedua,
terjadi error pada posisi bit 1 karena berubah dari 0 ke 1. Kasus ketiga menunjukkan
[Realisasi Rangkaian Kombinasional] BAB IV
adanya error pada posisi bit 5, dengan perubahan dari 1 ke 0. Pengevaluasian XOR
dari bit yang berkorespondensi, menentukan 4 bit cek dengan cara :
𝐶8 𝐶4 𝐶2 𝐶1
For no error 0 0 0 0
With error in bit 1 0 0 0 1
With error in bit 5 0 1 0 1
C = 0000, dengan nilai error pada bit 1, diperoleh nilai C = 0001 dan nilai error pada
bit 5, nilai C = 0101. Ketika binary number C tidak sama dengan 0000, memberikan
posisi pada bit error. Error dapat diperbaiki dengan melengkapi bit yang
berkorespondensi. Error dapat terjadi pada word data atau pada salah satu bit
parity.
Hamming code terdiri dari k bit cek dan n bit data, untuk keseluruhan bit n +
k. Nilai C terdiri dari k bit dan memiliki range 2𝑘 , nilainya diantara 0 dan 2𝑘 − 1. Satu
dari nilai ini, biasanya adalah 0, yang digunakan untuk mengindikasikan bahwa tidak
ada error yang terdeteksi. Nilai 2𝑘 − 1 untuk mengindikasikan bit 𝑛 + 𝑘 telah error.
Tiap nilai 2𝑘 − 1 dapat digunakan secara unik untuk mendeskripsikan bit yang error.
Oleh karena itu, rentang k harus sama dengan atau lebih besar dari 𝑛 + 𝑘, hubungan
antar keduanya adalah :
2𝑘 − 1 ≥ 𝑛 + 𝑘
pemecahan untun pada bagian k, diperoleh :
2𝑘 − 1 − 𝑘 ≥ 𝑛
untuk men-generate dan checking bit parity pada hamming code, perlu dicatat
hubungan
Tabel 5.2. Rentang Bit Data untuk k bit cek
Jumlah bit cek , k Rentang bit data, n
4 2-4
4 5 - 11
5 12 - 26
6 27 - 57
7 58 - 120
antara pengelompokkan bit pada code dan posisi bit - 1 pada urutan binary count.
Tiap grup dari permulaan bit dimulai dengan angka 2:1,2,4,8,16,... Angka ini juga
merupakan nomer posisi dari bit parity. Sehingga dapat dituliskan untuk informasi n-
bit, cara pengecekkan adalah :
1. Tanda semua posisi bit yang merupakan pangkat dua sebagai bit parity (posisi 1,
2, 4, 8, 16, 42, 64, ...).
2. Posisiyang lain digunakan sebagai bit data yang akan dikodekan (posisi 4, 5, 6, 7,
9, 10, 11, 12, 14, ...).
3. Masing-masingbit pengecek menghitung bit setiap posisi dengan cara menge-cek
dan melewati, sebagai berikut:
a. Posisi1 : cek 1 bit, lewat 1 bit, cek 1 bit, lewat 1 bit dsb
(1,4,5,7,9,11,14,15…).
b. Posisi2 : cek 2 bit, lewat 2 bit, cek 2 bit, lewat 2 bit dsb
(2,4,6,7,10,11,14,15,…).
c. Posisi4 : cek 4 bit, lewat 4 bit, cek 4 bit, lewat 4 bit dsb
(4,5,6,7,12,14,14,15,20,21,22,24, …).
d. Posisi8 : cek 8 bit, lewat 8 bit, cek 8 bit, lewat 8 bit dsb (8-15,24-41,40-
47,...)
e. Posisi42 : cek42 bit, lewat 42 bit, cek42 bit, lewat 42 bit, dsb (42-64,96-
127,160-191,...).
Bernilai bit parity = 1, jika total bit "1" diposisi yang dicek adalah ganjil (odd) dan
bernilai 0 jika total bit "1" adalah genap (Even).
[Realisasi Rangkaian Kombinasional] BAB IV
Contoh Soal :
1. Bagaimana bentuk data yang ditransmisikan dengan kode Hamming, jika
diketahui bit data = 1010 ?
Jawab :
𝑎1 = 𝑎4 ⨁𝑎5 ⨁𝑎7 → 𝑎1 = 1 + 0 + 0 = 1
𝑎2 = 𝑎4 ⨁𝑎6 ⨁𝑎7 → 𝑎2 = 1 + 1 + 0 = 0
𝑎4 = 𝑎5 ⨁𝑎6 ⨁𝑎7 → 𝑎4 = 0 + 1 + 0 = 1
sehingga bentuk data yang ditransmisikan menjadi : 1011010.
2. Sebuah urutan data diterima : 0010011
dengan nilai :
e1 = 0
e2 = 1
e4 = 0
Tentukan bit diposisi mana yang salah?Berapa nilai data asli (sebelum ditambah
bit parity)?
Jawab :
𝑒1 = 𝑎1 ⨁𝑎4 ⨁𝑎5 ⨁𝑎7 = 0 + 1 + 0 + 1 = 0 → 𝑏𝑒𝑛𝑎𝑟
𝑒2 = 𝑎2 ⨁𝑎4 ⨁𝑎6 ⨁𝑎7 = 0 + 1 + 1 + 1 = 1 → 𝑠𝑎𝑙𝑎ℎ
𝑒4 = 𝑎4 ⨁𝑎5 ⨁𝑎6 ⨁𝑎7 = 0 + 0 + 1 + 1 = 1 → 𝑏𝑒𝑛𝑎𝑟
[Realisasi Rangkaian Kombinasional] BAB IV
Berarti bit diposisi 2 yang salah, seharusnya yang diterima adalah : 0110011
nilai data asli = 𝑎4 𝑎5 𝑎6 𝑎7 = 1011.
Net 1 SUM
Net 2
CARRY
2. Full Adder
Full adder adalah rangkaian adder yang memiliki input untuk bilangan yang
ingin dijumlahkan, carry input. Tabel kebenaran dan rangkaian full adder
ditunjukkan pada gambar 4.16
[Realisasi Rangkaian Kombinasional] BAB IV
\Cin \ B \ A
Cin B A
A
SUM
Cin
Cout
Disederhanakan menjadi
Sehingga rangkaian full adder menjadi seperti yang ditunjukkan pada gambar 4.17
Dari gambar 4.18 dimana 1-bit full adder dapat disusun dari 2 half adder,
maka full adder dapat disusun secara seri untuk membuat n-bit full adder, dimana
bit carry-out pada full adder sebelumnya menjadi input bit carry-in selanjutnya. Oleh
karena itu, konfigurasi n-bit full adder yang disusun dari beberapa 1-bit full adder
disebut Ripple-carry adder. Pada gambar 4.19 menujukkan blok diagram dari 4-bit
Ripple-carry adder, dimana berfungsi untuk menjumlahkan 4 bit yaitu X 4 X2 X1 X0
dengan Y4 Y2 Y1 Y0. Gambar 4.22 adalah rangkaian 16-bit riplle adder. Gambar 4.20
dan 4.21 menunjukkan look ahead carry. Pada look ahead adder carry digenerate
secara pararel
Half Substractor
Half substractor adalah rangkaian substractor yang hanya memiliki input
untuk bilangan yang ingin dikurangkan, tanpa ada borrow sebagai input. Tabel
[Realisasi Rangkaian Kombinasional] BAB IV
kebenaran dan rangkaian half substractor ditunjukkan pada gambar 4.24. Jika x ≥
y, maka ada 4 kemungkinan yakni 0 - 0 = 0, 1 - 0 = 1 dan 1 - 1 = 0. Jika x < y, maka
diperoleh nilai 0 - 1, dan harus memnjam borrow (Bo --> borrow out ) 1 pada
kondisi setelahnya. Half substractor membutuhkan 2 output, output pertama
adalah hasil dari pengurangan kedua input direpresentasikan sebagai nilai Di
(Difference). Output kedua adalah direpresentasikan sebagai nilai Bi (Borrow).
Nilai output Bi benilai 0 selama x ≥ y, dan bernilai 1 untuk x = 0 dan y = 1. dari tabel
kebenaran diperoleh persamaan sebagai berikut :
𝐷 = 𝑥 ′ 𝑦 + 𝑥𝑦′
𝐵 = 𝑥′𝑦
Full substractor
Full substractor adalah rangkaian substractor yang memiliki input untuk bilangan
yang ingin dikurangkan, dan borrow input. Tabel kebenaran dan rangkaian full
substractor ditunjukkan pada gambar 4.24 dan 4.25.
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.24 menunjukkan map Fungsi Boolean untuk kedua output dari full
substractor, menghasilkan nilai fungsi sebagai berikut :
𝐷𝑖 = 𝑥 ′ 𝑦 ′ 𝑧 + 𝑥 ′ 𝑦𝑧 ′ + 𝑥𝑦𝑧
𝐵𝑖 = 𝑥 ′ 𝑦 + 𝑥 ′ 𝑧 + 𝑦𝑧
Rangkaian full substractor terlihat pada gambar 4.26, Full substractor dapat
dibangun dengan 2 half substractor.
Gambar 4.25. (a) contoh binary substraction, (b) Tabel kebenaran full substraction
[Realisasi Rangkaian Kombinasional] BAB IV
Ripple-carry substractor
Dari gambar 4.24(a) dimana 1-bit full substractor dapat disusun dari 2 half
substractor, maka full substractor dapat disusun secara seri untuk membuat n-bit
full substractor, dimana bit borrow-out pada full substractor sebelumnya menjadi
input bit borrow-in selanjutnya. Oleh karena itu, konfigurasi n-bit full substractor
yang disusun dari beberapa 1-bit full substractor disebut Ripple-carry substractor.
Pada gambar 4.27 menujukkan blok diagram dari 4-bit Ripple-carry substractor,
dimana berfungsi untuk mengurangkan 4 bit yaitu A4 A2 A1 A0 dengan B4 B2 B1 B0.
Gambar 4.25 (a) Binary substraction tables, (b) Tabel Kebenaran untuk half
substractor, (c) Blok untuk half substractor, (d) Rangkaian logika untuk half
substractor.
e. Multiplier
Multiplier adalah rangkaian untuk melakukan operasi aritmatika perkalian.
Seperti :
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.26. Full Substractor (a) Block symbol; (b) Full substractor yang dibangun
dari 2 half adder; (c) Diagram logika
[Realisasi Rangkaian Kombinasional] BAB IV
f. Shifter combinational
Shifter combinational adalah rangkaian yang dapat menggeser nilai bit, baik
dari kiri ke kanan, maupun dari kanan ke kiri. Saat bergeser, bit terakhir akan
dibuang dan bit awal akan diisi dengan 0. Shifter kombinasional memiliki saklar
control untuk memilih arah penggeseran.
Tabel kebenaran untuk rangkaian 2-bit shifter, dan implementasi pada
rangkaiannya ditunjukkan pada gambar 4.28. S adalah sakalar control, dan D1, D0
adalah bit input. Apabila S bernilai 0, maka bit input akan digeser ke kiri, misalnya
dari 01 menjadi 10. Sebaliknya apabila S bernilai 1, maka bit input akan digeser ke
kanan, misalnya dari 10 menjadi 01. Gambar 4.29 untuk 4-bit shifter.
Pada gambar 4.40 menunjukkan rangkaian 8-bit Shifter kombinasional,
dengan 8-bit input (D0 - D7), 8-bit output (S0 - S7), dan 1-bit saklar control (C). Saat C
bernilai 1, maka rangkaian akan menggeser bit ke kanan, contoh dari 11111111
menjadi 0111111. Sebaliknya saat C bernilai 0, maka rangkaian akan menggeser bit
ke kiri, contoh dari 11111111 menjadi 11111110.
Pada table kebenaran dapat dilihat rangkaian untuk A (A 0 A1 A2A4) = B (B0 B1 B2B4),
dapat diganti dengan XNOR. XNOR dapat digunakan untuk mengecek apakan nilai
dua bit tersebut sama atau tidak. Pada gambar 4.42 menunjukkan rangkaian
comparator 4-bit, yang membandingkan apakah A (A0 A1 A2A4) = B (B0 B1 B2B4).
[Realisasi Rangkaian Kombinasional] BAB IV
Comparator dapat dibentuk dengan VHDL, berikut kode program VHDl untuk
komparator 1-bit:
library ieee;
use ieee.std_logic_1164.all;
entity comparator is
port(a : in std_logic;
b : in std_logic;
aequab : out std_logic);
end comparator;
architecture RTL of comparator is
begin
process
begin
if a = b then
aequab <= '1';
else
aequab <= '0';
end if;
end process;
end RTL;
Entity Comparator is
Port( a,b : in Std_Logic_Vector(1 downto 0);
amoreb,alessb,aequab : out Std_Logic);
end Comparator;
Contoh akan dibuat rangkaian multiplexer 2 input seperti ditunjukkan pada gambar
4.44
Tabel kebenaran multiplexer 2 input dan 4 bit wide (74x157), terlihat pada gambar
4.3.
Tabel 4.3 Tabel Kebenaran Multiplexer 2 input dan 4 bit wide
Gambar 4.46. (a) Logic Diagram (b) tabel Kebenaran (c) Block Diagram
[Realisasi Rangkaian Kombinasional] BAB IV
Contoh Soal :
Implementasikan fungsi berikut ini dengan multiplexer :
𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (0,1,4,4,8,9,15)
Jawaban:
Karena terdapat 4 variabel maka dibutuhkan multiplexer dengan 4 jalur selector dan
8 input. Input A, B, C, D. Tabel kebenaran dan Implementasinya terlihat pada gambar
4.49.
Demultiplexer adalah rangkaian logika yang menerima satu input data dan
mendistribusikan input tersebut ke beberapa output yang tersedia. Seleksi data-data
input dilakukan oleh selector line, yang juga merupakan input dari demultiplekser
tersebut. Blok diagram sebuah demultiplexer ditunjukan oleh gambar 4.40. Tabel
kebenaran demultiplexer terlihat pada tabel 4.8.
h. Dekoder
Dekoder adlah rangkaian kombinasional yang mengubah (mengkonversikan)
informasi biner dari n jalur input kepada 2n jalur output. Blok Diagram dekoder
diberikan pada gambar 4.42. Beberapa rangkaian dekoder yang sering dijumpai
adalah dekoder 4 x 8 (4 bit input dan 8 bit output), dekoder 4 x 16, dekoder BCD to
Decimal (4 bit input dan 10 output line), dekoder BCD to 7 segment (4 bit input dan
8 output line). Sebagai contoh berikut adalah dekoder 4 ke 8, dimana 4 variabel
input menghasilkan 8 variabel output. Rangkaian terlihat pada gambar 4.44.
Beberapa dekoder juga dapat dibentuk melalui gerbang NAND. Dekoder ini
terdiri dari satu atau lebih jalur enable. Untuk mengontrol operasi pada rangkaian.
dekoder 2 ke 4 dengan enable input dibangun dengan gerbang NAND, rangkaian
beroperasi dengan output komplemen dan komplemen dari input enable. Dekoder
akan aktif ketika E bernilai 0 (active low - enable). Rangkaian dan tabel kebenaran
dekoder 2 ke 4 disajikan pada gambar 4.44.
i. Encoder
Encoder adalah rangkaian kombinasional yang menampilkan inversi dari
operasi dekoder, enkoder memiliki 2n (lebih sedikit) jalur input dan n jalur output,
hanya salah satu dari input-input tersebut yang diaktifkan pada waktu tertentu, yang
selanjutnya akan menghasilkan kode output N-bit. Blok diagram encoder terlihat
pada gambar 4.45.
𝑧 = 𝐷1 + 𝐷4 + 𝐷5 + 𝐷7
𝑦 = 𝐷2 + 𝐷4 + 𝐷6 + 𝐷7
𝑥 = 𝐷4 + 𝐷5 + 𝐷6 + 𝐷7
Priority Encoder
Sebuah Priority Encoder adalah rangkaian Encoder yang mempunyai fungsi
prioritas. Operasi dari rangkaian Priority Encoder adalah sebagai berikut : jika ada
dua atau lebih input bernilai "1" pada saat yang sama, maka input yang mempunyai
[Realisasi Rangkaian Kombinasional] BAB IV
prioritas tertinggi yang akan diambil. Tabel Kebenaran Priority Encoder diberikan
pada tabel 4.9. Kondisi "x" adalah kondisi dont care, yang menyatakan nilai input
bisa "1" dan "0". Input D3 mempunyai prioritas tertinggi, sehingga bila input ini
bernilai "1" maka output X dan Y keduanya akan bernilai "1" (11 menyatakan biner
dari 3). Input D2 mempunyai prioritas kedua, dengan output X dan Y bernilai 10
menyatakan biner 2, dimana input D2 = "1" dan D3 = "0". Input D1 adalah prioritas
ketiga dengan output X dan Y bernilai 01 menyatakan biner 1, dimana input D1 =
"1", sedangkan D2 = D3 = "0". Prioritas terendah adalah input D0, yang akan
memberikan output X dan Y = 00 (menyatakan biner 0), jika input D1 bernilai "1",
sedang ketiga input lainnya bernilai "0". Map Karnaugh dari priority encoder terlihat
pada gambar 4.47.
Dari Tabel Kebenaran dapat dibuat K-Map seperti gambar 4.47 untuk masing-masing
output X, Y, dan V (V adalah nilai output Validitas, yang akan bernilai "1" jika satu
atau lebih inputnya bernilai "1" dan bernilai "0" jika tidak ada inputnya yang bernilai
"1").
Persamaan boolean dari fungsi logika pada tabel kebenaran (tabel 4.9)
adalah sebagai berikut :
𝑥 = 𝐷2 + 𝐷3
𝑦 = 𝐷3 + 𝐷1 𝐷2′
𝑉 = 𝐷0 + 𝐷1 + 𝐷2 + 𝐷3
[Realisasi Rangkaian Kombinasional] BAB IV
sebuah gerbang OR akan sama artinya dengan memihh sederetaii konfigurasi yang
di benkan pada masukannya dan berarti juga bahwa keluaran 1 adalah suatu fungsi
mmterm dengan variable [M_A , M_B dan M_C. Misalnya implementasi fungsi
mmterm F=( 0, 2. 3, 5 ).
Kasus I
Implementasikan fungsi minterm F= ∑XYZ(0, 3, 5, 6) menggunakan MUX 8 KE
1 Jika F adalah fungsi minterm maka F=1 pada fungsi-fungsi F=-X-Y-Z atau F=~XYZ
atau F=X-YZ atau F=XY-Z, jadi untuk mengirnplementasikan fungsi mi sebuah MUX
8 KE 1 dapat di rangkai seperti pada Gambar 4.51.
Kasus 3
Implementasikan fungsi minterm F=∑ (0, 3, 5, 6) dengan sebuah MUX 4 ke 1.
Dengan menggunakan aljabar Boolean secara langsung dapat di lakukan dengan
cara memilih sinyal kendali. dalam hal ini nilai teilinggi Fungsi adalah 6 sehingga
MUX yang tepat adalah MUX 8 Ke 1 yang memiliki 3 sinyal kendali misalnya X, Y
dan Z, dan fungsi F = X-Y-Z + -XYX + X-YZ + XY~Z , dapat langsung di
Implementasikan, sedangkan dengan menggunakan MUX 4 KE 1 maka dua sinyal
pemilih harus ditentukan dari ketiga sinyal tersebut, misalkan dipilih dua hagian
MSB yaitu X dan Y . sehingga fungsi dapat ditulis ulang sebagai berikut:
Cara lain dapat dilakukan dengan menggunakan label reduksi terlihat di Tabel 4.12.
Tabel 4.12. Tabel Reduksi
X Y Z F
0 0 0 0 1 NOT_Z
1 0 0 1 0
2 0 1 0 0 NOT_Z
3 0 1 1 1
4 1 0 0 0 NOT_Z
5 1 0 1 1
6 1 1 0 1 NOT_Z
7 1 1 1 0
Kasus 4
Implememasikan fungsi minterm F = ∑(0,1,2,3,5,7) dengan sebuah MUX 8 ke 1. Pada
kasus ini fungsi tidak dapat secara langsung diimplementasikan menggunakan
MUX 8 KE 1 karena rentang masukannva tidak mencukupi. sehingga dibutuhkan
tabel reduksi masukan seperti yang dltunjukkan pada Tabel 4.13.
KASUS 5
Dari tabel reduksi tersebut diperoleh rangkaian implementasi fungsi seperti pada
gambar 4.56.
Kasus 6b
Implementasikan fungsi minterm = ∑ABCD(3,4,5,6,7,11,15) dalam MUX 8 ke
1 menggunakan teknik 2 MUX 8 ke 1 dengan Enable. Perhatikan table 4.15
Tabel 4.15. Tabel Reduksi Masukan MUX 8 ke 1
A B C D F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
[Realisasi Rangkaian Kombinasional] BAB IV
Pada tabel 4.15. "A" sebagai MSB dapat digunakan sebagai pemilih salah satu
dari kedua MUX 8 ke 1 yang dengan menghubungkannya dengan masukan EN
(enable), karena harus salah satu yang bekerja maka ditambahkan inverting seperti
pada gambar 4.57. dengan masukan terinversi adalah MUX 8 ke 1 untuk menerima
masukan 4 bit.
Kasus 7a
Implementasikan fungsi minterm F = ∑(3, 4, 5, 6, 7, 11, 15) dalam MUX 4 ke 1
dengan teknik dekomposisi. Masukan dan keluaran fungsi terlihat pada tabel 4.16,
[Realisasi Rangkaian Kombinasional] BAB IV
Tabel 4.16. Tabel Kebenaran FUNGSI Asli (kiri) dan reduksi Dekomposisi I (kanan)
A B C D F Reduksi A B C D F Dec
0 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 0 1 0 1 0 0 0 1 1
2 0 0 1 0 0 1 2 0 0 1 0 1 D
3 0 0 1 1 1 3 0 0 1 1 1
4 0 1 0 0 1 2 4 0 1 0 0 0 1
5 0 1 0 1 1 5 0 1 0 1 1
6 0 1 1 0 1 3 6 0 1 1 0 0 1
7 0 1 1 1 1 7 0 1 1 1 1
8 1 0 0 0 0 4 8 1 0 0 0 0 0
9 1 0 0 1 0 9 1 0 0 1 0
10 1 0 1 0 0 5 10 1 0 1 0 0 0
11 1 0 1 1 1 11 1 0 1 1 1
12 1 1 0 0 0 6 12 1 1 0 0 0 0
13 1 1 0 1 1 13 1 1 0 1 1
14 1 1 1 0 0 7 14 1 1 1 0 0 D
15 1 1 1 1 1 15 1 1 1 1 0
Reduksi A B C F Dec
0 0 0 0 0 0 CD
1 0 0 1 D
1 2 0 1 0 1 1
3 0 1 1 1
2 4 1 0 0 0 CD
5 1 0 1 D
3 6 1 1 0 0 CD
7 1 1 1 D
Dari tabel 4.17 dapat diformasi masukan fungsi untuk MUX 4 ke 1 sehingga
selanjutnya dapat dilakukan implementasi fungsi menggunakan MUX 4 ke 1 seperti
ditunjukkan pada Gambar 4.58.
[Realisasi Rangkaian Kombinasional] BAB IV
Kasus 7b
Implementasikan fungsi minterm F = ∑ (3,4,5,6,7,11,15) dalam MUX 4 ke 1. Secara
cepat fungsi tersebut dapat diimplementasikan menggunakan MUX 16 ke 1 jadi
dengan MUX 4 ke 1. Masukan harus direduksi dengan cara dibagi 4 seperti
ditunjukkan pada tabel 4.18.
Tabel. 4.18. Tabel Reduksi fungsi kasus 7b
A B C D F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 0
14 1 1 1 0 0
15 1 1 1 1 1
Dari tabel 4.18. Masukan telah direduksi untuk dibagi menjadi empat agar
mencukupi untuk diimplementasikan menggunakan MUX 4 ke 1, hasil implementasi
seperti ditunjukkan pada Gambar 4.59.
[Realisasi Rangkaian Kombinasional] BAB IV
ALU dapat bekerja secara langsung melalui Control Unit, ALU melakukan operasi
seperti ADD, SUB, NOT, OR, AND, dan XOR. Data diinputkan dari dan dikeluarkan ke
array register. Sinyal kontrol dari control unit menentukan tipe operasi yang
ditampilkan. Input data terdiri dari 2 operand yakni operand A dan operand B yang
dimasukkan ke register dan memiliki n bit data. Data output terdiri dari S. ALU juga
menghasilkan ooutput sinyal status seperti :
a. Zero (ketika hasil operasi = 0)
b. Negative (ketika hasil operasi < 0)
c. Carry (ketika operasi hasilnya adalah carry)
d. Overflow (Ketika hasilnya adalah sejumlah bit yang dialokasikan dalam media
penyimpan).
Beberapa contoh operasi pada ALU :
A. Ripple Carry Adder (RCA)
[Realisasi Rangkaian Kombinasional] BAB IV
B. Accumulator
Banyak perhitungan yang terdiri dari pengulangan penambahan
dan pengurangan yang ditampilkan hasilnya pada operasi sebelumnya.
Accumulator didedikasikan bagi register, yang digunakan untuk
menampilkan operasi perulangan ini seperti pada gambar .
C. Multiplication
C.1. Binary Multiplication
Metode :
Perkalian dapat ditampilkan melalui multiplier unit sebagai
rangkaian kombinational, dengan multiplicand dan bit multiplier
sebagai input dan bit sebagai output.
Tabel 4.20. tabel kebenaran Binary Multiplication
[Realisasi Rangkaian Kombinasional] BAB IV
C.5. Pembagian
Algoritma pembagian, adalah :
a) Inisialisasi hasil register (Accumulator - A) dengan 0, hal ini akan
memasukkan keduanya baik remainder dan hasil setelah
pembagian.
b) Mengcopy hasil pembagi pada least significant bagian A
c) Jika hasil dari the most significant part (AH) lebih besar atau sama
dengan pembagi, kurangkan divisor dari AH dan menset hasil
selanjutnya dengan bit = 1.
d) Jika hasil dari the most significant part (AH) lebih besar atau sama
dengan pembagi, jangan lakukan apapun dan menset hasil
selanjutnya dengan bit = 0.
[Realisasi Rangkaian Kombinasional] BAB IV
Perhatikan, misalnya, 32 * 8 ROM. Unit ini terdiri dari 32 word dari 8 bit
masing-masing. Ada lima jalur input yang membentuk bilangan biner dari 0 sampai
31 untuk alamat. Gambar 4.61 menunjukkan konstruksi logika internal ROM ini.
Kelima input yang diterjemahkan ke dalam 32 output yang berbeda dengan cara 5 x
32 decoder. Setiap output dari decoder merupakan alamat memori. 32 output dari
decoder yang terhubung ke masing masing dari delapan gerbang OR. Diagram
menunjukkan logika konvensi array yang digunakan dalam rangkaian kompleks.
Setiap gerbang OR memiliki memiliki 32 input. masing-masing output decoder yang
terhubung ke salah satu masukan dari masing-masing gerbang OR. Karena setiap OR
gerbang memiliki 32 koneksi input dan ada 8 gerbang OR, ROM berisi 32 x 8 = 256
koneksi internal. Secara umum, 2𝑘 𝑥 𝑛 ROM memiliki k x 2𝑘 .
Penyimpanan biner internal ROM ditentukan oleh tabel kebenaran yang
menunjukkan isi kata dalam setiap alamat. Sebagai contoh, isi 32 x 8 ROM mungkin
ditentukan dengan tabel kebenaran yang sama dengan yang ditunjukkan pada Tabel
[Realisasi Rangkaian Kombinasional] BAB IV
4.21. Tabel kebenaran menunjukkan lima input di mana tercantum 32 alamat. Setiap
alamat menyimpan kata 8 bit, yang tercantum dalam output kolom. Tabel tersebut
menunjukkan hanya empat pertama dan empat kata terakhir dalam ROM. Tabel
4.21 lengkap harus menyertakan daftar semua 32 kata.
Sebagai contoh, pemrograman ROM sesuai dengan tabel kebenaran
diberikan oleh Tabel 4.21, hasil konfigurasi ditunjukkan pada Gambar. 4.62. Setiap
nilai 0 tercantum dalam tabel kebenaran menentukan adanya sambungan, dan
setiap 1 yang terdaftar menentukan jalan yang diperoleh oleh koneksi. Sebagai
contoh, tabel menentukan word data delapan bit 10110010 untuk penyimpanan
permanen di alamat 3. Keempat nilai 0 dalam word diprogram dengan
menggabungkan antara output 3 dari decoder dan masukan dari gerbang OR terkait
dengan output A6 , A3 , A2 , Dan A0 . Keempat 1 di kata ditandai dengan x untuk
menunjukkan koneksi sementara, di tempat titik digunakan untuk koneksi permanen
dalam diagram logika. Ketika masukan dari ROM adalah 00011, semua output dari
decoder adalah 0 kecuali untuk output 3, yang pada logika 1. Sinyal setara dengan
logika 1 pada output decoder 3 menyebar melalui koneksi ke gerbang OR output A7
, A5 , A4 , dan A1. Itu output empat lainnya tetap di 0. Hasilnya word disimpan
10110010 diterapkan untuk output data yang delapan. Setiap gerbang OR memiliki
2𝑘 input, yang terhubung ke masing-masing output decoder.
Operasi internal ROM dapat ditafsirkan dalam dua cara. Pertama interpretasi
dari sebuah unit memori yang berisi pola tetap word yang tersimpan. Kedua
interpretasi bahwa unit yang mengimplementasikan rangkaian kombinasional. Pada
cara pandang ini, masing masing terminal output dipertimbangkan secara terpisah
sebagai output dari Fungsi Boolean dinyatakan sebagai jumlah dari minterm.
Sebagai contoh, ROM Gambar. 7.10 adalah rangkaian kombinasional dengan
delapan output, masing-masing fungsi dari lima variabel masukan. Output A7 dapat
dinyatakan dalam jumlah minterm berikut ini :
𝐴7 𝐼4 , 𝐼3 , 𝐼2 , 𝐼1 , 𝐼0 = (0, 2, 3, … ,29)
menghasilkan 𝐵0 dengan ROM, karena itu sama dengan variabel masukan. Selain
itu, Output 𝐵1 selalu 0, sehingga output ini adalah sebuah konstanta yang dikenal.
Kami benar-benar perlu untuk menghasilkan hanya empat output dengan ROM, dua
lainnya dapat segera diperoleh. Ukuran minimum ROM diperlukan harus memiliki
tiga input dan empat output. Tiga input menentukan delapan word, jadi ROM
memiliki ukuran 8 x 4. Implementasi ROM ditunjukkan pada Gambar. 7.11. Tiga
input menentukan delapan word dari empat bit masing-masing. Tabel kebenaran di
Gambar. 4.63 (b) menentukan informasi yang diperlukan untuk pemrograman ROM.
Blok diagram Gambar. 4.63 (a) menunjukkan koneksi yang diperlukan pada
rangkaian kombinasional.
Tabel 7.22 Tabel Kebenaran Rangkaian
Input Output Decimal
𝐴2 𝐴1 𝐴0 𝐵5 𝐵4 𝐵3 𝐵2 𝐵1 𝐵0
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 1 1
0 1 0 0 0 0 1 0 0 4
0 1 1 0 0 1 0 0 1 9
1 0 0 0 1 0 0 0 0 16
1 0 1 0 1 1 0 0 1 25
1 1 0 1 0 0 1 0 0 36
1 1 1 1 1 0 0 0 1 49
Gambar 4.63. (a) Block Digram (b)tabel kebenaran ROM Implementasi ROM
[Realisasi Rangkaian Kombinasional] BAB IV
Jenis ROM
Jalur diperlukan dalam ROM dapat diprogram dalam empat cara yang
berbeda. Cara pemograman pada ROM adalah sebagai berikut :
1. Mask Programming. Tabel kebenaran dapat disampaikan dalam bentuk
khusus yang disediakan oleh produsen atau format yang ditentukan pada
media output komputer. Pabrik membuat mask yang berkorespondensi
pada tiap bagian untuk memproduksi nilai 0 dan 1.
2. Pro-grammable Read-Only Memory, atau PROM. unit PROM berisi semua
sekering, memberikan semua nilai 1 dalam bit word yang tersimpan.
Sekering di PROM ditiup oleh penerapan sebuah pulsa tegangan tinggi ke
perangkat melalui pin khusus. Prosedur hardware untuk programmable
ROM atau PROM tidak dapat diubah, dan sekali diprogram, pola tetap
bersifat permanen dan tidak dapat diubah. Setelah pola bit telah ditetapkan,
unit harus dibuang jika pola bit yang akan diubah.
3. Erasable PROM, atau EPROM, yang dapat direstrukturisasi dari keadaan
awal meskipun telah diprogram sebelumnya. Ketika EPROM ditempatkan di
bawah sinar ultraviolet khusus untuk panjang waktu tertentu, radiasi
gelombang pendek pembuangan gerbang mengambang internal yang
berfungsi sebagai koneksi diprogram. Setelah penghapusan, EPROM kembali
ke keadaan awal dan dapat diprogram kembali untuk satu set nilai baru.
Electrically Erasable PROM (EEPROM atau E2PROM). Perangkat ini seperti EPROM,
kecuali bahwa koneksi diprogram sebelumnya bisa terhapus dengan sinyal listrik
bukan sinar ultraviolet. Keuntungannya adalah bahwa perangkat dapat dihapus
tanpa menghapusnya dari soketnya. Perangkat memori flash mirip dengan
EEPROMs, tetapi memiliki tambahan built-in sirkuit untuk selektif memprogram dan
menghapus perangkat di sirkuit, tanpa perlu khusus programmer.
m. PAL
PAL disebut pula sebagai programmable gate array. PAL memproduksi jalur
memori monolitik yang dikarakteristikkan dengan 8 hingga 16 input, tersedia secara
internal dalam bentuk asli dan komplemennya yakni 2 sampai 8 output dengan
variasi jumlah product term. PAL berbeda dari PLA pada jumlah output yang
ditetapkan. Sejumlah PAL tersedia dengan feedback dan output yang diregisterkan.
Gambar 4.64. adalah PAL dengan 2 buah MUX 1 ke 8 dan 5 buah gerbang NOR.
[Realisasi Rangkaian Kombinasional] BAB IV
Soal mux
[Realisasi Rangkaian Kombinasional] BAB IV
[Realisasi Rangkaian Kombinasional] BAB IV
Demux
b. K
c.
[Realisasi Rangkaian Kombinasional] BAB IV
Tambahan
1. A symbol is a graphical model of the input and output pins
A schematic is a functional model of how outputs are related to input values
2. Detecting all 0s, Use NOR
Detecting equality, Use XNOR
Detecting odd # of 1s, Use XOR, Useful for generating “parity” bit common
for detecting errors
Lj’a
I nvert er
AND
OR
[Realisasi Rangkaian Kombinasional] BAB IV