XV. RANGKAIAN SEKUENSIAL ASINKRON

Download Report

Transcript XV. RANGKAIAN SEKUENSIAL ASINKRON

XV.
RANGKAIAN SEKUENSIAL
ASINKRON
A. PENDAHULUAN
Rangkaian
sekuensial
asinkron
tergantung pada signal input eksternal
untuk
melakukan
oengubahan
yang
ditentukan oleh variabel state.
Setiap signal yang tidak disinkronkan
(dengan clock) disebut ASINKRON karena
pengubahan dari kondisi 1 ke 0 dan
sebaliknya tidak dapat di prediksi.
Lanjutan ……
Rangkaian
Asinkron
dapat
didefinisikan
sebagai rangkaian dimana signal eksistensinya
pada suatu saat, ditentukan oleh perubahan
logika salah satu dari signal signal input
eksternal.
Setiap input eksternal hanya dapat berubah 1
pada 1 saat, dan rangkaian berada pada
kondisi stabil (semua signal rangkaian harus
berada pada kondisi stabil, yaitu mereka
berada pada kondisi steady state bila ada
terjadi perubahan.
B. PROSEDUR PERANCANGAN
1. Ubahlah spesifikasi perancangan kedalam
diagram waktu (Timing Diagram) State
Diagram (Diagram keadaan).
2. Buatlah primitive Flow Map (tabel bagan
alir).
3. Gunakan
tabel
Implikasi
untuk
memperoleh pasangan-pasangan yang sama
atau Compatible state. Gunakan diagram
penggabungan (Merge Diagram) untuk
memilih kumpulan-kumpulan state yang
dapat digabung untuk memperoleh jumlah
state minimum.
LANJUTAN ……
4. Buatlah Diagram alir (Flow Map) yang telah
disederhanakan, dari hasil langkah 3.
5. Tentukan
variabel
state,
nama-nama
variabel state dan pilih kode biner untuk
state yang bebas race. Buatlah K-Map
untuk Next State dan eksitasi input.
6.
Buatlah persamaan output Next State bebas
Hazard
dan
eksitasi
input
(bila
menggunakan
SR
–
Latch),
gambar
rangkaian logika.
C. KONDISI RACE
Kondisi race dikatakan ada pada suatu rangkaian
sekuensial jika 2 atau lebih variabel state biner
berubah nilainya sebagai respon dari adanya
perubahan variabel input. Jika waktu tunda (delay)
yang tidak sama dihadapi pada sutu rangkaian
sekuensial, maka kondisi race dapat menyebabkan
variabek state berubah denga cara yang tidak dapat
diramalkan. Sebagai contoh misalnya variabel state
harus berubah dari 00 ke 11 jika variabel pertama
berubah lebih cepat dari variabel kedua maka
perubahan terjadi menurut urutan 00 ke 10 dan
kemudian ke 11. Sebaliknya jika variabel kedua
lebih cepat dari yang pertama maka perubahan
terjadi menurut urutan 00–01–11.
Jika state akhir yang stabil tidak tergantung pada ururtan
cara perubahan variabel state maka disebut non critical
race. (seperti contoh diatas perubahan dari 00 – 11 bisa
melalui 01 tau 10). Jika state akhir yang stabil tergantung
pada urutan perubahan variabel state maka race yang
seperti
ini
dihindari
disebut
dalam
critical
merancang
race.
Critical
rangkaian
race
harus
sekuensial
dan
dilakukan dengan memberikan nilai biner yang berbeda
hanya 1 bit dari satu ke state yang lain. Cara ini dinamakan
race free state assignment.
Contoh : Membuat race free state assignmet untuk tabel
primitive flow yang terdiri dari 3 baris.
X1X2
Present State
00
01
11
10
a
a
b
c
a
b
a
b
b
c
c
a
c
c
c
Jika
diagram
transisinya
digambarkan
berdasarkan tabel diatas, maka akan diperoleh
gambar dibawah ini.
a
00
d
01
Dapat diketahui bahwa transisi dari
a ke c dan dari c ke a akan
menimbulkan race karena terjadi
b
perubahan sebanyak 2 bit dari 00 ke
01
11. Agar bebas race dilakukan
dengan menambahkan baris ke 4
pada tabel floe yang dinamakan d
dan
diberikan
nilai
biner
10
sehingga transisi dari a ke c dan
sebaliknya harus melalui d. Untuk
c itu pada baris pertama pada kolom
11 11 harus diubah dari c menjadi d
dan baris ke 4 kolom 11 diisi dengan
c. Kemudian baris ke 3 kolom 00
diubah dari c menjadi d dan baris ke
4 kolom 00 diisi dengan a.
Tabel flow dan diagram transisinya sekarang
menjadi seperti dibawah ini
X1X2
Present State
00
01
11
10
a
a
b
d
a
b
a
b
b
c
c
d
c
c
c
d
a
-
c
-
a
00
b
01
d
01
c
11
Contoh. Rancanglah rangkaian sekuensial
asinkron free race yang mempunyai
timing diagram seperti dibawah ini.
a
b
c
d
e
f
States
X1
X2
Z
Timing Diagram
g
f
Tabel keadaan dan tabel primitive flow dari
timing diagram diatas serta tabel implikasinya
dapat dibuat seperti dibawah ini.
Input
Output
State
X1
X2
Z
a
1
0
0
b
1
1
0
c
0
1
0
d
0
0
0
e
1
0
1
f
0
0
0
g
1
0
0
InputX1X2
Output
00
01
11
10
Z
a
-
-
b
a
0
b
-
c
b
-
0
c
d
c
-
-
0
d
d
-
-
e
0
e
f
-
-
e
1
f
f
-
-
g
0
g
f
-
-
g
0
b
√
c
√
√
d
a=e ? X
√
√
e
X
X
X
X
f
a=g ?√
√
d=f ? X
e=f ? X
X
g
√
√
d=f ? X
X
X
√
a
b
c
d
e
f
Tabel Implikasi
Dari tabel implikasi dapat diperoleh pasangan
state yang kompatibel dan merger diagram
sebagai berikut :
a,b a,c a,f a,g b,c b,d b,f b,g c,d f,g
d
b
g
c
a
f
e
Merger Diagram
Dari diagram merger, didapatkan kelompok dari state
yang dapat digabungkan dimana salah satunya adalah
(a,b,f,g), (c,d), (e) sehingga state a-g dapat direduksi
menjadi 3 buah state yaitu i,j,k.
X1X2
Present State
00
01
11
10
i=a,b,f,g
f
c
b
a
j=c,d
d
c
-
e
k=e
f
-
-
e
X1X2
Present State
00
01
11
10
i
i
j
i
i
j
j
j
-
k
k
I
-
-
k
X1X2
Present State y1y2
00
01
11
10
00
00
01
00
00
01
01
01
-
11
11
00
-
-
11
Diagram transisinya digambarkan dibagian kiri dan
untuk 3 buah state i,j,k diperlukan 2 buah state
variabel yaitu y1y2 = 00,01,11
i
00
j
01
i
00
j
01
l
10
k
11
k
11
Untuk menghindarkan kondisi race akibat transisi
state dari 11 ke 00, maka diantaranya disisipkan state
l = 01 seperti terlihat pada gambar dibagian atas
kanan. Tabel primitive flow hasil reduksi menjadi sbb.
X1X2
Present State y1y2
00
01
11
10
00
00
01
00
00
01
01
01
-
11
11
10
-
-
11
10
00
01
00
00
Pada tabel diatas terjadi perubahan pada baris 11
kolom 00 yang tadinya berisi 00 digantikan dengan
10. Pada baris 10 kolom 00 diisi dengan 00 dan pada
baris 10 kolom yang lain diisi dengan stabil state dari
baris diatasnya (seharusnya 3 buah don’t care) untuk
menjamin tidak dihasilkan 10 dapat mengakibatkan
rangkaian berjalan tidak semestinya.
Dengan cara ini jika dihasilkan state 11 kan beralih
menjadi 00 setelah melalui state 10. Jika tabel yang
telah direduksi dipisahkan menjadi 2 tabel untuk
menyatakan next state Y1 dan Y2 maka akan
diperoleh tabel sbb.
Y1=
Y2=
X1X2
X1X2
PS
y1y2
00
01
11
10
Z
PS
y1y2
00
01
00
0
0
0
0
0
00
0
1
0
0
0
01
0
0
-
1
0
01
1
1
-
1
0
11
1
-
-
1
1
11
0
-
-
1
1
10
0
0
0
0
-
10
0
1
0
0
-
Y1 = y1y2 + y2X1
Y2 = y1’y2 + X1’X2 + y2X1
Z = y1
11 10
Z
Diagram logikanya seperti dibawah ini.
Y2 Y1
Y1
X1
X2
Y2
Z
XVI. RANGKAIAN SEKUENSIAL
ASINKRON
A. PRIMITIVE FLOW MAP (Tabel bagan alir)
Primitive Flow Map adalah tabel dengan 1
stable state (keadaan stabil) yang dituliskan
pada setiap baris dari tabel. Setiap present
state (keadaan kini) dituliskan pada baris
terpisah dan dituliskan pada sisi kiri tabel.
Bila next state (keadaan berikutnya) sama
dengan present state (keadaan kini), maka
state
tersebut
diberi
lingkaran
untuk
menunjukkan ia berada pada kondisi stabil.
Contoh ……
Buatlah rangkaian dengan 2 input G (gate)
dan D (data) dan 1 output Q. Informasi di D
dipindah ke Q bila G=1. Output Q akan
mengikuti D selama G=1.
Bila G=0, informasi yang telah ada masukkan
D, pada saat transisi terjadi, akan tetap
outputnya Q. Rangkaian ini adalah rangkaian
memory yang menerima masukkan D saat
G=1, dan tetap outputnya bila G=0, sekali
G=0, perubahan di D tidak akan mengubah Q.
Lanjutan ……
Tabel untuk contoh.
STATE
a
b
c
d
e
f
INPUT
D
G
0
1
0
1
1
0
1
1
0
0
0
0
OUTPUT
Q
KETERANGAN
0
1
0
0
1
1
D = Q, Sebab G=1
D = Q, Sebab G=1
Setelah state a/d
Setelah state c
Setelah state b/f
Setelah state e
TABEL PRIMITIVE FLOW MAP
State
a
b
c
d
e
f
DG
00
c, -,c,0
c,f,f,1
01
a,0
a,a,-,-,a,-
x , - = state tak stabil
- , - = don’t care
x , 0 = state stabil
0 output
11
b,b,1
-,b,b,-,-
10
-,e,d,d,0
e,1
e,-
B. FLOW TABLE (Penggabungan Diagram Alir)
Seringkali state table untuk rangkaian tidak
dinyatakan secara lengkap. Dalam kasus
semacam ini, keadaan berikut (Next State) dan
output yang seharusnya terjadi dianggap
sebagai don’t care.
Keadaan – keadaan yang terjadi dinyatakan
secara
lengkap
dapat
digabung
untuk
mengurangi jumlah keadaan di Diagram alir
(Flow table). Dengan demikian, 2 keadaan
(state) yang tidak dinyatakan secara lengkap,
dapat
digabungkan
disebut
Compatible
(bersesuaian).
Dua state disebut compatible jika untuk setiap
Input yang mungkin memiliki output yang
sama dan keadaan berikut (Next state) adalah
compatible.
Langkah – langkah untuk memperoleh
pasangan-pasangan compatible :
1. Tentukan pasangan-pasangan compatible
dengan menggunakan table implikasi.
2. Tentukan maksimal compatible dengan
menggunakan Diagram penggabungan.
3.
Tentukan kelompok-kelompok compatible
menimum, yang mencakup semua keadaan
(state) dan tertutup.
C. Pasangan Compatible
Contoh prosedur untuk memperoleh pasangan
compatible adalah sbb.
Primitive flow table, pada tiap-tiap kotak berisi
keadaan berikut dan keluaran tanda menunjukkan
keadaan yang tidak ditentukan, atau keluaran yang
tidak ditentukan dua keadaan compatible bila
dalam setiap kolom pada baris-baris yang
berhubungan. Diagram alir (Flow table) mereka
adalah sama atau compatible dan jika tidak ada
perubahan di keluaran.
Misalkan : Baris a dan b adalah compatible; tetapi a
dan f akan compatible jika c dan f
compatible walaupun demikian, c
dan f
tidak
compatible
karena
mereka memiliki
perbedaan
keluaran di kolom pertama.
Primitive flow map table
a
b
c
d
e
f
00
c,-,c,0
c,f,f,1
01
a,0
a,a,-,-,a,-
11
b,b,1
-,b,b,-,-
10
-,e,d,d,0
e,1
e,-
Untuk membuat tabel Implikasi dari tabel
primitive flow map pada contoh adalah sbb.
Tabel Implikasi.
Dari
b
√
c
√
d,e x
d
√
d,e x
√
e
c, f x
√
d,e,c,f x
x
f
c, f x
√
x
d,e,c,f x
√
a
b
c
d
e
tabel
Implikasi
diperoleh
pasangan Compatible sbb:
(a,b) (a,c) (a,d) (b,e) (b,f) (c,d) (e,f)
pasangan-
XVII. RANGKAIAN SEKUENSIAL
ASINKRON
A. MAXIMAL COMPATIBLE
Maximal compatible adalah kelompok
compatible-compatible
yang
memiliki
kombinasi yang mungkin dari keadaankeadaan compatible.
Maximal compatible dapat diperoleh dari
diagram penggabungan.
Semua
pasangan-pasangan
compatible
dapat
diturunkan
dari
diagram
penggabungan dengan melihat pola-pola
Geometri
yang
menghubungkan
ke
keadaan-keadaan yang saling berhubungan.
Lanjutan …..
Titik yang terisolasi menunjukkan suatu
keadaan (state) yang tidak compatible
dengan keadaan
lainnya. Sebuah garis
menunjukkan pasangan compatible dengan 3
state, n state compatible ditunjukkan oleh
diagram penggabungan dengan polygon n
sisi,dengan diagonalnya saling berhubungan.
Kumpulan
maximal
compatible
dapat
dipakai untuk menggabungkan diagram alir
(Flow Table) dengan menentukan 1 baaris di
tabel yang disederhanakan ke setiap anggota
kelompoknya.
Contoh ……
Untuk contoh dari pasangan compatible
(a,b) (a,c) (a,d) (b,e) (b,f) (c,d) (e,f)
a
b
f
e
c
d
Maka pasangan maximal compatible adalah
(a,b) (a,c,d) (b,e,f)
B.
CLOSED COVERING CONDITION
Sekumpulan pasangan compatible tertutup
apabila semua state tercakup didalamnya dan
apabila ada Implies state pada tabel Implikasi,
maka implikasi state tersebut juga tercakup di
dalam pasangan state yang dicari.
Pada contoh sebelumnya pasangan maximal
compatible (a,b) (a,c,d) (b,e,f) jika (a,b) di
hilangkan
maka
yang
ditinggal
adalah
pasangan maximal compatible (a,c,d) (b,e,f)
maka semua state tercakup dan tidak ada
implies state maka pasangan (a,c,d) (b,e,f)
memenuhi closed covering condition.
REDUCTION FLOW TABLE
DG
00
01
11
10
(b,e,f)
c,0
f,1
a,0
a,-
b,b,1
d,0
e,1
Y
(0) a
DG
00
a,0
01
a,0
11
b,-
10
a,0
(1) b
b,1
a,-
b,1
b,1
(a,c,d)
Transition Table
Y
a=0
b=1
DG
00
01
11
10
0
1
0
0
1
1
0
1
Y=DG+YG
Output Table
Z
Y
0
1
DG
00
0
01
0
11
-
10
0
1
-
1
1
Z=Y
GAMBAR RANGKAIAN LOGIKANYA
D
G
Z=Y
C.
HAZARD
Hazard adalah suatu kondisi yang terjadi jika
sebuah variabel berubah akan menghasilkan
perubahan output yang sementara, dimana
seharusnya output ini tidak berubah. Pada
rangkaian sekuensial dimana ada feedback. hazard
dapat menyebabkan rangkaian sekuensial pergi ke
state yang salah. Hazard dapat dijelaskan
menggunakan rangkaian dibawah ini. Misalnya
rangkaian dalam keadaan stabil total yX1X2 = 111,
jika input X2 berubah dari 1 ke 0 maka keadaan
stabil berikutnya harus 110 tetapi adanya delay
pada rangkaian inverter menyebabkan AND 2
belum berubah sementara AND 1 sudah berubah
yang akan mengakibatkan output berubah menjadi
0 sementara waktu sebelum akhirnya menjadi 1
1
X1
X2
1
1
0
0
1
0
1
0
0
1
1
Y
0
Y
y 1
Seharusnya yang terjadi
1
X1
1
X2
0
0
1
0
1
0
0
y 1
Kenyataan yang terjadi
Jika
dibuat Karnaugh Map dari rangkaian
diatas agar bebas hazard (hazard free) dapat
ditabelkan dibawah ini.
X1 X 2
y
0
1
00
0
1
01
0
0
11
1
1
Y = X1X2 + yX2
10
0
1
y
0
1
00
0
1
X1X2
01 11
0
1
0
1
10
0
1
Y = X1X2 + yX2 + yX1
Rangkaian sekuensial dengan
menjadi seperti dibawah ini
1
hazard
free
1
1
1
X1
X2
1
1
1
0
0
0
1
0
y
1
Y
0
Rangkaian sekuensial bebas hazard
Pada contoh soal diatas perancangan rangkaian
sebelumnya dapat ditambahkan persyaratan bebas
hazard sehingga rangkaian harus ditambahkan
gerbang AND dengan cara seperti diatas