CS2624 - COMPUTER
ORGANIZATION & ARCHITECTURE
(COA)
(COA)
Rangkaian Sekuensial
Rangkaian Sekuensial
Pokok Bahasan
Pokok Bahasan
⢠Pendahuluan
⢠Urutan Keadaan/State
⢠Sifat Rangkaian Sekuensial
Synchronous
ā Synchronous ā Asynchronous
⢠Model Rangkaian Sekuensial
ā Moore ā Mealy
⢠Finite State Machine (FSM)Finite State Machine (FSM)
⢠Sel Memori Dasar ⢠Flip-Flop (FF)
Pendahuluan
Pendahuluan
⢠Apa beda rangkaian Sekuensial dengan rangkaian
Kombinasional ?
ā Mempunyai memori (state)
ā Status sekarang (Present State = Qt) tidak hanya ditentukan oleh masukan (input) sekarang, tetapi juga oleh semua masukan ( p ) g p j g
sebelumnya (history)
ā Status yang akan datang (Next State = Qt+1) bergantung pada
masukan dan status sekarang
⢠Contoh rangkaian kombinasional: ALU, adder, decoder, MUX, dll ⢠Contoh rangkaian sekuensial: CPU, Flip-flop, manusia (kondisi
besok tidak hanya tergantung pada kondisi saat ini, tapi dipengaruhi oleh kondisi besok)
dipengaruhi oleh kondisi besok)
)) t ( Q ), t ( X ( F ) t ( Z ļ½ )) ( ) ( ( ) ( ļ« ) ( ( ), ( )) (t G X t Q t Q ļ« ļ½
Urutan Keadaan/State
Urutan Keadaan/State
Urutan naik (up) sederhana dalam biner yang menunjukkan Present State (PS) dan Next State (NS):
Urutan naik/turun (up/down) 2 arah dalam biner yang menunjukkan PS dan NS ditentukan oleh nilai X:
Urutan naik/turun (up/down) 2 arah ( ) dalam biner yang menghasilkan output X pada state 111 y g g (tanpa ( syarat):
Urutan naik/turun (up/down) 2 arah dalam biner yang menghasilkan output X pada state 111 jika
input = X (ada syaratnya):
20100328 #4
Sifat Rangkaian Sekuensial
Sifat Rangkaian Sekuensial
Sif t
⢠Sifat:
ā Sinkron:
⢠Berjalan secara serentak atau bersama-sama
⢠Clock-nya hanya satu (terpusat)
ā Asinkron:
⢠Berjalan sendiri-sendiri
j
⢠Desentralisasi
Desain
Synchronous
Desain
Synchronous
⢠Menggunakan Clock untuk meng-sinkronkan semua operasi
Flip-Flop (FF), register, dan counter pada sistem
Semua perubahan terjadi secara langsung mengikuti perubahan clock ā Semua perubahan terjadi secara langsung mengikuti perubahan clock ā Periode clock harus cukup sehingga semua perubahan FF, register,
dan counter memiliki waktu yang cukup untuk menstabilkan statusnya
sebelum clock berubah ke keadaan selanjutnya
⢠Typical design: Control section + Data Section
Prinsip Mendesain
Synchronous
Prinsip Mendesain
Synchronous
M t d
⢠Metoda
ā Semua input clock ke flip-flop, register, counter, dll,
digerakkan secara langsung dari clock sistem atau dari digerakkan secara langsung dari clock sistem atau dari
clock yang di-AND-kan dengan kontrol sinyal
⢠Hasil
Hasil
ā Semua state berubah secara langsung mengikuti
perubahan sinyal clock dalam keadaan active edgey
⢠Keuntungan
ā Semua switching transients, switching noise, dll. terdapat g g p
di antara clock pulse -> tidak saling mendahului ā Tidak memiliki efek terhadap performansi sistem
Desain
Asynchronous
Desain
Asynchronous
Kerugian ⢠Kerugian ā Lebih sulit ā Masalah⢠Race conditions: final state tergantung urutan perubahan variabel ⢠Dapat terjadi hazard
ā Diperlukan teknik khusus untuk mendesain agar kondisi race dan
h d t hi d i
hazard terhindari
⢠Keuntungan = kerugian dari desain synchronous
ā Pada desain high-speed synchronous delay propagasi pada wiringPada desain high speed synchronous delay propagasi pada wiring sangat signifikan
⢠Sinyal clock harus hati-hati di-rute-kan sehingga dapat menjangkau semua perangkat pada waktu yang sama
perangkat pada waktu yang sama
ā Input tidak sinkron dengan clock
⢠Perlu sinkronisasi
ā Dalam keadaan terburuk siklus clock didefinisikan oleh delay
Model Rangkaian Sekuensial
(1)
Urutan state:ļļ ļļ ļļ
Model rangkaiannya:ļļ ļļ ļļ
rangkaiannya:Model Rangkaian Sekuensial
(2)
Urutan state:ļļ ļļ ļļ
Model rangkaiannya:ļļ ļļ ļļ
rangkaiannya:Model:
ā¢Moore ā¢Mealy 20100328 #10 COA/Endro Ariyanto/Model Rangkaian Sekuensial
Moore
(1)
⢠Output hanya tergantung Present State (PS)
PS = Present State PS = Present State NS = Next State IP = Input OP = Output OP = Output ā¢PS ditentukan oleh NS
ā¢NS ditentukan oleh Input dan PSNS ditentukan oleh Input dan PS
Model Rangkaian Sekuensial
Moore
(2)
Urutan state:ļļ ļļ ļļ
Model rangkaiannya:ļļ ļļ ļļ
rangkaiannya: 20100328 #12 COA/Endro Ariyanto/Model Rangkaian Sekuensial
Moore
(2)
Model Rangkaian Sekuensial
Moore
(2)
Output(Z) Combinational Network Inputs(X) Combinational Network State Register = Next State State(Q) Clock Network Register FF
⢠Next State dan Output diimplementasikan dengan rangkaian kombinasional
⢠Memory diimplementasikan dengan state register (misal Flip-flop)
X = x1 x2... xn Q = Q1 Q2... Qk )) t ( Q ( F ) t ( Z )) t ( Q ), t ( X ( G ) t ( Q ļ« ļ½ Z = z1 z2... zm Z ( t ) ļ½ F ( Q ( t ))
Model Rangkaian Sekuensial
Mealy
(1)
ā¢PS ditentukan oleh NS
ā¢NS ditentukan oleh Input dan PSNS ditentukan oleh Input dan PS
ā¢Output ditentukan oleh Input dan PS
20100328 #14
Model Rangkaian Sekuensial
Mealy
(2)
Urutan state:ļļ ļļ ļļ
Model rangkaiannya:ļļ ļļ ļļ
rangkaiannya:Model Rangkaian Sekuensial
Mealy
(3)
Model Rangkaian Sekuensial
Mealy
(3)
(1) X input diubah ke nilai yang baru
(2) Setelah dela Z o tp t dan ne t state tampil sebagai o tp t di CN (2) Setelah delay, Z output dan next state tampil sebagai output di CN (3) Next State dihubungkan sebagai state register dan perubahan state
Cara untuk menggambarkan
State
Cara untuk menggambarkan
State
D
Fi it St t M
hi
(FSM)
ā Dengan Finite State Machine (FSM)
⢠Jumlah state harus
berhingga/terbatas
(2
hingga 2
N)
hingga 2
N)
⢠Seperti Data Flow Diagram (DFD)
ā Dengan Algorithmic State Machine (ASM)
S
ti Fl
h t
Finite State Machine (FSM)
(1)
Finite State Machine (FSM)
(1)
⢠Representasi FSM:
ā Dengan Diagram Keadaan
g
g
ā Dengan Tabel Transisi Keadaan
Dengan Hardware Description Language
ā Dengan Hardware Description Language
⢠VHDL V il ⢠Verilog ⢠ABEL
Finite State Machine
(2)
ā¢Notasi pada Diagram Keadaan: Terdapat 4 state (d, e, f, g)
Input/state map
untuk state e:
Finite State Machine
(3)
Contoh Diagram Keadaan dengan FSM: Contoh Hardware
Description Program: Description Program:
Urut-Urutan
TabelĀ
UraianĀ TabelĀ
DiagramĀ
FungsiĀ
Operasi
Operasi
Keadaan
Boolean
Tabel
TabelĀ
Transisi
Sel Memori Dasar dengan
Set Dominant
(1)Sel Memori Dasar dengan
Set-Dominant
(1)K S t (S)
⢠Konsep Set (S):
Wire loop dengan delay
d 2 b h i t
Salah satu inverter di ti d
Tabel k b
dan 2 buah inverter diganti dengan
pengganti NAND untuk membuat input Set kebenaran gambar b input Set 20100328 #22 COA/Endro Ariyanto/
Sel Memori Dasar dengan
Set Dominant
(2) K S t (S) d R t (R)Sel Memori Dasar dengan
Set-Dominant
(2)⢠Konsep Set (S) dan Reset (R):
Tabel operasi:
⢠Inverter pada konsep Set diganti dengan NAND sehingga dihasilkan input untuk ⢠Inverter pada konsep Set diganti dengan NAND, sehingga dihasilkan input untuk
Reset
⢠Kondisi Reset (Reset saja) = SāR
⢠Kondisi Reset Hold (reset dan hold) = SāRā + SāR = Sā ⢠Kondisi Reset Hold (reset dan hold) = S R + S R = S ⢠Kondisi Set (set saja) = SRā+SR = S
Sel Memori Dasar dengan
Set Dominant
(3)⢠Konsep Set (S) dan Reset (R):
Sel Memori Dasar dengan
Set-Dominant
(3)Reset Hold
Diagram keadaan:
Tabel transisi:
Simbol sel memori:
Reset state R t Reset Set Set state
State diagram Pengembangan Timing diagram Set Hold g berdasarkan uraian tabel operasi Timing diagram g g state diagram 20100328 #24 COA/Endro Ariyanto/
Sel Memori Dasar dengan
Reset Dominant
(1) K S t (S) d R t (R)Sel Memori Dasar dengan
Reset-Dominant
(1)⢠Konsep Set (S) dan Reset (R):
Tabel operasi:
⢠Inverter pada konsep Set diganti dengan NOR dan substitusinya ⢠Inverter pada konsep Set diganti dengan NOR dan substitusinya ⢠Kondisi Reset (Reset saja) = SāR + SR = R
⢠Kondisi Reset Hold (reset dan hold) = R + SāRā = R+Sā K di i S t ( t j ) SRā
Sel Memori Dasar dengan
Reset Dominant
(2)⢠Konsep Set (S) dan Reset (R):
Sel Memori Dasar dengan
Reset-Dominant
(2)Reset Hold
Diagram keadaan:
Tabel transisi:
Simbol sel memori:
Reset state R t Reset Set Set state
State diagram Pengembangan Timing diagram Set Hold g berdasarkan uraian tabel operasi Timing diagram g g state diagram 20100328 #26 COA/Endro Ariyanto/
Gabungan Sel Memori Dasar dengan
Set
dan Reset-Dominant
(1)Gabungan Sel Memori Dasar dengan
Set
dan Reset-Dominant
(2)⢠Rangkaian mix-logic berdasarkan Set-dominantRangkaian mix logic berdasarkan Set dominant
⢠Rangkaian mix-logic berdasarkan Reset-dominantRangkaian mix logic berdasarkan Reset dominant
20100328 #28
Ringkasan Kondisi State
Ringkasan Kondisi State
⢠Macam-macam kondisi: Set, Reset, Hold, Toggle disebut juga Set Hold
Qt ļ Qt+1 (Qt = Present State; Qt+1 = Next State)
Set (1): 0 ļ 1 ļ Next State selalu 1
j g
1 ļ 1
Reset (0): 0 ļ 0 ļ Next State selalu 0
1 ļ 0
Hold (Qt): 0 ļ 0 ļ Next State = Present State = Tetap
disebut juga Reset Hold
1 ļ 1
Toggle (Qtā): 0 ļ 1 ļ Next State selalu berlawanan
Flip Flop
(1)
Flip-Flop
(1)
Fli Fl d l h l i 1 bit (d i ) i k
⢠Flip-Flop adalah elemen memori 1 bit (device) asinkron yang mempunyai keluaran (output) berurutan (sekuensial) yang dikontrol oleh clock
⢠Flip-flop biasanya digunakan sebagai penyimpan data ⢠Jenis-jenis flip-flop:
h l
d l
j p p ā D-FF ā T-FF JK FF3Ā halĀ pentingĀ dalamĀ
perancanganĀ Flipāflop:
ā JK-FF ā SR-FF ⢠TabelĀ operasi⢠Tabel transisiTabelĀ transisi
⢠Diagram keadaan
20100328 #30
Flip Flop
(2)
⢠Mekanisme
Clock Triggering:
Flip-Flop
(2)
ā Pulse Triggering
⢠Data berubah setelah terjadi perubahan 2x (dari low ke high dan dari high
ke low, atau sebaliknya)
ā Edge TriggeringEdge Triggering
⢠Data berubah setelah terjadi perubahan 1x (dari low ke high atau dari high
Flip-Flop
(3)
Flip Flop
(5)
Flip-Flop
(5)
Hi ki fli fl
⢠Hirarki perancangan flip-flop:
āDDĀ flipāflopĀ adalahĀ dasarĀ dariĀ semuaĀ flipāp flop āJKĀ flipāflopĀ adalahĀ generalĀ flipāflopĀ karenaĀ dapatĀ digunakanĀ untukĀ membentuk flip flop membentukĀ flipāflopĀ yangĀ lain
20100328 #34
Flip-Flop D
(1)
AdaĀ 3Ā macamĀ DāFF: ⢠D latch FF UraianĀ tabelĀ operasi: TabelĀ operasi: ⢠DālatchĀ FF ⢠EdgeĀ TrigerredĀ (ET)Ā DāFF M t Sl (MS) D FF p ⢠KondisiĀ ResetĀ =Ā Dā ⢠KondisiĀ SetĀ =Ā D ⢠MasterāSlaveĀ (MS)Ā DāFF DiagramĀ keadaan: Tabel transisi: TabelĀ transisi:Flip-Flop D
(2)
Diagram keadaan menjadi:
⢠PulseĀ triggeringĀ DāFF:
⢠Perubahan state terjadi jika clock j j (CK) aktif
⢠Jika CK tidak aktif, maka statusnya tetap
Tabel transisi menjadi
tetap
Tabel transisi menjadi:
Simbol D-FF:
20100328 #36
Flip-Flop D
(3)
Buatlah D-FF dengan Sel Memori Dasar (SR-FF) !
Tabel transisi sel memori Tabel transisi sel memori SR-FF:
Tabel transisi D-FF:
( k dib t) (yang akan dibuat)
Flip-Flop D
(4)
D-FF dibentuk dari sel memori dasar:
Si b l Simbol NS N t St t NS = Next State 20100328 #38 COA/Endro Ariyanto/
Flip-Flop T (Toggle)
(1)
UraianĀ tabelĀ operasi: K di i H ld Tā TabelĀ operasi: ⢠KondisiĀ HoldĀ =Ā Tā ⢠KondisiĀ ToggleĀ =Ā T DiagramĀ keadaan: Tabel transisi: TabelĀ transisi:Flip-Flop T
(2)
Diagram keadaan menjadi:
⢠PulseĀ triggeringĀ TāFF:
⢠Perubahan state terjadi jika clock j j (CK) aktif
⢠Jika CK tidak aktif, maka statusnya tetap
Tabel transisi menjadi
tetap
Tabel transisi menjadi:
20100328 #40
Flip-Flop T
(3)
Buatlah T-FF dengan Sel Memori Dasar (SR-FF) !
Tabel transisi sel memori Tabel transisi sel memori SR-FF:
Tabel transisi T-FF:
( k dib t) (yang akan dibuat)
Flip-Flop T
(4)
T-FF dibentuk dari sel memori dasar:
Si b l Simbol NS N t St t NS = Next State 20100328 #42 COA/Endro Ariyanto/
Flip-Flop JK
(1)
UraianĀ tabelĀ operasi:
⢠KondisiĀ ResetĀ HoldĀ =Ā JāKĀ +Ā JāKāĀ =Ā Jā ⢠Kondisi Set Hold = JKā + JāKā = Kā
TabelĀ operasi: KondisiĀ SetĀ HoldĀ Ā JK Ā +Ā J K Ā Ā K ⢠KondisiĀ ResetĀ ToggleĀ =Ā JāKĀ +Ā JKĀ =Ā K ⢠KondisiĀ SetĀ ToggleĀ =Ā JKāĀ +Ā JKĀ =Ā J DiagramĀ keadaan: Tabel transisi: TabelĀ transisi:
Flip-Flop JK
(2)
Diagram keadaan menjadi:
⢠PulseĀ triggeringĀ JKāFF:
⢠Perubahan state terjadi jika clock j j (CK) aktif
⢠Jika CK tidak aktif, maka statusnya tetap
Tabel transisi menjadi
tetap
Tabel transisi menjadi:
20100328 #44
Flip-Flop JK
(3)
Buatlah JK-FF dengan Sel Memori Dasar (SR-FF) !
Tabel transisi sel memori Tabel transisi sel memori SR-FF:
Tabel transisi JK-FF:
( k dib t) (yang akan dibuat)
Flip-Flop JK
(4)
JK-FF dibentuk dari sel memori dasar:
Si b l Simbol