OUTPUT FORMING LOGIC (OFL) Chapter 4 OUTPUT FORMING LOGIC (OFL)
Untuk mendesain State machine dibutuhkan 3 bagian : Register Biner berikut Tabel Keadaan-nya Input Forming Logic Output Forming Logic Output Forming Logic yang sederhana. OFL adalah rangkaian elektronik yang men-generate sinyal kontrol yang merupakan output dari Controlled Binary Counter pada state machine.
Simple Output Forming Logic Ada 2 tipe sinyal primer yang dihasilkan oleh OFL yaitu: PULSA output dihasilkan oleh decoding nilai biner dari keadaan tunggal. SUSTAIN output LEVEL dihasilkan oleh setting dan resetting FF dengan pulsa dari titik2 yang berbeda pada hitungan urutan.
Output Forming Logic Design
Timing diagram dari State machine gb 4.2
Simple Output Forming Logic
State Transition Definition Bulatan 1 = State Beginning; bulatan 2 = End of State SB = State Beginning; DSB = Delay State Beginning; SE = State End
State Transition Definition Glitch dapat terjadi bila count sequence tidak glitch free dan ada perbedaan delay prop dari masing2 FF pada counter. Glitch akan nampak pada periode waktu yang singkat pada Low going transision dari clock. Digambarkan pada bulatan 3 Bila glitch yang terjadi tidak dapat ditolerer, kemungkinan edge tersebut harus diabaikan atau menggunakan alternate state timing atau teknik delay state timing untuk mengeliminasi glitch dari sinyal setelah meninggalkan state machine. Tiga tipe pulsa yang memungkinkan adalah. T,U dan V.
SB to SE Pulse Paling mudah di-generate Di-decode menggunakan AND gate Output aktif bila bila seluruh state ‘true’ Glitch dapat terjadi di titik SB
SB to DSB Pulse Mirip dengan pulsa SB-SE Pulsa ini ‘true’ pada saat setengah dari pulsa clock Perlu ditambahkan inverter pada clock dan masuk ke AND gate. Glitch dapat terjadi di titik SB
DSB to SE Pulse Pulsa ini sangat berguna dari pulsa2 yang dihasilkan oleh state machine. True state bit dan clock digabung masuk ke AND gate. Karena pulsa baru dimulai setelah setengah pulsa clock maka glitch sudah settle pada saat tsb.
Dari 3 tipe pulsa diatas, yang sangat mudah di-generate oleh state maschine, hanya 1 pulsa yang glitch free. Contoh2 yang lain ditunjukkan pada gambar 4.9 dengan label output: W,X,Y,Z
Beberapa contoh output signal W,X,Y,Z yang berasal dari sinyal clock T,U,V seperti sebelumnya.
DSB to DSE Pulse
SE to DSE Pulse
SE to DDSE Pulse
DSE to DDSE Pulse
A COMPLETE STATE MACHINE DESIGN Practical Example 4.1. Suatu counter – state machine terdiri dari : Input Forming Logic Binary register Output Forming Logic State machine diagram seperti pada gb 4.14 Yang harus dilakukan : Minimize persamaan logikanya, lakukan sampai dapat digambarkan rangkaian state machine ini.
Practical Example 4.2. Perhatikan soal pada Prac Example 4.1 dengan state diagram seperti Gb 4.14 Output Forming Logic akan dinyatakan sebagai OUT pada program. Penulisan program-nya : /* Practical Example 4.2 */ SEQUENCE [A,B,C] { PRESENT ‘b’ 000 IF !R NEXT ‘b’ 001 ; DEFAULT NEXT ‘b’ 100 ; PRESENT ‘b’ 001 NEXT ‘b’ 010 OUT W; PRESENT ‘b’ 010 NEXT ‘b’ 000 OUT X ; PRESENT ‘b’ 100 NEXT ‘b’ 101 OUT Y; PRESENT ‘b’ 101 NEXT ‘b’ 000 OUT Z; }
Practical Exercise 4.1 (unconditional OFL) Perhatikan state machine diagram seperti pada gb 4.17 Yang harus dilakukan : Gambarkan state-table dan state machine program Tentukan Input Forming Logic-nya (IFL) Register biner dan Output Forming Logic-nya (OFL)
TIMING DIAGRAM Timing Diagram merupakan bagian yang sangat berguna untuk dokumentasi suatu masalah. State machine dapat didefinisikan baik dengan state diagram, state table maupun timing diagram Ditunjukkan sesuai operasi state machine berdasarkan clock cycle
Practical Example 4.3.State machine Timing Diagram Perhatikan state machine diagram seperti pada gb 4.18. Sama seperti yang sebelumnya hanya ada superimpose pada state diagram yang ditandai dengan garis patah2, dimulai dari state a. Jadi urutannya adalah : a – b – e – a – c – d – a Variable pada counter : A,B,C dengan input R dan output :W,X,Y.Z
a – b – e – a – c – d – a
Timing Diagram Prac Example 4.3
Practical Exercise 4.2. Perhatikan state machine diagram seperti pada gb 4.17 seperti untuk Prac Ex-1 Yang harus dilakukan : Buatlah Timing Diagram
Practical Exercise 4.3 A Complete State machine Design Perhatikan state machine diagram seperti pada gb 4.20 Yang harus dilakukan : Tentukan State Value untuk implementasi sederhana Gambarkan Timing diagramnya Tuliskan state machine program-nya Kembangkan State tablenya dengan ps,ns,input dan output-nya Tentukan K-map-nya Gambarkan schematic diagram-nya
HANDLING MULTIPLE INPUTS Practical Example 4.4. HANDLING MULTIPLE INPUTS Perhatikan state machine diagram seperti pada gb 4.21 Yang harus dilakukan : Tentukan State untuk glitch free operation Gambarkan Timing diagramnya Tuliskan state machine program-nya Kembangkan State tablenya dengan ps,ns,input dan output-nya Tentukan K-map-nya untuk menentukan IFL Tentukan OFL-nya
Next State Map (Prac-Example 4.4) a-f-a-c-e-f-a-b-d-b-d-c-a-b-d-c-d-d
a-f-a-c-e-f-a-b-d-b-d-c-a-b-d-c-d-d Dimulai di 1 Diakhiri di 2
a = 010 d = 001 b = 000 e = 111 c = 011 f = 110 a = 010 d = 001 b = 000 e = 111 c = 011 f = 110
DA = AC + A’BC’S+A’BCST’ DB= A + A’BC’R + A’BC’S + A’BCS’ + A’BCT’ + B’CR’T + B’CRT’
DC= B’C’ +A’BC’RS’ +A’BCS + B’CR’ +B’CT’
W= DSB SE di A’BC’ dan A’BC
X= DSB DSE di A’BC dan ABC
Y= SE DSB di A’B’C dan ABC’
Z= DSB DSE di A’B’C’
Practical Exercise 4.4 Diberikan State diagram diatas, tentukan : Detail program State Machine Timing Diagram State Table Rangkaian minimum IFL dan OFL. Practical Exercise 4.4
Practical Exercise 4.5 Diberikan State diagram dibawah, tentukan : Detail program State Machine Timing Diagram State Table Rangkaian minimum IFL dan OFL. Exercise
UNCONDITIONAL OFL Men-generate sinyal output yang setiap saat menunjukkan keadaan spesifik yang dihadapi. Ditunjukkan dengan state diagram dimana output box langsung di-attach pada lingkaran state (lihat gb 4.37) Bila output box unconditional, logic level dinyatakan pada setiap state yang ada sesuai urutan. Contoh unconditional OFL statement pada program state machine sbb:
PRESENT ‘b’ 0000 NEXT ‘b’ 0001 OUT X; PRESENT ‘b’ 0001 OUT W; IF PRESENT ‘b’ 0000 NEXT ‘b’ 0001 OUT X; PRESENT ‘b’ 0001 OUT W; IF !R NEXT ‘b’ 0010; DEFAULT NEXT ‘b’ 0011; Figure 4.37 Unconditional OFL
Conditional OFL
Practical Example 4.5 Simple Soda Machine Controller Ada 2 macam pilihan Cola : Soda Cola dan diet cola Harga soda 50 sen Pecahan uang yang ada quarter (coin 25 sen) Dimungkinkan ada pembatalan (uang keluar). Pecahkan masalah mesin ini, buatlah suatu keadaan, proses serta keluaran yang dapat mewakili kerja daripada mesin ini.
State a : Initial State. Pembeli dapat melakukan 2 hal : Memasukkan coin 25 sen state menuju ke b Diam saja state tidak berubah State b : Ada uang 25 sen didalam mesin, pembeli dapat melakukan 3 hal : Diam/menunggu state tidak berubah Menekan tombol uang pembatalan state menuju ke d Memasukkan coin state menuju ke c
State c: Ada 2 coin 25 sen-an didalam mesin Pembeli dapat melakukan 4 hal : Diam State tidak berubah Menekan tombol pembatalan akan mengeluarkan uang, state menuju ke d Minta Coca Cola keluar Coca Cola dan state kembali ke a Minta Diet Cola keluar Coca Cola dan state kembali ke a iam
NA = No Activity Qi = quarter CR = Coin Return C = Coca Cola D = Diet Cola
Don’t care Condition : 3, 5, 6, 7. NA = No Activity Qi = quarter CR = Coin Return C = Coca Cola D = Diet Cola
Don’t care Condition : 3, 5, 6, 7.
Practical Exercise 4.6 Dengan menggunakan pendekatan yang sama pada Prac Example 4.5, desainlah suatu Mesin pengontrol Permen yang mempunyai batasan2 sbb : Input : NA ( No Activity) Press Coin Return Input Quarter Pilih Chewing Gum (harga 25 sen) Pilih Potato chip Pilih Chocolate bar Output:Uang Quarter, Chewing Gum , Potato chip, Chocolate bar
Practical Exercise 7 Dengan menggunakan pendekatan yang sama pada Prac Example 4.5, desainlah suatu Mesin pengontrol Permen yang mempunyai batasan2 seperti pada Prac Exersise 4.6 dengan tambahan2 sbb : Input : Dime (50 sen) Pilih Cheese Crackers ( harga 40 sen) Output: Dime, Nickel (10 sen) dan Cheese Crackers
Chapter 5
Gerbang CA0001 04 8/10/09 Endang Lab Digital - P16L8