XV.
RANGKAIAN SEKUENSIAL ASINKRON
A. PENDAHULUAN Rangkaian
sekuensial
asinkron
tergantung pada signal input eksternal untuk
melakukan
pengubahan
yang
ditentukan oleh variabel state state.. Setiap signal yang tidak disinkronkan (dengan clock) disebut ASINKRON karena pengubahan dari kondisi 1 ke 0 dan sebaliknya tidak dapat di prediksi 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.. 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 perubahan..
B. PROSEDUR PERANCANGAN 1.
Ubahlah spesifikasi perancangan kedalam diagram waktu (Timing Diagram) State Diagram (Diagram keadaan) keadaan)..
2.
Buatlah primitive Flow Map (tabel bagan alir).. alir)
3.
Gunakan tabel Implikasi untuk memperoleh pasangan pasangan--pasangan yang sama atau Compatible state state.. Gunakan diagram penggabungan (Merge Diagram) untuk memilih kumpulan kumpulan--kumpulan state yang dapat digabung untuk memperoleh jumlah state minimum minimum..
LANJUTAN …… 4.
Buatlah Diagram alir (Flow Map) yang telah disederhanakan, dari hasil langkah 3.
5.
Tentukan variabel state, nama--nama nama variabel state dan pilih kode biner untuk state yang bebas race race.. Buatlah K-Map untuk Next State dan eksitasi input input..
6.
Buatlah persamaan output Next State bebas Hazard dan eksitasi input (bila menggunakan SR – Latch), gambar rangkaian logika 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 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 diramalkan 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 11.. Sebaliknya jika variabel kedua lebih cepat dari yang pertama maka perubahan terjadi menurut urutan 00 00––01 01––11 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 race melalui 01 tau 10 10)). Jika state akhir yang stabil tergantung pada urutan perubahan variabel state maka race yang seperti
ini
dihindari
disebut
dalam
critical
merancang
race.. race
Critical
rangkaian
race
harus
sekuensial
dan
dilakukan dengan memberikan nilai biner yang berbeda hanya 1 bit dari satu ke state yang lain lain.. Cara ini dinamakan race free state assignment assignment.. Contoh : Membuat race free state assignmet untuk tabel primitive flow yang terdiri dari 3 baris 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 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 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 00,,01 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 00,, maka diantaranya disisipkan state l = 01 seperti terlihat pada gambar dibagian atas kanan.. Tabel primitive flow hasil reduksi menjadi sbb kanan 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 10 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 semestinya..
Dengan cara ini jika dihasilkan state 11 kan beralih menjadi 00 setelah melalui state 10 10.. Jika tabel yang telah direduksi dipisahkan menjadi 2 tabel untuk menyatakan next state Y1 dan Y2 maka akan diperoleh tabel sbb sbb.. Y 1=
Y2=
X1X2
X1X2
Z
PS y1y2
00
01
0
0
00
0
1
0
0
0
-
1
0
01
1
1
-
1
0
-
-
1
1
11
0
-
-
1
1
0
0
0
-
10
0
1
0
0
-
PS y 1y 2
00
01
11
10
00
0
0
0
01
0
0
11
1
10
0
Y1 = y1y2 + y2X1 Y2 = y1’y2 + X1’X2 + y2X1 Z = y1
11 10
Z
Diagram logikanya seperti dibawah ini 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 tabel.. Setiap present state (keadaan kini) dituliskan pada baris terpisah dan dituliskan pada sisi kiri tabel tabel.. Bila next state (keadaan berikutnya) sama dengan present state (keadaan kini), maka state
tersebut
diberi
lingkaran
untuk
menunjukkan ia berada pada kondisi stabil stabil..
Contoh …… Buatlah rangkaian dengan 2 input G (gate) dan D (data) dan 1 output Q. Informasi di D dipindah ke Q bila G= G=1 1. Output Q akan mengikuti D selama G= G=1 1. Bila G= G=0 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 G= 1, dan tetap outputnya bila G= G=0 0, sekali G=0 G= 0, perubahan di D tidak akan mengubah Q.
Lanjutan …… Tabel untuk contoh 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 DG
State a b c d e f
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.. compatible Langkah – langkah untuk memperoleh pasangan--pasangan compatible : pasangan 1. Tentukan pasangan pasangan--pasangan compatible dengan menggunakan table implikasi implikasi.. 2. Tentukan maksimal compatible dengan menggunakan Diagram penggabungan penggabungan.. 3. Tentukan kelompok kelompok--kelompok compatible menimum, yang mencakup semua keadaan (state) dan tertutup 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 sbb.. Tabel Implikasi 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 sbb:: (a,b) (a,c) (a,d) (b,e) (b,f) (c,d) (e,f)
pasangan-pasangan
XVII. RANGKAIAN SEKUENSIAL ASINKRON A. MAXIMAL COMPATIBLE Maximal compatible adalah kelompok compatible--compatible compatible yang memiliki kombinasi yang mungkin dari keadaan keadaan-keadaan compatible compatible.. Maximal compatible dapat diperoleh dari diagram penggabungan penggabungan.. Semua pasangan--pasangan pasangan compatible dapat diturunkan dari diagram penggabungan dengan melihat pola pola--pola Geometri yang menghubungkan ke keadaan--keadaan yang saling berhubungan keadaan berhubungan..
Lanjutan ….. Titik yang terisolasi menunjukkan suatu keadaan (state) yang tidak compatible dengan keadaan lainnya.. Sebuah garis lainnya menunjukkan pasangan compatible dengan 3 state, n state compatible ditunjukkan oleh diagram penggabungan dengan polygon n sisi,dengan diagonalnya saling berhubungan berhubungan.. Kumpulan maximal compatible dapat dipakai untuk menggabungkan diagram alir (Flow Table) dengan menentukan 1 baaris di tabel yang disederhanakan ke setiap anggota kelompoknya.. 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 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 condition..
REDUCTION FLOW TABLE
(a,c,d) (b,e,f)
Y (0) a (1) b
DG 00 c,0 f,1
01 a,0 a,-
11 b,b,1
10 d,0 e,1
DG 00 a,0 b,1
01 a,0 a,-
11 b,b,1
10 a,0 b,1
Transition Table Y a=0 b=1
DG 00 0 1
01 0 0
11 1 1
10 0 1
11 1
10 0 1
Y=DG+YG Output Table Z Y 0 1
DG 00 0 1
Z=Y
01 0 -
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 berubah.. Pada rangkaian sekuensial dimana ada feedback feedback.. hazard dapat menyebabkan rangkaian sekuensial pergi ke state yang salah salah.. Hazard dapat dijelaskan menggunakan rangkaian dibawah ini ini.. Misalnya rangkaian dalam keadaan stabil total yX1X2 = 111 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 0 1
0
0 1
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 ini..
y 0 1
00 0 1
X1X2 01 11 0 1 0 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
1 1
X2
0
0
1
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