80651930-rangkaian-sekuensial

20

Click here to load reader

Transcript of 80651930-rangkaian-sekuensial

Page 1: 80651930-rangkaian-sekuensial

BAB 4

RANGKAIAN LOGIKADIGITAL SEKUENSIAL

Telah kita pelajari tentang unit logika kombinasional yang keluarannya hanyatergantung pada masukan saat itu atau dengan kata lain keluarannya meru-pakan fungsi dari masukan saja. Unit logika sekuensial atau sering disebutsebagai mesin keadaan berhingga (finite state machine, FSM), keluaran-nya bergantung pada masukan dan keluaran sebelumnya. FSM dibedakandengan CLU karena selain menghasilkan keluaran juga menghasilkan keadaan(state). Hal ini penting untuk implementasi rangkaian memori dan juga unitkendali pada komputer.

Model klasik dari FSM tampak pada Gambar 4.1. Bagian CLU memilikimasukan dari jalur i0 − ik yang berasal dari luara FSM dan juga masukankeadaan s0 − sn yang berasal dari dalam FSM sendiri. CLU menghasilkanbit keluaran f0 − fm dan bit keadaan terbaru. Dengan adanya elemen tundamaka keadaan sekarang bertahan terus sampai ada sinyal sinkronisasi yangmenyebabkan nilai Di menggantikan nilai si sebagai bit keadaan baru, karenadiambil dari Qi.

4.1 Flip-Flop S-R

Flip-flop adalah susunan gerbang logika yang menjaga keluaran tetap sta-bil walaupun masukan sudah tidak aktif. Keluaran flip-flop ditentukan olehnilai masukan dan juga nilai keluaran sebelumnya, sehingga unit logika kom-binasional tidak cukup untuk menangani hal ini. Flip-flop dapat digunakanuntuk menyimpan informasi bit tunggal, dan berlaku sebagai pembangunmemori komputer.

Jika kedua masukan pada gerbang NOR dua masukan bernilai 1, maka

67

Page 2: 80651930-rangkaian-sekuensial

68 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Unit logikakombinasional

Q

Q

D

CK

Q

Q

D

CK

i0Input

...in

...

f0Output

...f1

...

SinyalSinkronisasi

Gambar 4.1: Model klasik dari FSM

keluarannya akan 0, selain itu keluarannya akan 1. Seperti dibahas padabab sebelumnya, waktu yang diperlukan untuk menghasilkan keluaran darimasukan gerbang logika tidaklah seketika tetapi sebesar ∆τ yang merupakanwaktu perambatan melalui gerbang logika. Waktu tunda ini kadang-kadangdimunculkan sebagai rangkaian tunda untuk keperluan analisis seperti Gam-bar 4.2. Waktu tunda ini secara normal tidak dimunculkan tetapi tetap ada.

AB ∆τ A + B

∆τ

Gambar 4.2: Gerbang NOR dengan rangkaian tunda

Waktu perambatan melalui gerbang NOR mempengaruhi operasi flip-flop. Perhatikan flip-flop set-reset (S-R) pada Gambar 4.3, yang berisi ger-bang NOR yang saling silang. Jika kita isikan 1 pad S, maka Q akan bernilai 0setelah waktu tunda ∆τ , yang menyebabkan Q bernilai 1 (dianggap R berni-lai 0) setelah waktu tunda 2∆τ . Akibatnya adalah selama penggalan waktu

Yohanes Suyanto

Page 3: 80651930-rangkaian-sekuensial

4.2. Flip-flop S-R Berdetak 69

tertentu ada waktu singkat sebesar ∆τ yang Q dan Q bernilai 0, yang secaralogis tidak dibenarkan, tetapi kondisi ini dapat diperbaiki dengan konfigurasituan-hamba (master-slave) yang akan kita bahas nanti. Jika kemudian Sdiisi dengan 0, maka Q tetap, sampai nilai R beranjak menjadi 1. Dengandemikian flip-flop S-R dapat menyimpan nilai bit tunggal dan dapat berlakusebagai elemen memori paling dasar.

S

R

Q

Q

QiSiRi

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Qi+1

001

(dilarang)

101

(dilarang) ∆τ

Gambar 4.3: Flip-flop S-R dengan NOR

Ada banyak cara untuk menyusun rangkaian sebuah flip-flop S-R. Peng-gunaan gerbang NOR yang saling silang untuk flip-flop S-R adalah hanyasalah satu cara. Dua gerbang NAND yang dihubungkan saling silang juga da-pat menghasilkan flip-flop S-R, dengan nilai S = R = 1 mengakibatkan kelu-aran tidak berubah. Dengan menggunakan teorema DeMorgan kita dapatmengubah gerbang NOR dalam flip-flop S-R menjadi gerbang AND sepertidalam Gambar 4.4. Dengan penggeseran gelembung, maka gerbang ANDdapat diubah menjadi gerbang NAND. Penggeseran gelembung pada S danR mengakibatkan pertukaran label S dan R.

S

R

Q

Q

S

R

Q

Q

S

R

Q

Q

R

S

Q

Q

≡ ≡ ≡

Gambar 4.4: Flip-flop S-R dengan NAND

4.2 Flip-flop S-R Berdetak

Perlu diketahui bahwa masukan ke flip-flop S-R dapat berasal dari keluaranrangkaian lain, dalam bentuk rangkaian logika berjenjang. Hal ini biasa ter-

Yohanes Suyanto

Page 4: 80651930-rangkaian-sekuensial

70 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

jadi pada rangkaian logika konvensional. Masalahnya adalah transisi dapatterjadi pada waktu yang tidak diinginkan.

Perhatikan rangkaian pada Gambar 4.5. Jika sinyal A, B, dan C se-muanya berubah dari keadaan 0 menjadi 1, maka sinyal C akan mencapaigerbang XOR sebelum A dan B keluar dari gerbang AND. Akibatnya nilai Sakan 1 walaupun sebentar sampai keluaran dari gerbang AND sudah mantapdan dioperasian XOR dengan C. Jika nilai 1 pada S bertahan cukup lamamaka akan mengakibatkan nilai yang tersimpan dalam flip-flop bisa berubah.

R

Q

Q

C

AB

S

A

B

C

AB

S

R

Q

Q

Diagram waktu

Gambar 4.5: Rangkaian yang mengandung hazard

Jika keadaan akhir dari flip-flop sensitif terhadap kedatangan sinyal makadapat menimbulkan glitch, yang sebenarnya merupakan keadaan atau keluranyang tidak diinginkan. Rangkaian yang dapat menghasilkan glitch disebutrangkaian yang mengandung hazard.

Untuk menyelaraskan pengendalian terhadap rangkaian yang tergantungpada keadaan (misalnya flip-flop) maka digunakanlah detak (clock) yangakan mengaktifkan rangkaian dalam selang waktu tertentu secara serentak.Rangkaian detak menghasilkan sinyal 1 dan 0 bergantian terus menerusdengan periode waktu yang tetap sehingga membentuk gelombang kotakseperti Gambar 4.6. Waktu yang diperlukan detak untuk naik, turun dankemudian mulai naik lagi disebut waktu siklus atau periode. Gelombangkotak yang ditampilkan pada gambar tersebut adalah bentuk gelombang de-tak ideal. Dalam kenyataannya, gelombang tersebut tidak berbentuk persegi

Yohanes Suyanto

Page 5: 80651930-rangkaian-sekuensial

4.3. Flip-flop D dan konfigurasi tuan-hamba 71

tetapi membulat karena perlu waktu untuk menjadi tinggi dan rendah, tidakberlangsung seketika.

Waktu

periode = 25ns

Amplitudo

Gambar 4.6: Detak yang berupa gelombang kotak

Kecepatan detak berkebalikan dengan waktu siklus. Untuk waktu siklussebesar 25 ns/siklus berarti kecepatannya adalah 1/25 siklus/ns, yang samadengan 40.000.000 siklus per detik atau 40 MHz.

Kita dapat menggunakan sinyal detak untuk menghilangkan hazard de-ngan membuat flip-flop S-R berdetak, yang dapat dilihat pada Gambar refg-brffsrdetak. Simbol CLK berarti clock atau detak. Sekarang S dan R tidakdapat mengubah keadaan hingga detak bernilai tinggi. Dengan demikian Sdan R dibuat mantap dahulu pada posisi detak rendah, baru kemudian detakmenjadi tinggi dan nilai yang stabil akan tersimpan dalam flip-flop.

Q

Q

S

R

CLK

2∆τDiagram waktu

S

R

CLK

Q

Q

Gambar 4.7: Flip-flop S-R berdetak

4.3 Flip-flop D dan konfigurasi tuan-hamba

Kelemahan dari flip-flop S-R adalah bahwa untuk menyimpan nilai 1 atau0, kita harus mengisi 1 pada S atau R. Konfigurasi alternatif untuk meny-impan nilai 1 atau 0 adalah dengan menggunakan flip-flop D seperti pada

Yohanes Suyanto

Page 6: 80651930-rangkaian-sekuensial

72 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Gambar 4.8. Flip-flop D disusun dari flip-flop yang dipasangi pembalik an-tara masukan S dan R. Dengan demikian ketika detak bergerak naik, makanilai pada jalur D akan disimpan.

Q

Q

D

CLK

Rangkaian

Q

Q

D

CK

Simbol

2∆τDiagram waktu

D

CLK

Q

Q

Gambar 4.8: Flip-flop D. Simbol C menunjukkan clock atau detak.

Flip-flop biasa digunakan pada rangkaian yang mempunyai umpan ba-lik dari keluaran kembali ke jalur masukan melalui rangkaian lain. Halini kadang-kadang menyebabkan keadaan flip-flop berubah lebih dari sekalidalam satu siklus detak. Untuk memastikan bahwa dalam satu siklus hanyaterjadi 1 perubahan keadaan pada flip-flop, kita cegat kalang umpan balikdengan membentuk flip-flop tuan-hamba seperti Gambar 4.9.

Q

Q

D

CK

Q

Q

D

CK

Q

Q

D

CK

D

CLK

Gambar 4.9: Flip-flop tuan-hamba

Flip-flop tuan-hamba berisi 2 flip-flop yang disusun berurutan dengan

Yohanes Suyanto

Page 7: 80651930-rangkaian-sekuensial

4.4. Flip-flop JK dan T 73

detak untuk flip-flop kedua dipasang pembalik. Flip-flop tuan akan berubahsaat detak tinggi, tetapi flip-flop hamba tidak berubah sampai detak ren-dah. Dengan demikian diperlukan detak naik kemudian turun untuk me-mindahkan isi jalur D pada flip-flop tuan ke keluaran Qs pada flip-flophamba. Simbol segitiga pada flip-flop tuan-hamba menunjukkan bahwa pe-rubahan keadaan hanya terjadi pada saat detak berubah naik ( dari 0 ke1) atau turun (dari 1 ke 0). Untuk konfigurasi seperti Gambar 4.9 berlakubahwa perubahan terjadi saat detak turun (dari 1 ke 0).

Flip-flop picuan level keadaan berubah terus-menerus selama detka berni-lai tinggi (atau rendah tergantung desain flip-flop). Flip-flop picuan tepiberubah hanya saat terjadi perubahan detak dari tinggi-ke-rendah atau darirendah-ke-tinggi. Beberapa buku tidak memasang simbol segitiga pada ma-sukan detak. Untuk membedakan antara flip-flop picuan level atau picuantepi digunakan cara lain. Penggunaan simbol segitiga membuat tipe flip-flopmenjadi jelas.

4.4 Flip-flop JK dan T

Selain flip-flop S-R dan D, flip-flop J-K juga termasuk flip-flop yang cukupterkenal. Flip-flop J-K mempunyai kelakuan yang mirip dengan flip-flop S-Rkecuali bahwa flip-flop ini akan mempunyai keluaran Q=1 untuk J=1 danK=0. Saat J=0 dan K=1 maka keluarannya Q=0. Jika J dan K bernilai1, maka nilai keluaran akan berkebalika dengan nilai keluaran sebelumnya.Namun untuk J dan K sama-sama bernilai 0, keluaran akan tetap. Diagramlogika dan simbol untuk flip-flop J-K dan T terlihat pada Gambar 4.10 dan4.11

Q

Q

J

CLK

K

Rangkaian

Q

Q

J

K

CK

Simbol

Gambar 4.10: Flip-flop J-K dan simbolnya

Permasalahan pada saat dioperasikan dalam mode bergantian maka jika Jdan K keduanya bernilai tinggi dan detak juga tinggi, flip-flop dapat bergan-tian nilainya lebih dari satu kali sampau detak menjadi rendah. Situasi ini

Yohanes Suyanto

Page 8: 80651930-rangkaian-sekuensial

74 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Q

Q

J

K

CK

Q

Q

T1

T

Gambar 4.11: Flip-flop T dan simbolnya

merupakan salah satu alasan penggunaan konfigurasi tuan-hamba. Diagramskematik untuk flip-flop J-K tuan-hamba, terlihat pada Gambar 4.12.

J

CLK

K

Rangkaian

Q

Q

Q

Q

J

KCK

Simbol

Gambar 4.12: Flip-flop J-K tuan-hamba dan simbolnya

4.5 Desain Mesin Keadaan Berhingga

Kita lihat lagi model klasik mesin keadaan berhingga atau finite state ma-chine (FSM) pada Gambar 4.1. Elemen penunda dapat diimplementasi de-ngan flip-flop tuan-hamba dan sinyal sinkronikasi dengan detak. Umumnya,untuk implementasi umpan balik digunakan flip-flop. Perlu diketahui bahwakita dapat melabeli flip-flop menurut kemauan kita, asal artinya jelas. PadaGambar 4.1 posisi masukan Di dan keluaran Qi saling dipertukarkan dariposisi normal yang kita bahas sebelumnya.

Misalnya, FSM pencacah sinkron modulo 4 mencacah dari 00 hingga 11dan berulang lagi. Diagram blok FSM pencacah sinkron ditunjukkan padaGambar 4.13. Fungsi RESET (logika positif) mengakibatkan nilai keluaranq0q1 adalah 00 jika diaktifkan. Keluaran akan berurutan sesuai nilai padajalur q0 dan q1 pada waktu yang bersesuaian dengan detak. Setiap nilai barukeluaran muncul, maka nilai umpan balik s0s1 juga berubah.

Kita perhatikan bahwa desain pencacah dapat dilakukan dengan mendaf-tar semua kemungkinan masukan dan keluaran yang terjadi pada 4 jalur q1q0

dan keadaan s1s0. Berdasarkan daftar tersebut kemudian dibuat rangkaianlogika kombinasional yang merupakan implementasi pencacah. Dua flip-flopdigunakan untuk mecatat bit keadaan.

Yohanes Suyanto

Page 9: 80651930-rangkaian-sekuensial

4.5. Desain Mesin Keadaan Berhingga 75

PencacahSinkron3-bit

Reset0 0 0 1 q0 0 1 0 0q1 0 1 0 1s0 Q

Q

D

CKs1 Q

Q

D

CKCLK

Gambar 4.13: Pencacah modulo 4

Bagaimana kita tahu bahwa dibutuhkan 2 bit sebagai pencacat keadaanuntuk umpan balik? Kenyataannya adalah bahwa kita tidak tahu dari awaljumlah bit yang dibutuhkan untuk mencatat keadaan, sehingga untuk ba-hasan berikutnya kita akan melihat pendekatan yang lebih umum dalamperancangan mesin keadaan berhingga. Untuk pencacah kita dapat mu-lai dari penyusunan diagram transisi keadaan seperti Gambar 4.14 dengankeadaan A sampai dengan D dan garis berarah menunjukkan transisi. Dalamkasus ini keadaan A untuk nilai pencacah 00, B untuk 01, C untuk 10, danD untuk 11.

A B

C D

1/00

0/01

1/00

0/10

0/00, 1/00

1/00

0/11

Gambar 4.14: Diagram transisi keadaan pencacah modulo 4

Misalnya, FSM diinisialisasi pada keadaan A. Ada 2 kemungkinan ma-sukan yaitu: 0 dan 1. Jika masukan (RESET) bernilai 0, maka FSM akanberpindah ke keadaan B dan menghasilkan keluaran 01. Jika RESET bernilai1, FSM tetap pada keadaan A dan menghasilkan keluaran 00. Mirip denganini, jika FSM di keadaan B, akan berpindah ke keadaan C dengan keluaran10 jika RESET 0, jika tidak akan kembali ke keadaan A dengan keluaran00. Demikian juga untuk keadaan yang lain, dapat diinterpretasikan dengan

Yohanes Suyanto

Page 10: 80651930-rangkaian-sekuensial

76 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

cara yang sama.Sekali kita berhasil membuat diagram transisi keadaan, kita dapat

menulisnya dalam bentuk tabel keadaan seperti Gambar 4.15. Keadaansekarang terlihat di bagian kiri, dan kondisi masukan ada di bagian atas.Isi tabel adalah pasangan keadaan/keluaran berikutnya yang diambil lang-sung dari diagram transisi keadaan pada Gambar 4.14. Ambil salah satu barimisalnya keadaan sekarang B dan masukan kondisi adalah 0, maka keadaanberikutnya adalah C dan keluaran berikutnya adalah 10.

Masukan RESETKeadaansekarang 0 1

A B/01 A/00B C/10 A/00C D/11 A/00D A/00 A/00

Gambar 4.15: Tabel keadaan untuk pencacah modulo-4

Setelah kita membuat tabel keadaan, kita tentukan nilai biner untuk se-tiap keadaan. Karena ada 4 keadaan, kita membutuhkan paling tidak 2 bituntuk mengkodekan keadaan menjadi biner secara unik. Kita tentukan sajapengkodeannya: A = 00, B = 01, C = 10, dan D = 11, dan menggantisetiap label A, B, C, dan D dengan kode keadaannya, seperti pada Gam-bar 4.16. Dalam praktiknya, penetapan kode keadaan ini akan berpengaruhterhadap bentuk rangkaian akhir, namun secara logika pengkodean ini men-gakibatkan hasil akhir yang sama.

Masukan RESETKeadaansekarang 0 1

A:00 01/01 00/00B:01 10/10 00/00C:10 11/11 00/00D:11 00/00 00/00

Gambar 4.16: Tabel keadaan untuk pencacah modulo-4 dengan pengkodean-nya

Dari tabel keadaan, dapat dihasilkan tabel kebenaran untuk keadaan

Yohanes Suyanto

Page 11: 80651930-rangkaian-sekuensial

4.6. Contoh: Detektor Urutan 77

berikutnya dan fungsi keluaran seperti pada Gambar 4.17. Subskrip un-tuk variabel keadaan menunjukkan waktu. Keadaan sekarang ditulis de-ngan st dan keadaan berikutnya ditulis dengan st+1. Biasanya subskripini diabaikan dengan pengertian bahwa ruas kanan dari persamaan memuatkeadaan sekarang dan ruas kiri memuat keadaan berikutnya. Perlu dicatatbahwa s0(t+1) = q0(t+1) dan s1(t+1) = q1(t+1), sehingga cukup diimple-mentasikan s0(t + 1) dan s1(t + 1) saja sedang q0(t + 1) dan q1(t + 1) dapatdiambil langsung padanya.

RESET

r(t) s1(t) s0(t) s1s0(t + 1) q1q0(t + 1)

0 0 0 01 010 0 1 10 100 1 0 11 110 1 1 00 001 0 0 00 001 0 1 00 001 1 0 00 001 1 1 00 00

s0(t + 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

s1(t + 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

q0(t + 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

q1(t + 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

Gambar 4.17: Tabel kebenaran untuk keadaan berikutnya dan fungsi kelu-aran pencacah modulo-4

Akhirnya, kita implementasikan keadaan berikutnya dan fungsi keluarandengan menggunakan gerbang logika dan flip-flop D tuan-hamba untuk vari-abel keadaan seperti pada Gambar 4.18.

4.6 Contoh: Detektor Urutan

Contoh lain, kita akan merancang mesin yang mengeluarkan nilai 1 saat 2dari 3 masukan terakhir bernilai 1. Contohnya, masukan dengan urutan011011100 mengeluarkan hasil dengan urutan 001111010. Ada satu jalurmasukan seri dan kita asumsikan bahwa pada awalnya tidak ada masukan.Untuk kasus ini, kita akan menggunakan flip-flop D dan MUX 8-ke-1.

Yohanes Suyanto

Page 12: 80651930-rangkaian-sekuensial

78 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Reset

q1

q0

Q

Q

D

CK

Q

Q

D

CK

CLK

Gambar 4.18: Desain logika untuk pencacah modulo-4

Kita mulai dengan menyusun diagram transisi keadaan, seperti padaGambar 4.19. Ada 8 kemungkinan urutan 3 bit yang masuk ke dalam mesin:000, 001, 010, 011, 100, 101, 110, dan 111. Keadaan A adalah keadaan awal,yang kita asumsikan belum ada data yang masuk. Pada keadaan B dan Cbaru masuk 1 bit data sehingga keluarannya 0. Keadaan D, E, F, dan G pal-ing tidak menerima 2 bit masukan kalau keadaan sebelumnya adalah B atauC. Setelah masuk pada keadaan D, E, F, atau G maka sistem akan berkutatdi keadaan ini saja. Keadaan D akan dikunjungi saat dua masukan terakhirbernilai 00. Keadaan E, F, dan G dikunjungi jika dua masukan terakhiradalah 01, 10, dan 11.

Langkah berikutnya adalah membuat tabel keadaan seperti tertera padaGambar 4.20, yang dituangkan dari diagram transisi keadaan. Selanjut-nya, kita akan membuat penetapan kode keadaan seperti Gambar 4.21a.Berdasarkan penetapan kode keadaan kita dapat membuat tabel kebenaranuntuk keadaan berikutnya dan fungsi keluaran. Lihat Gambar 4.21b. Duabaris terakhir pada tabel berisi keadaan 111, yang dalam praktiknya tidakakan pernah muncul, karena keadaan 111 untuk kasus ini tidak ada. Dengandemikian keadaan berikutnya dan keluaran pada 2 baris tersebut tidak perludiperhatikan, dan ditulis sebagai ’d’ yang berarti don’t care, abaikan saja.

Akhirnya, kita susun rangkaiannya seperti Gambar 4.22. Perlu 1 flip-flopuntuk setiap variabel keadaan, sehingga seluruhnya perlu 3 flip-flop. Ada 3fungsi keadaan berikutnyadan 1 fungsi keluaran, sehingga kita membutuhkan4 MUX. Pemilihan s2, s1, dan s0 sebagai pengendali MUX merupakan pilihanbegitu saja. Pilihan kombinasi lain juga dapat digunakan.

Yohanes Suyanto

Page 13: 80651930-rangkaian-sekuensial

4.7. Contoh: Pengendali mesin penjualan 79

A

B

D

E

C

F

G

0/0

1/0

0/0

1/0

1/0

0/0

0/0

1/0

1/0

0/1

0/0

1/1

0/01/1

Gambar 4.19: Diagram transisi keadaan untuk detektor urutan

Masukan xKeadaansekarang

0 1

A B/0 C/0B D/0 E/0C F/0 G/0D D/0 E/0E F/0 G/1F D/0 E/1G F/1 G/0

Gambar 4.20: Tabel keadaan detektor urutan

4.7 Contoh: Pengendali mesin penjualan

Kita akan merancang pengendali mesin penjualan menggunakan flip-flop dan’kotak hitam’ yang mewakili PLA seperti pada Gambar 4.23. Mesin pen-jualan menerima tiga macam koin Rp 100, Rp 200, dan Rp 500. Jika nilaiyang dimasukkan sama atau lebih besar dari Rp 400, maka mesin akan men-geluarkan barang dagangan, dan mengembalikan uang kelebihan, kemudianmenunggu transaksi berikutnya.

Kita mulai menyusun diagram transisi keadaan seperti Gambar 4.23. Dikeadaan A, belum ada koin yang dimasukkan, sehingga uang yang masukadalah Rp 0. Jika koin seratusan atau duaratusan dimasukkan maka keadaanakan berubah ke B atau C. Jika koin limaratusan yang dimasukkan makauang yang masuk sejumlah Rp 500. Mesin akan mengeluarkan barang da-gangan dan mengeluarkan kembalian koin seratusan, dan keadaan tetap diA. Hal ini ditandai dengan ”L/110” dalam kalang memutar di keadaan A.Dari keadaan B atau C dapat berpindah ke keadaan D. Dari D kembali keA atau B.

Yohanes Suyanto

Page 14: 80651930-rangkaian-sekuensial

80 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

s2 s1 s0 x s2 s1 s0 zMasukan X 0 0 0 0 0 0 1 0

Keadaansekarang

0 1 0 0 0 1 0 1 0 0

A:000 001/0 010/0 0 0 1 0 0 1 1 0B:001 011/0 100/0 0 0 1 1 1 0 0 0C:010 101/0 110/0 0 1 0 0 1 0 1 0D:011 011/0 100/0 0 1 0 1 1 1 0 0E:100 101/0 110/1 0 1 1 0 0 1 1 0F:101 011/0 100/1 0 1 1 1 1 0 0 0G:110 101/1 110/0 1 0 0 0 1 0 1 0

1 0 0 1 1 1 0 1(a) 1 0 1 0 0 1 1 0

1 0 1 1 1 0 0 11 1 0 0 1 0 1 11 1 0 1 1 1 0 01 1 1 0 d d d d1 1 1 1 d d d d

(b)

Gambar 4.21: Penetapan kode keadaan dan tabel kebenaran detektor urutan

0x

1x

1x

10

000001010011100101110111

QD

CK

x

xx

xx

xx

0

000001010011100101110111

QD

CK

x

xx

xx

xx

0

000001010011100101110111

QD

CK

x

xx

xx

xx

0

000001010011100101110111

CLK

Gambar 4.22: Diagram logika detektor urutan

Perhatikan saat koin limaratusan dimasukkan pada keadaan D. Mestinyamesin akan mengeluarkan barang dagangan, mengembalikan Rp 400, dankembali ke A, tetapi menurut diagram tersebut mesin akan mengeluarkanbarang, mengembalikan Rp 300, dan menuju ke keadaan B. Mesin tetapmenahan uang sebesar Rp 100.

Dari diagram transisi keadaan dapt disusun tabel keadaan seperti padaGambar 4.24a. Kemudian dapat ditentukan kode keadaan untuk simbol S, D,dan L dalam bentuk biner, seperti pada Gambar 4.24b. Akhirnya, kita buatdiagram rangkaiannya seperti Gambar 4.25a. Kode keadaan terdiri atas 2 bitsehingga diperlukan 2 flip-flop D. Empat masukan pada PLA digunakan 2 bituntuk keadaan sekarang dan 2 bit koin x1x0. PLA menghasilkan 5 keluaranuntuk 2 bit keadaan berikutnya, bit pengeluaran barang, dan bit kembalianseratusan dan duaratusan. Kita asumsikan bahwa pemasukan koin dianggapmasukan dan detak juga.

Rancangan PLA pada Gambar 4.25a, dapat diikuti prosesnya denganmelihat Gambar 4.25b dan 4.25c, yang disusun secara manual. Namun untuk

Yohanes Suyanto

Page 15: 80651930-rangkaian-sekuensial

4.8. Mesin Mealy dan Moore 81

ARp 0

BRp 100

CRp 200

DRp 300

L/110

L/111,

D/100

D/000 S/000S/000

S/000 D/000

L/101 L/111

D/110

S/100

S=seratusan (Rp 100)D=duaratusan (Rp 200)

L=duaratusan (Rp 200)

Gambar 4.23: Diagram transisi keadaan pengendali mesin penjualan

Masukan S D L Masukan S D LK.S. 00 01 10 K.S. 00 01 10

A B/000 C/000 A/110 A:00 01/000 10/000 00/110B C/000 D/000 A/101 B:01 10/000 11/000 00/101C D/000 A/100 A/111 C:10 11/000 00/100 00/111D A/100 A/110 B/111 D:11 00/100 00/110 01/111

Gambar 4.24: (a) Tabel keadaan pengendali mesin penjualan (b) penetapankode keadaan pengendali mesin penjualan

kasus yang kompleks biasanya menggunakan alat bantu komputer.

4.8 Mesin Mealy dan Moore

Keluaran dari rangkaian FSM yang kita bahas sebelumnya sejauh ini diten-tukan oleh keadaan sekarang dan masukan. Keadaan dikelola oleh flip-floppicuan tepi surut, maka perubahan keadaan hanya terjadi saat tepi surutpada detak. Apapun perubahan yang terjadi pada masukan tidak mempu-nyai efek terhadap keadaan selama detak rendah. Masukan langsung meng-hasilkan keluaran tanpa melewati flip-flop. Dengan demikian perubahan ma-sukan dapat mengakibatkan perubahan keluaran, tanpa memperhatikan de-tak dalam keadaan rendah atau tinggi. Pada Gambar 4.25, perubahan salah

Yohanes Suyanto

Page 16: 80651930-rangkaian-sekuensial

82 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

5 × 5

PLA

x1x0

z2z1z0s1

Q

Q

D

CK

s0

Q

Q

D

CK CLK

(a)

s1 s0 x1 x0

s1 s0 z2 z1 z0

(c)

desimal s1s0x1x0 s1s0z2z1z0

0123456789

101112131415

0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

0 1 0 0 01 0 0 0 00 0 1 1 0d d d d d1 0 0 0 01 1 0 0 00 0 1 0 1d d d d d1 1 0 0 00 0 1 0 00 0 1 1 1d d d d d0 0 1 0 00 0 1 1 00 1 1 1 1d d d d d

(b)

Gambar 4.25: Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) real-isasi PLA

satu masukan x1 atau x0 dapat mengakibatkan perubahan keluaran z2z1z0

tanpa tergantung pada detak. Model seperti ini dinamakan model FSMMealy.

Dalam model Mealy, keluaran berubah segera setelah masukan berubah,sehingga tidak ada tundaan yang diakibatkan oleh detak. Pada model FSMMoore, keluaran menyatu pada bit keadaan, sehingga perubahan keluaranterjadi pada pulsa detak setelah perubahan masukan. Kedua model ini digu-nakan oleh perancang rangkaian dan pada bagian ini akan kita bahas perbe-daannya dengan mengemukakan contoh.

Sebagai contoh model FSM Moore adalah pencacah biner 2 bit sepertipada Gambar 4.26. Mesin ini mencacah dari 0 sampai dengan 3 dan berulangdari 0 lagi, mirip dengan pencacah modulo-4. Mesin hanya mencacah jika x =1, jika tidak mesin akan bertahan pada keadaan sekarang. Perlu diperhatikanbahwa keluaran menyatu pada variabel keadaan, sehingga tidak ada jalurlangsung antara masukan dan keluaran yang tidak melewati flip-flop.

Model Mealy dianggap lebih berdaya guna daripada model Moore sebabsatu detak saja dapat mengakibatkan perubahan keluaran suatu mesin. Pe-

Yohanes Suyanto

Page 17: 80651930-rangkaian-sekuensial

4.9. Register 83

00 01

1011

0

0

0

0

1

1

1

1

00

01

10

11

Q

Q

D

CK

00

01

10

11

Q

Q

D

CK

x

0

1z0

z1

CLK

Gambar 4.26: FSM Moore pencacah biner 2 bit

rubahan keluaran ini dapat mengubah keluaran mesin lain, jika dihubungkandengan masukan mesin lain tersebut, demikian seterusnya. Dalam modelMoore, perubahan selalu sinkron dengan detak, sehingga perubahan berun-tun antar mesin tidak dapat terjadi. Perubahan keluaran suatu mesin mem-punyai efek yang kecil terhadap mesin berikutnya pada model Moore. Olehkarena itu, analisis dan pelacakan kesalahan dapat ditelusuri bagian perbagian dengan lebih mudah. Pada praktiknya kedua model ini digunakan.

4.9 Register

Informasi yang terdiri atas bit tunggal tersimpan dalam flip-flop D. SejumlahN bit informasi membentuk satu word dengan panjang N -bit dapat disim-pan dalam N flip-flop D. Contoh word dengan panjang 4-bit dapat dilihatpada Gambar 4.27. Susunan flip-flop yang digunakan untuk menyimpan datadisebut register. Dalam konfigurasi pada gambar tersebut data masukan Di

dimasukkan ke register saat jalur Write dan Enable tinggi, sinkron dengandetak.

Isi register dapat dibaca pada keluaran Qi hanya saat jalur Enable tinggi,karena buffer tiga keadaan terputus secara elektronis saat Enable rendah.Kita sederhanakan penggambaran register menjadi seperti Gambar 4.28.

Register geser akan menggeser isi pada setiap flip-flop ke flip-flop sesudah-nya, dan menerima masukan pada ujung masukan serta memuntahkan isinyapada ujung keluaran, sehingga memungkinkan untuk disusun secara bersam-

Yohanes Suyanto

Page 18: 80651930-rangkaian-sekuensial

84 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

QD

CK

Q3

D3

QD

CK

Q2

D2

QD

CK

Q1

D1

QD

CK

Q0

D0

WRCLREN

Gambar 4.27: Register 4-bit

CK

WR

EN

D3 D2 D1 D0

Q3 Q2 Q1 Q0

Gambar 4.28: Register 4-bit disederhanakan

bungan. Perhatikan register geser pada Gambar 4.29. Register dapat digeserke kiri, digeser ke kanan, menerima masukan secara paralel, atau dibiarkanisinya tetap, semunya sinkron dengan detak. Fasilitas pemasukan paralel danpembacaan paralel memungkinkan register geser berfungsi sebagai pengubahserial ke paralel atau pengubah paralel ke serial.

4.10 Pencacah

Pencacah adalah bentuk lain dari register yang keluarannya mempunyai poladalam rentang bilangan biner tertentu. Gambar 4.30 menunjukkan konfig-urasi pencacah modulo 8 dengan pola biner tiap langkah adalah: 000, 001,010, 011, 100, 101, 110, 111 dan diulang lagi. Tiga flip-flop J-K ditempatkandalam mode bergantian, dan setiap masukan detak dioperasikan AND de-ngan keluaran Q sebelumya, mengakibatkan frekuensi detak baru sebesarsetengahnya. Detak ini akan memicu pada flip-flop berikutnya, demikianseterusnya. Hasilnya adalah setiap flip-flop Fi akan mengasilkan keluaranQi dengan frekuensi frac12i. Jika pola Qi dengan i = 2 sampai dengan 0disusun hasilnya adalah 000, 001, ... ,111.

Dalam rangkaian tersebut juga ditambahkan jalur RESET tak sinkron,yang akan melakukan pengisian 000 pada pencacah, dan tidak tergantungpada keadaan, jalur detak, maupun jalur EN . Selain flip-flop pada LSB,keadaannya berubah karena keadaan flip-flop tetangganya, tidak sekedar

Yohanes Suyanto

Page 19: 80651930-rangkaian-sekuensial

4.10. Pencacah 85

QD

CK

Q3

D3

QD

CK

Q2

D2

QD

CK

Q1

D1

QD

CK

Q0

D0

c0

c1 CLKEN

c1

output geser kiri

Input

geser kanan

Input geser kanan

Output

geser kanan

Kendalic1 c0

0 00 11 01 1

Tetap

Geser kiriGeser kananMuat paralel

Fungsi

Input geser kananOutput geser kiri

c0c1

D3D2D1D0

Q3Q2Q1Q0

Output geser kanan

Input geser kiri

Gambar 4.29: Register geser

karena detak. Rangkaian ini mirip dengan Gambar 4.18 tetapi lebih mudahdiperluas menjadi ukuran yang lebih besar karena tinggal menghubungkankeluaran dari MSB unit ini ke masukan LSB unit berikutnya.

Yohanes Suyanto

Page 20: 80651930-rangkaian-sekuensial

86 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Q

Q

J

K

CK

1

Q2

Q

Q

J

K

CK

1

Q1

Q

Q

J

K

CK

1

Q0

CLKEN

RESET

PENCACAH MOD(8)

ENABLE

RESET Q1Q2 Q0

Gambar 4.30: Pencacah modulo 8

Yohanes Suyanto