counter.doc
DESCRIPTION
teknik digital counterTRANSCRIPT
MODUL XIII
COUNTER
Pada modul ini akan diuraikan berbagai jenis counter dan bagaimana merancang
dan membuatnya.Tidak hanya sebagai contoh dari rangkaian sekuensial, melainkan
juga sebagai perangkat yang digunakan dalam rangkian skala besar.
1. Definisi Counter
Counter merupakan jenis dari rangkaian sekuensial. Serupa dengan register, state
atau nilai flip-flop bertindak sebagai output. Nilai outputnya bertambah 1 setiap siklus
clock. Setelah nilainya terbesar, outputnya kembali ke 0. Apabila menggunakan 2 bit,
kita akan mendapatkan tabel dan diagram state sebagai berikut.
Tabel 1 Tabel State Counter 2 bit
Present State Next State A B A B
0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0
00 01
1011
1
11
1
0000 0101
10101111
11
1111
11
Gambar 1 Diagram State Counter 2 bit
2. Kegunaan Counter
Counter dapat bertindak sebagai clock sederhana untuk menjaga track dari waktu.
Kita perlu mengetahui/mencatat berapa kali sesuatu telah terjadi, sebagai contoh:
• Berapa banyak bit yang telah dikirim atau diterima?
• Berapa banyak langkah yang telah dilakukan dalam suatu komputasi?
Semua processor berisi sebuah program counter atau PC. Program terdiri dari list
instruksi yang dieksekusi satu demi satu (bertahap). PC menjaga track dari instruksi
yang dieksekusi. PC menambah 1 (melakukan increment) setiap siklus clock
kemudian instruksi program selanjutnya dieksekusi.
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 1
3. Merancang Counter 2 Bit
Kita memerlukan beberapa tahapan proses untuk merancang sebuah counter.
Sebagai contoh akan dijelaskan bagaimana cara merancang counter 2 bit.
Pada counter 2 bit ini:
- Output counter akan menjadi 00, 01, 10 dan 11.
- Terdapat 1 buah input, X. Jika X=0, nilai counter harus bertambah 1
(increment) tiap siklus clock. Tetapi, jika X=1, nilai counter harus berkurang 1
(decrement) pada tiap siklus clock (arah berlawanan).
Untuk itu kita memerlukan 2 buah flip-flop. Berikut ini adalah 4 kemungkinan nilai
state yaitu seperti ditunjukkan pada gambar 2 berikut.
00 01
1011
0000 0101
10101111
Gambar 3 State pada Counter 2 Bit
3.1 Rangkaian Direalisasikan Menggunakan D Flip-flop
Diagram dan tabel state lengkap untuk rangkaian counter 2 bit ini ditunjukkan pada
gambar 4 dan tabel 2 berikut ini.
00 01
1011
0
0
0
10 1
1
1
0000 0101
10101111
00
00
00
1100 11
11
11
Gambar 4 Diagram State untuk Counter 2 Bit yang Dirancang
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 2
Tabel 2 Tabel State Lengkap Counter 2 Bit yang Dirancang
Present State I nputs Next StateQ1 Q0 X Q1 Q0
0 0 0 0 10 0 1 1 10 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 01 1 1 1 0
Jika kita gunakan D flip-flop, maka input D akan sama dengan hasil state yang
diinginkan. Dengan menggunakan K-map akan di dapatkan persamaan untuk input D
flip-flopnya menjadi seperti pada gambar 5 berikut.
Q0
0 1 0 1
Q1 1 0 1 0
X
Q0
1 1 0 0
Q1 1 1 0 0
X
D1 = Q1 Q0 X
D0 = Q0’
Q0
0 1 0 1
Q1 1 0 1 0
X
Q0
1 1 0 0
Q1 1 1 0 0
X
D1 = Q1 Q0 X
D0 = Q0’
Gambar 5 K-map untuk Menghasilkan Persamaan Input D Flip-flop
Dengan demikian akan didapatkan rangkaian counter 2 bit seperti yang ditunjukkan
pada gambar 6. Rangkaian counter dengan D Flip Flop ini dibuat dengan
menggunakan perangkat lunak LogicWorks. Pada rangkaian ini terdapat 2 jenis
output, yaitu: normal dan complement, sehingga kita dapat mengakses Q0’ langsung
tanpa menggunakan inverter (Q1’ tidak diperlukan dalam contoh ini). Rangkaian ini
menghitung secara normal jika Reset = 1. Tetapi jika Reset adalah 0, output flip-flop
segera menjadi 00 (clear). Pada LogicWorks tidak terdapat gerbang XOR 3-input,
sehingga digunakan gerbang 4 input dengan salah satu input dihubungkan ke 0.
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 3
Gambar 6 Rangkaian Counter 2 Bit dengan D Flip-flop
3.2 Rangkaian Direalisasikan Menggunakan JK Flip-flop
Apabila kita gunakan JK flip-flop, dengan demikian kita harus menentukan input JK
untuk setiap flip-flop. Perhatikan present state dan next state yang diinginkan pada
tabel eksitasi JK berikut (tabel 3). Dengan demikian akan didapatkan input JK flip-
flop seperti yang diuraikan pada tabel 4.
Tabel 3 Tabel Eksitasi JK Flip-flop
Q(t) Q(t+1) J K
0 0 0 x0 1 1 x1 0 x 11 1 x 0
Tabel 4 Tabel State untuk Menentukan Input JK Flip-flop
Present State I nputs Next State Flip flop inputsQ1 Q0 X Q1 Q0 J 1 K1 J 0 K0
0 0 0 0 1 0 x 1 x0 0 1 1 1 1 x 1 x0 1 0 1 0 1 x x 10 1 1 0 0 0 x x 11 0 0 1 1 x 0 1 x1 0 1 0 1 x 1 1 x1 1 0 0 0 x 1 x 11 1 1 1 0 x 0 x 1
Dengan menggunakan K-map, kita dapat menentukan persamaan untuk keempat
input flip-flop, dalam kondisi present state dan input.
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 4
Disini menjadi: J1 = K1 dan J0 = K0.
J1 = K1 = Q0’ X + Q0 X’
J0 = K0 = 1
Setelah itu baru dapat dibuat rangkaiannya. Gambar 7 berikut ini adalah rangkaian
counter menggunakan JK Flip Flop n.i. RS pada LogicWorks. “n.i. RS” berarti bahwa
direct input (input langsung) R dan S adalah non-inverted, atau active-high. Dengan
demikian rangkaian ini menghitung secara normal jika Reset = 0, tetapi
menginisialisasi menjadi 00 jika Reset= 1.
Gambar 7 Rangkaian Counter 2 Bit Menggunakan JK Flip-flop
4. Ketentuan Perancangan untuk State yang Tidak Digunakan
Contoh-contoh sebelumnya memiliki state 2n, dan n flip-flop yang digunakan. Tetapi
kadangkala kita memiliki state yang tidak digunakan/diabaikan (unused, letover).
Sebagai contoh, berikut ini adalah tabel dan diagram state untuk sebuah counter
yang menghitung dari 0 (000) sampai 5 (101) secara berulang. Apa yang harus kita
isi dalam tabel untuk 2 state yang tidak digunakan? Terdapat 2 cara untuk mengatasi
permasalahan ini yaitu dengan mengabaikan state yang tidak digunakan atau tidak
mengabaikannya.
Tabel 5 Tabel State Counter yang Menghitung dari 0 sampai 5
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 5
Present State Next StateQ2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 ? ? ?1 1 1 ? ? ?
001
010
011
100
101
000
001001
010010
011011
100100
101101
000000
Gambar 8 Diagram State Counter yang Menghitung dari 0 sampai 5
4.1 State yang Tidak Dipakai Diabaikan (Don’t Care)
Untuk mendapatkan rangkaian paling sederhana yang dimungkinkan, kita dapat
mengisi don’t care untuk next state yang tidak digunakan. Dengan demikian input
flip-flop pun diabaikan (don’t care) sehingga dapat meminimalisasi hardware. Jika
rangkaian berakhir pada kondisi state yang tidak digunakan (110 or 111), prilakunya
akan tergantung pada apa yang diberikan oleh input don’t care. Tabel statenya
menjadi seperti yang ditunjukkan pada tabel 6. Sedangkan untuk diagram statenya
sama seperti gambar 8.
Tabel 6 Tabel State Counter yang Menghitung dari 0 sampai 5
Dengan Mengabaikan State yang Tidak Dipakai
Present State Next StateQ2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 x x x1 1 1 x x x
4.2 State yang Tidak Dipakai Tidak Diabaikan
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 6
Untuk mendapatkan rangkaian yang paling aman, kita dapat secara eksplisit mengisi
next state untuk state 110 dan 111. Hal ini menjamin bahwa meskipun rangkaian
memasuki state yang tidak digunakan maka akan berakhir pada state yang valid.
Dengan demikian counter ini disebut sebagai self-starting counter. Tabel dan
diagram statenya menjadi seperti yang ditunjukkan pada tabel 7 dan gambar 9
berikut ini.
Tabel 7 Tabel State Counter yang Menghitung dari 0 sampai 5
Dengan Tidak Mengabaikan State yang Tidak Dipakai
Present State Next StateQ2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 0 0 01 1 1 0 0 0
001
010
011
100
101
000
111110
001
010
011
100
101
000
001001
010010
011011
100100
101101
000000
111111110110
Gambar 9 Diagram State Counter yang Menghitung dari 0 sampai 5
Dengan Tidak Mengabaikan State yang Tidak Dipakai
5. Perangkat Counter pada LogicWorks
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 7
Pada bagian ini akan diuraikan jenis perangkat counter yang tersedia pada software
LogicWorks.
5.1 Counter 4 bit Minimum (Counter-4 Min)
Counter yang paling sedehana pada LogicWorks adalah Counter-4 Min (gambar 10),
hanya bertambah (increment) sekali setiap siklus clock. Counter ini merupakan
counter 4 bit dengan nilai antara 0000 sampai 1111 dan hanya terdapat 1 buah input
yaitu sinyal clock.
Gambar 10 Simbol Counter-4 Min
5.2 Counter 4 bit (Counter-4)
Perangkat Counter-4 (gambar 11) memiliki fungsi sbb:
– Dapat melakukan increment atau decrement, dengan menbuat set pada
input UP menjadi 1 or 0.
– Kita dapat segera secara asinkron membuat clear counter menjadi 0000
dengan cara men-set CLR = 1.
– Kita dapat menentukan nilai output next dari counter dangan menbuat set
input D3-D0 untuk setiap nilai 4 bit dan membuat clear LD.
– Input EN active-low bertugas untuk membuat counter enable atau disable.
• Jika counter di-disable, counter akan terus mengeluarkan nilai yang
sama tanpa melakukan increment, decrement, pengisian (loading)
atau penghapusan (clearing)
– “Counter Out” CO dalam keadaan normal adalah 1, tetapi berubah menjasi 0
jika counter mencapai nilai maksimum, 1111.
Gambar 11 Simbol Counter-4
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 8
5.3 Counter 8 Bit
Dari sebuah counter kita dapat membuat counter lain. Gambar 12 di bawah ini
adalah counter 8-bit yang dibangun dari counter 4-bit. Counter yang di bawah
merepresentasikan least significant 4 bits (LSB), sedangkan yang di atas
merepresentasikan most significant 4 bits (MSB). Pada saat counter di bawah
mencapai nilai 1111 (yaitu: jika CO = 0), akan mengaktifkan atau membuat enable
counter yang di atas untuk 1 siklus.
Catatan implementasi lain: counter berbagi sinyal clock dan sinyal clear dan disini
digunakan peraga hexadesimal.
Gambar 12 Counter 8 Bit
5.4 Counter 4 Bit Terbatas
Kita pun dapat membuat counter yang dimulai pada suatu nilai selain 0000. Dalam
diagram rangkaian di bawah ini (gambar 13), jika CO=0 sinyal LD membuat next
state mengambil nilai dari D3-D0. Dengan demikian, counter ini akan menghasilkan
output dari 1111 ke 0110 (bukan kembali ke 0000).
Gambar 13 Diagram Rangkaian Counter yang Dimulai pada Suatu Nilai Selain 0000
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 9
Kita pun dapat membuat rangkaian yang menghitung naik sampai 1100, bukan 1111.
Jika nilai counter mencapai 1100, gerbang NAND membuat counter untuk
melakukan pengisian, sehingga next state menjadi 0000. Diagram rangkaian untuk
jenis counter terbatas ini ditunjukkan pada gambar 14.
Gambar 14 Diagram Rangkaian Counter yang Diakhiri pada Suatu Nilai Selain 1111
6. Jenis Rangkaian Counter
Menurut jenis pengaturan clock counter dibedakan menjadi 2, yaitu:
- Asynchronous counter disebut ripple counter/serial counter, karena output
masing-masing flip-flop yang digunakan akan bergulingan (berubah kondisi
dari 0 ke 1 atau sebaliknya) secara berurutan. Hal ini karena flip-flop yang
paling ujung saja yang dikendalikan sinyal clock,sedangkan sinyal lainnya
diambil dari masing-masing flip-flop sebelumnya.
- Synchronous counter, output flip-flop yang digunakan bergulingan secara
serempak. Hal ini disebabkan karena masing-masing flip-flop tersebut
dikendalikan secara serempak oleh satu sinyal clock. Oleh sebab itu
syncronous counter disebut paralel counter. Untuk menunjang operasinya
yang cepat,penyacah sinkron masih memerlukan gate-gate tambahan.
Menurut urutan pencacahan counter dibedakan menjadi 3 jenis, yaitu:
- Up counter, counter ini mencacah atau menghitung naik
- Down counter, merupakan jenis counter yang menghitung mundur
- Up/down counter, counter ini dapat difungsikan untuk menghitung naik atau
menghitung mundur.
Counter yang mengeluarkan urutan biner dinamakan binary counter. Sebuah n-bit
binary counter terdiri dari n buah flip-flop, dapat menghitung dari 0 sampai 2n – 1.
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 10
Selain itu terdapat juga BCD counter. Counter ini mengelurakan output berbentuk
bilangan BCD.
Sebuah counter dengan m state disebut sebagai modulo-m counter. Modulus
merupakan banyaknya state dalam satu siklus counter. Modulo (Mod) counter biasa
disebut juga sebagai divide-by-m counter. Jumlah state menentukan jumlah flip-flop.
Jenis-jenis counter diatas dapat digabungkan/dikombinasikan. Sebagai contoh, pada
gambar 15,16 , 17 dan 18 berikut.
T Q
Q Clock
T Q
Q
T Q
Q
1
Q 0 Q 1 Q 2
(a) Circuit
Clock
Q 0
Q 1
Q 2
Count 0 1 2 3 4 5 6 7 0
(b) Timing diagram
T Q
Q Clock
T Q
Q
T Q
Q
1
Q 0 Q 1 Q 2
(a) Circuit
Clock
Q 0
Q 1
Q 2
Count 0 1 2 3 4 5 6 7 0
(b) Timing diagram
Gambar 15 Asynchrounous 3 bit binary Up-Counter
T Q
Q Clock
T Q
Q
T Q
Q
1
Q 0 Q 1 Q 2
(a) Circuit
Clock
Q 0
Q 1
Q 2
Count 0 7 6 5 4 3 2 1 0
(b) Timing diagram
T Q
Q Clock
T Q
Q
T Q
Q
1
Q 0 Q 1 Q 2
(a) Circuit
Clock
Q 0
Q 1
Q 2
Count 0 7 6 5 4 3 2 1 0
(b) Timing diagram
Gambar 16 Asynchrounous 3 bit binary Down-Counter
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 11
T Q
Q Clock
T Q
Q
T Q
Q
1 Q 0 Q 1 Q 2
(a) Circuit
T Q
Q
Q 3
Clock
Q 0
Q 1
Q 2
Count 0 1 2 3 5 9 12 14 0
(b) Tim
ing diagram
Q 3
4 6 8 7 10 11 13 15 1
T Q
Q Clock
T Q
Q
T Q
Q
1 Q 0 Q 1 Q 2
(a) Circuit
T Q
Q
Q 3
Clock
Q 0
Q 1
Q 2
Count 0 1 2 3 5 9 12 14 0
(b) Tim
ing diagram
Q 3
4 6 8 7 10 11 13 15 1
Clock
Q 0
Q 1
Q 2
Count 0 1 2 3 5 9 12 14 0
(b) Tim
ing diagram
Q 3
4 6 8 7 10 11 13 15 1
Gambar 17 Synchrounous 4 bit binary Up-Counter
T Q
Q Clock
T Q
Q
T Q
Q
1 Q 0 Q 1 Q 2
(a) Circuit
Clock
Q 0
Q 1
Q 2
Count
(b) Timing diagram
0 1 2 3 4 5 0 1 2
T Q
Q Clock
T Q
Q
T Q
Q
1 Q 0 Q 1 Q 2
(a) Circuit
Clock
Q 0
Q 1
Q 2
Count
(b) Timing diagram
0 1 2 3 4 5 0 1 2
Gambar 18 Modulo-6 Counter dengan asynchronous reset
Sebagai ringkasan dapat disimpulkan bahwa terdapat banyak cara untuk membuat
counter. Kita dapat mengikuti prinsip perancangan dengan metode sintesa rangkaian
sekuensial untuk membuat counter dari awal. Kita pun dapat memodifikasi atau
mengkombinasikan device counter yang ada.
PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT
PERENCANAAN SISTEM DIGITAL 12