Showing posts with label sistem digital. Show all posts
Showing posts with label sistem digital. Show all posts

counter

URAIAN MATERI
Hampir setiap sistem digital kompleks berisisi beberapa pencacah. Fungsi pencacah merupakan salah satu dari pencacahan kejadian atau periode waktu atau penempatan kejadian secara berurutan. Pencacah juga mengerjakan beberapa pekerjaan yang tidak begitu jelas : membagi frekuensi, alamat, dan penyelenggaraan unit memori. Bab ini membahas beberapa jenis pencacah dan penggunaannya. Flip flop merupakan alat yang dapat dirangkaikan satu sama lain untuk membentuk rangkaian yang dapat mencacah. Oleh karena penggunaan pencacah sangat luas, maka sekarang telah dibuat pencacah yang terkait dalam bentuk IC. Beberapa pencacah tersedia dalam bentuk TTL dan kelompok CMOS.
Secara global, counter terbagi atas dua jenis sinkron counter dan asinkron counter. Perbedaan kedua jenis counter ini adalah pemicuannya. Pada sinkron counter, pemicuan counter terjadi serempak (dipicu oleh satu sumber clock) susunan flip flop nya paralel. Sedangkan pada asinkron counter, minimal ada satu flip flop dipicu oleh keluaran flip flop lain atau dari sumber clock lain dan susunan flip flop nya seri. Dengan memanipulasi flip flop berdasarkan peta karnough atau timing diagram dapat dihasilkan counter acak, shift counter (counter sebagai fungsi register) atau juga up down counter.
Asinkron Counter
Flip Flop dapat dihubungkan untuk mendapatkan sebuah pencacah elektronik, suatu unit yang dapat mencacah banyaknya picu masukan. Gambar dibawah ini memperlihatkan empat buah flip flop dalam gandengan.
Gambar counter Asinkron
Suatu picu clock (CP) memicu flip flop A. Perhatikan bahwa keluaran flip flop A memicu flip flop B. Kemudian selanjutnya keluaran flip flop B memicu flip flop C yang selanjutnya keluaran flip flop C memicu flip flop D. Semua masukan flip flop J-K ini di berlogika “1” yang artinya dihubungkan dengan Vcc. Ini berarti masing-masing flip flop akan berubah keadaan (toogle) akibat peralihan clock pada saat tepi turun (lihat tabel kebenaran flip flop J-K).
Bila keluaran suatu flip flop memicu flip flop yang lain, maka kita namakan counter tersebut adalah counter asinkron. Counter asinkron terjadi jika ada minimal ada satu buah flip flop yang keluarannya memicu flip flop lain. Flip flop A0 harus berubah keaadaan dari logika tinggi ke logika rendah terlebih dahulu sebelum dia memicu flip flop A1. Kemudian Flip flop A1 harus berubah keaadaan dari logika tinggi ke logika rendah terlebih dahulu sebelum dia memicu flip flop A2. Dan selanjutnya Flip flop A2 harus berubah keaadaan dari logika tinggi ke logika rendah terlebih dahulu sebelum dia memicu flip flop A3. Oleh sebab itu, waktu tunda rambatan keseluruhan merupakan jumlah waktu tunda pada masing-masing flip flop. Jika pada masing-masing flip flop mempunyai waktu tunda (td) sebesar 10 ns, maka waktu tunda keseluruhan untuk 4 buah flip flop seperti gambar diatas adalah 40ns.
Marilah kita asumsikan bahwa semua flip flop berada pada keadaan reset sehingga menghasilkan keluaran “0”. Dengan demikian, kondisi keluaran adalah
A0 A1 A2 A3 = 0 0 0 0
Sebelum datangnya sinyal clock pertama.
Kemudian setelah sinyal clock pertama tiba, flip flop A0 berubah keadaan pada saat perubahan sinyal clock dari logika tinggi ke logika rendah. Maka pada akhir sinyal clock pertama keluaran adalah A0 A1 A2 A3 = 0 0 0 1
CP
A0
A1
A2
A3
Gambar Gelombang sinyal keluaran
Sinkron Counter
Counter sinkron adalah kebalikan dari counter asinkron jika dilihat dari segi pemicuannya. Counter sinkron pemicuan dari sumber clock yang sama dan susunan flip flop nya paralel. Dalam counter sinkron ini sendiri terdapat perbedaan penempatan atau manipulasi gerbang dasarnya yang menyebabkan perbedaan waktu tunda yang disebut carry propagation delay.
BINARY COUNTER
Desain dari synchronous binary counter ini sederhana, dimana flip -flop pada urutan terendah dicomplement-kan dengan setiap pulsa. Flip-flop pada posisi lebih tinggi akan dicomplement-kan jika semua bit pada flip-flop yang lebih rendah bernilai 1.
Sebagai contoh:
Jika present state suatu counter 4 bit yaitu A4A3A2A1 = 0011, maka state berikutnya adalah 0100.
A1 selalu dicomplement-kan. A2 dicomplement-kan karena present state A1 = 1. A3 dicomplement-kan karena A2A1 = 11. Tetapi A4 tidak dicomplement-kan karena present state A3A2A1 = 011 yang mana tidak terdiri dari 1 semua.
Gambar rangkaian dari synchronous binary counter 4 bit
Counter mode
Rangkaian counter-counter diatas hanya akan kembali ke keadaan semula (reset) dalam 2n pulsa. Apabila kita menginginkan suatu flip-flop akan reset setelah hitungan tertentu (selain hitungan 2n) maka counter ini disebut sebagai modulus counter.
COUNTER MOD-3
Berikut ini adalah counter mod 3 dengan menggunakan JK flip-flop.
Tabel kebenaran
B
A
count
0
0
0
0
1
1
1
0
2
0
0
0
Gambar Diagram logika danlogic blok
CP
A
B
Gambar sinyal keluaran
COUNTER MOD-6
Dasar dari flip-flop adalah counter mod-2. Sehingga jika kita ingin membuat counter mod-4 kita dapat membangunnya dari dua buah mod-2 yang dihubungkan secara seri. Untuk counter mod-6 kita dapat membangunnya dari counter mod-3 dan counter mod-2 yang dirangkai secara seri ( 3 x 2 = 6 ) seperti pada gambar berikut:
Gambar 3 x 2 mod-6 counter
CP
A
B
C
Pencacah Kerut Biner
Seperti diperlihatkan sebelumnya, pencacah klerut biner dapat dibang dengan menggunakan flip-flop JK berloceng. Banyaknya cacahan atau keadaan diskrit seluruhnya yang dapat dilalui oleh pencacah diberikan 2n, denagn n adakah keseluruhan banyaknya flip-flop yang digunakan. Dikatakan bahwa pencacah memiliki cacahan dasar sebanyak 2n. Sebagai contoh, pencacah biner dasar yang terdiri dari tiga buah flip-flopmencacah melalui delapan keadaan diskrit yang dikatakan memiliki cacahan dasar sebanyak 8. Pencacah biner yang terdiri dari empat flip-flop mencacah melalui 16 keadaan diskrit, dan seterusnya. Dengan demikian, kita dapat membangun pencacah-pencacah yang mencacah melalui 2, 4, 8, 16, 32 dan seterusnya, keadaan dengan menggunakan banyaknya flip-flop yang sesuai. Pencacah tiga flip-flop sering disebut sebagai pencacah modulus-8 (atau mod-8) karena memiliki delapan keadaan. Demikian pula, pencacah empat flip-flop adalah pencacah mod-16. Modulus suatu pencacah adalah banyaknya keseluruhan keadaan yang dapat dilalui oleh pencacah.
Seringkali diinginkan untuk membangun pencacah-pencacah yang mempunyai modulus lain dari 2, 4, 8 dan seterusnya. Sebagai contoh, mungkin anda ingin membangun sebuah pencacah yang mempunyai modulus 3 atau 5 atau 7. Sebuah pencacah bermodulus lebih kecil senantiasa dapat dibangun dari pencacah bermodulus lebih besar dengan melompati keadaan-keadaan tertentu. Pencacah semacam ini dikatakan mempunyai cacahan termodifikasi. Terlebih dahulu perlu ditentukan banyaknya flip-flop yang diperlukan. Banyaknya flip-flop ditentuakn dengan memilih cacahan dasar terkecil yang lebih besar daripada cacahan termodifikasi yang diinginkan. Sebagai contoh, pencacah mod-7 membutuhkan tiga buah flip-flop karena 8 merupakan cacahan dasar terkecil yang lebih besar daripada cacahn termodifikasi yang diinginkan yakni 7.
Pencacah Dekade MSI
Kita juga dapat membangun pencacah decade dengan menggunakan sandi-sandi BCD lainya. Namun pada umumnya, pencacah decade menggunakan sandi 8421. Pada kenyataannya, standard industri bagi pencacah dekade adalah 7490, suatu rangkaian terpadu skala-sedang (MSI) dalam seri TTL 7400. 7490 mencacah dalam sandi 8421 dari0000 sampai 1001; kemudian pencacah ini reset ke nol. Rangkaian MSI yang terkenal ini secara umum mempunyai disipasi daya sebesar 145 mW, waktu tunda rambatan sebesar 50 ns (keadaan terburuk), keluaran totem-pole, serta cirri-ciri lain yang dijelaskan pada lembar datanya.
Untuk mencacah lebih dai 10, yang perlu kita lakukan adalah menggandengakan pencacah-pencacah decade.
Pada pulsa lonceng kesepuluh, keluaran D pada pencacah satuan berubah dari 1 ke 0. Perubahan menuju negative ini memicu pencacah puluhan. Oleh sebab itu, kondisi keluaran ketiga 7490 adalah
0000 0001 0000
Setelah pulsa lonceng kesepuluh
Denagn datangnya setiap pulsa lonceng berikutnya, pencacah satuan meningkat satu cacahan. Setiap satu kali pencacah satuan reset ke 0000, pencacah lain memicu pencacah puluhan, yang meningkat satu cacahan. Setelah 99 pulsa loceng keluaran BCD pada ketiga 7490 adalah
0000 100 1001
Yang ekivalen dengan decimal 99.
Pada pulsa lonceng ke 100, pencacah puluhan reset ke 0000, menhasilkan suatu pemicu menuju negative bagi pencacah ratusan. Denagn demikian, setelah 100 pulsa lonceng keluaran BCD pada ketiga 7490 adalah
0001 0000 0000
Yang ekivalen dengan decimal 100
Hendaknya anda mampu melihat permasalahan ini. Ketiga 7490 mencacah banyaknya pulsa lonceng, dengan menggunakn sandi BCD. Banyaknya pulsa lonceng masimum yang dapat dicacah oleh tiga buah 7490 adalah 999. Untuk meningkatkan kapasitas ini, kita gandengkan lebih banyak 7490. Sebagai contoh, untuk mencacah sampai 99.999.999 digunakan delapan buah 7490.
Gandengan 7490 seperti pada gambar di atas lazim digunakan pada frekuensi, volt-meter digital, dan sebagainya.

Baca Selengkapnya......

modul 4 rangkaian sequensial

Perancangan Sirkuit Sekuensial
Dr. Trio Adiono
Date:Wednesday, December 07, 2005
Pendahuluan
Rangkaian sekuensial adalah rangkaian yang outputnya tidak hanya tergantung kepada
keaddan saat ini, tetapi juga pada keaddaan input sebelumnya. Pada bab ini kita belajar
metoda perancangan sirkuit memory, statement yang digunakan membuat rangakain
sekuensial, contoh sirkuit beserta implementasi dan simulasinya dengan menggunakan
VHDL simulator.
Statement VHDL untuk rangakian sekuensial
Statement Process
Untuk membuat sebuah rangkaian sekuensial, kita memerlukan eksekusi statement secara
sekuensial seperti pada bahasa pemrograman umumnya (C, C++, paskal, dll). Dalam sebuah
architecture dari VHDL, semua statement di eksekusi secara bersamaan (concurrent). Tetapi
ada statement khusus, yaitu PROCESS, dimana semua statement VHDL di dalam statement
ini akan dieksekusi secara sekuensial.
Strukutur
Struktur statement process tersebut dapat dilihat pada Gambar II.1:
label : PROCESS(sensitivity_list)
BEGIN
Statement..1
Statement..2
Statement..3
END
Gambar II.1 Struktur Statement Process.
Seperti terlihat pada Gambar II.1 statement_1, statement_2, statement_3 akan di proses
secara berurutan. Setelah statement_3 di eksekusi, maka prosess akan kembali meng
ekseskusi statement_1.
Sensitifity List
Sensitifity List adalah list dari satu atau lebih signal, yang apabila nilai salah satunya berubah,
maka statement di dalam process akan di eksekusi. Contoh yang mudah dalam penggunaan
sensivity list adalah penggunakan clock dalam sebuah rangkaian kombinasional. Sebuah
rangkaian sekuensial, selalu di eksekusi berdasarkan berubahanya nilai signal clock. Dengan
demikian penggunaan sensivifity list dapat dibeuat sebagai berikut:
PROCESS(clock)
BEGIN
Statement..1
Statement..2
Statement..3
END
Gambar II.2 Signal clock sebagai sensivity list dari rangkaian sekuensial.
Dari contoh di atas, statement akan di eksekusi apabila nilai clock berubah dari 1 ke 0 atau
dari 0 ke 1.
Statement Sekuensial
Pada bagian ini akan dibahas beberapa statement VHDL yang dipakai secara sekuensial di
dalam statement PROCESS.
IF Statement
Struktur statement IF tersebut dapat dilihat pada Gambar II.2:
IF condition THEN
Statement_1…
[ELSIF condition THEN
statement_1…]
[ELSE
statement_1…]
END IF;
Gambar II.3 Struktur Statement Process. Catatan: statement di dalam tanda “[ ]” berupa
optional.
Sama seperti bahasa pemrograman umumnya, statement di dalam IF hanya akan dieksekusi
apabila kondisi dari IF atau ELSIF tersebut terpenuhi. Kondisi tersebut harus dibuat dalam
bentuk ekspressi yang BOOLEAN yaitu yang menghasilkan kondisi TRUE atau FALSE.
Apabila tidak terpenuhi, maka kondisi pada ELSE yang akan di eksekusi.
Beberapa contoh kondisi untuk statement IF adalah sebagai berikut:
Contoh 1:
IF reset =’1’ THEN
data <= “00000000”; ELSIF increment=’1’ THEN data <= data + “00000001”; ELSE data <= data; END IF; Contoh 2: IF en =’1’ AND counter<”1111” THEN data <= data + “00000001”; ELSE data <= “00000000”; END IF; Gambar II.4 Contoh pembuatan condition statement dari IF. Pada contoh 1 terlihat bahwa jika signal reset bernilai ‘1’, maka signal data akan di beri nilai “00000000”. Dalam kondisi lainnya, yaitu bila reset=’0’ dan signal increment=’1’, maka nilai dari signal data akan di tambah sebesar satu. Dan apabila kedua kondisi tersebut tidak terpenuhi, yaitu reset=’0’ dan increment=’0’, maka niali dari signal data akan tetap “00000000”. Contoh 2 menunjukan kondisi yang hamper sama, hanya diperlihatkan penggunaan tanda <>
statement_1…;
WHEN pilihan(|pilihan) =>
statement_1…;
…
WHEN OTHERS =>
statement_1…;
END CASE;
Gambar II.5 Struktur Statement CASE. Catatan: statement di dalam tanda “[ ]” berupa
optional.
Statement CASE dipakai untuk meng-assign suatu signal yang memiliki beberapa alternative
kondisi. Signal yang menjadi kondisi ditempatkan sebagai expresi dari CASE statement.
Masing-masing kondisi di wakili oleh WHEN statement. Jika expresi memenuhi salah satu
pilihan, maka statement yang mengikuti WHEN pilihan=> tersebut akan di eksekusi secara
sekuensial.
Contoh penggunaannya sebagai berikut :
CASE mode IS
WHEN add =>
acc <= a+b; WHEN sub =>
acc <= a-b; WHEN OTHERS acc <= a; END CASE; Pada contoh di atas, mode sebagai ekspresi di cek nilainya, sehingga menentukan operasi apa yang dilakukan sehingga menghasilkan nilai untuk acc. Perancangan Rangakain Sekuensial Sederhana Pada bagian ini akan dijelaskan cara membuat deskripsi VHDL untuk rangkaian-rangakain yang banyak dipakai dalam rangkaian sekuensial. Perancangan D Flip-Flop D Flip-flop merupakan elemen memory yang dapat menyimpan data input sebelumnya. D Flip akan menyampling data input apabila nilai clock berubah dari 0 ke 1 (rising edge). Dengan demikian, clock digunakan sebagai sensivity list dari rangkaian seperti yang terlihat pada gambar II.5. Untuk membedakan kapan flip-flop menyampling input data, maka, maka kita perlu menggunakan IF statement seperti pada contoh. D Flip-flop data_in data reset dff: PROCESS(clk) BEGIN IF reset =’1’ THEN data <= ‘0’; ELSIF (en=’1’) THEN IF clk=’1’ AND clk’EVENT THEN data <= data_in; END IF; ELSE data <= data; END IF; Gambar II.5 Deskripsi rangkaian DFF. Signal en adalah signal enable yang berfungsi untuk mengaktifkan flip-flop tersebut. Semua transisi hanya boleh terjadi apabila en=’1’. Statement clk’EVENT adalah untuk membatasi eksekusi process terjadi pada saat transisi nilai dari clock. Apabila statement ini di gabungkan dengan statement clk=’1’, maka eksekusi akan terjadi pada saat rising edge. Sebaliknya, apabila clk=’0’, maka process akan di eksekusi pada falling edge. Rangakain diatas dapat disimulasikan dengan menggunakan rangkaian dff.vhd dan dff_tb.vhd. Hasil simulasi dapat ditunjukan dengan timing diagram pada Gambar II.6. Pada gambar tersebut terlihat data tersample pada saat rising edge dari clock. Gambar II.6 Timing diagram hasil simulasi DFF. D Flip-flop diatas adalah synchronous D flip-flop, dimana kondisi reset hanya bisa tercapai apabila ada clock (rising edge). Untuk memperoleh D flip-flop dengan reset asynchronous (dapat terjadi tanpa perubahan pada clock), maka kita harus memasukan signal reset dalam sensitivity list, sehingga code VHDL menjadi: dff: PROCESS(reset, clk) BEGIN IF reset =’1’ THEN data <= ‘0’; ELSIF (en=’1’) THEN … Gambar II.7 Deskripsi rangkaian DFF dengan asynchronous reset. Perancangan Counter 4Bits Rangkaian counter merupakan rangkaian yang banyak digunakan dalam sirkuit combinasional. 8 bits counter dapat di implementasikan seperti pada Gambar II.8. library ieee ; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ----------------------------------------------------- entity counter4 is port( en : in std_logic; clock: in std_logic; reset: in std_logic; sc_in: in std_logic; sc_en: in std_logic; sc_out: out std_logic; cout : out std_logic_vector(3 downto 0) ); end counter4; ----------------------------------------------------- architecture behave of counter4 is signal counter : std_logic_vector(3 downto 0); begin process(clock) begin if clock'event and clock = '1' then if en = '0' then if (reset = '1' or counter = "1111") then counter <= (others => '0');
else
counter <= counter + "0001"; end if; end if; end if; end process; cout <= counter; end behave; Gambar II.8 Deskripsi VHDL counter 8 bits. Seperti terlihat diatas, nilai register count dapat dinaikan dengan memberi harga ‘1’ pada signal inc. Nilai register count menjadi “00000000” apabila di reset atau counter mencapai nilai maksimum “11111111”. Rangakain diatas dapat disimulasikan dengan menggunakan rangkaian count8.vhd dan count8_tb.vhd. Hasil simulasi dapat ditunjukan dengan timing diagram pada Gambar II.6. Pada gambar tersebut terlihat data tersample pada saat rising edge dari clock. Perancangan State Machine Sebagai contoh state machine sederhana adalah state machine lampu merah seperti terlihat pada Gambar II. green "01" yellow "10" red "11" idle "00" en='1' yelow_out='1' en='1' en='1' en='1' en='0' en='0' en='0' green_out='1' red_out='1' Traf ic Ligh Controller en reset red_out yellow_out green_out Gambar II.9 State dan blok Diagram dari Trafic light Controller. Seperti terlihat pada state diagram, pada kondisi awal system di riset dan berada di state idle. Apabila en=’1’, maka state akan berubah idleMgreen, greenMyellow, yellowMred, redMgreen. Kecuali apabila en=’0’ pada setiap kondisi maka state akan pindah ke idle. Dari state machine tersebut kita dapat mendesign descripsi VHDL sebagai berikut: • Menentukan jumlah state. Dari diagram kita dapat melihat bahwa system teridir dari 4 state. Dengan demikian kita dapat merepresentasikan state tersebut dengan register 2 bit, dalam hal ini ctrl_state. Dalam code VHDL : signal ctrl_state: std_logic_vector(1 downto 0); • Menentukan Sensivity list. Dalam hal ini, perubahan state adalah terjadi pada saat rising edge daripada clock, sehingga sensivity list dapat ditentukan adalah clock. • Syarat perubahan state. Dari state diagram dapat dilihat bahwa state berubah atas fungsi signal en. Dari tahapan tersebut kita dapat membuat deskripsi VHDL state machine tersebut sebagai berikut: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity trafic is port( clk : in std_logic; rst : in std_logic; en : in std_logic; state : out std_logic_vector (1 downto 0) ); end trafic; architecture trafic_bhv of trafic is signal ctrl_state : std_logic_vector(1 downto 0); begin process(clk) begin if (clk = '1' and clk'event) then if (rst = '1') then ctrl_state <= "00"; elsif (en = '1') then case ctrl_state is when "00" =>
ctrl_state <= "01"; when "01" =>
ctrl_state <= "10"; when "10" =>
ctrl_state <= "11"; when "11" =>
ctrl_state <= "00"; when others =>
ctrl_state <= "00"; end case; else ctrl_state <= "00"; end if; end if; end process; state <= ctrl_state; end trafic_bhv; Cara lain untuk mendeskripsikan traffic controller tersebut adalah dengan menggunakan statement IF THEN. Hasil simulasi design tsb adalah sbb: Perancangan 8Bits Parallel to Serial Converter Pada bagian ini akan dijelaskan tahapan perancangan 8 bits parallel to serial converter. System ini berfungsi untuk mengubah data 8 bits yang datang setiap 8 clock. Data serial akan di keluarkan melalaui port serial setiap clock. Block diagram dari system ini dapat dilihat pada gambar berikut: 8 Bits Registers 8 bits Paralel Data (prl) 1 bit Serial Data (serial) Controller Serial/Parallel (ctrl_state) en clk System ini dapat dibagi atas registers dan controller. Registers berfungsi menerima parallel 8 bits data pada saat mode registers parallel, danmelakukan shift secara serial ketika register pada mode serial. Selain register system memiliki controller, yang berfungsi menentukan kapan register menerima data parallel dan kapan menshift data secara serial. State machine dari block controller dapat dilihat pada gambar berikut: para "0" Serial "1" en='1'&cnt_state=7 | en='0' en='0' en='1' cnt_state<8 clk =" '1'" rst =" '1')" en =" '1')">
ctrl_state <= '1'; when '1' =>
if (srl_cnt = "111") then
ctrl_state <= '0'; else ctrl_state <= ctrl_state; end if; when others =>
ctrl_state <= ctrl_state;
end case;
else
ctrl_state <= '0';
end if;
end if;
end process;
cnt : process(clk)
begin
if (clk = '1' and clk'event) then
if (rst = '1' or ctrl_state = '0') then
srl_cnt <= "000";
else
srl_cnt <= srl_cnt+"001";
end if;
end if;
end process;
Pbuff : process(clk)
begin
if (clk = '1' and clk'event) then
if (rst = '1') then
buff <= "00000000";
elsif (ctrl_state = '0') then
buff <= prl;
elsif (ctrl_state = '1') then
buff <= buff(6 downto 0) & '0';
end if;
end if;
end process;
srl <= buff(7);
end prl2srl_bhv;
Hasil simulasi dari system ini dapat dilihat pada gambar berikut:

Baca Selengkapnya......

rangkaian sequensial

Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
1
3. Rangkaian Logika Kombinasional dan Sequensial
Rangkaian Logika secara garis besar dibagi menjadi dua, yaitu rangkaian logika
Kombinasional dan rangkaian logika Sequensial. Rangkaian logika Kombinasional
adalah rangkaian yang kondisi keluarannya (output) dipengaruhi oleh kondisi
masukan (input).
Struktur rangkaian kombinasional secara fisik adalah seperti gambar berikut:
Gambar 3.1.
Sedangkan rangkaian logika Sequensial adalah rangkaian yang kondisi keluarannya
dipengaruhi oleh kondisi masukan dan keadaan keluaran sebelumnya atau dapat juga
dikatakan rangkaian yang bekerja berdasarkan urutan waktu. Ciri rangkaian logika
sequensial yang utama adalah adanya jalur umpan balik (feed back) di dalam
rangkaiannya.
3.1. Rangkaian Logika Kombinasional
Rangkaian logika kombinasional yang akan dibahas adalah Enkoder, Dekoder,
Multiplexer, dan Demultiplexer.
3.1.1. Enkoder
Enkoder adalah rangkaian logika kombinasional yang berfungsi untuk mengubah atau
mengkodekan suatu sinyal masukan diskrit menjadi keluaran kode biner.
Enkoder disusun dari gerbanggerbang
logika yang menghasilkan keluaran biner
sebagai hasil tanggapan adanya dua atau lebih variabel masukan. Hasil keluarannya
dinyatakan dengan aljabar boole, tergantung dari kombinasikombinasi
gerbang yang
digunakan. Sebuah Enkoder harus memenuhi syarat perancangan m < 2 n . Variabel m
adalah kombinasi masukan dan n adalah jumlah bit keluaran sebuah enkoder. Satu
kombinasi masukan hanya dapat mewakili satu kombinasi keluaran. Perhatikan
contoh tabel fungsi keluaran Enkoder berikut :
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
2
Input Output
I0 I1 I2 I3 I4 I5 I6 I7 Y2 Y1 Y0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
Tabel 3.1. Fungsi keluaran enkoder 8ke3
Dari tabel diatas, dapat dibuat fungsi keluaran sebagai berikut :
Y0 = I1 + I3 + I5 + I7
Y1 = I2 + I3 + I6 + I7
Y2 = I4 + I5 + I6 + I7
Dari persamaan tersebut, maka rangkaian gerbangnya dapat dibuat seperti pada
gambar berikut :
Gambar 3.2.
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
3
Gambar 3.3.
3.1.2. Dekoder
Rangkaian Dekoder mempunyai sifat yang berkebalikan dengan Enkoder yaitu
merubah kode biner menjadi sinyal diskrit. Sebuah dekoder harus memenuhi syarat
perancangan m < 2 n . Variabel m adalah kombinasi keluaran dan n adalah jumlah bit
masukan. Satu kombinasi masukan hanya dapat mewakili satu kombinasi keluaran.
Perhatikan contoh tabel fungsi keluaran dekoder berikut :
X Y F0 F1 F2 F3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
Tabel 3.2. Fungsi keluaran dekoder 2ke4
Dari tabel diatas, dapat dibuat fungsi keluaran sebagai berikut :
F0 = X . Y
F1 = X . Y
F2 = X . Y
F3 = X . Y
Dari persamaan tersebut, maka rangkaian gerbangnya dapat dibuat seperti pada
gambar berikut :
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
4
Gambar 3.4.
Membuat suatu Enkoder dan dekoder dapat dilakukan dengan dua cara yaitu pertama,
menggunakan gerbanggerbang
dasar yang disusun membentuk fungsi Enkoder atau
dekoder, kedua, menggunakan IC Enkoder atau dekoder yang banyak terdapat
dipasaran. IC dekoder diaplikasikan pada seven segment, pengalamatan memori, dan
sebagainya.
3.2. Rangkaian Logika Sequensial
Flipflop
adalah rangkaian utama dalam logika sequensial. Counter, Register,
Memory, serta rangkaian sequensial lainnya disusun dengan menggunakan flipflop
sebagai komponen utama. Flipflop
adalah rangkaian yang mempunyai fungsi
pengingat (memory). Artinya rangkaian ini mampu melakukan penyimpanan data
sesuai dengan kombinasi masukan yang diberikan kepadanya. Ada beberapa macam
flipflop
yang akan dibahas yaitu RS
flipflop,
JK
flipflop,
D flipflop,
dan T flipflop.
Ciri utama dari flipflop
adalah keluaran Q dan Q adalah selalu berlawanan /
stabil (jika Q = 0 maka Q = 1, Jika Q = 1 maka Q =0). Karena kondisi dua keadaan
stabil ini rangkaian flipflop
dinamakan juga dengan rangkaian bistabil.
3.2.1. RS
flipflop
flipflop
ini terdiri dari dua masukan, yaitu S (set) dan R (reset). Serta dua
keluarannya yaitu Q dan Q . Kondisi Set adalah kondisi ketika Q berlogika 1.
Sedangkan kondisi Reset adalah kondisi ketika Q berlogika 0. Perhatikan gambar
berikut :
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
5
Gambar 3.5.
Untuk menganalisanya, asumsikan atau ambil permisalan keluaran sebelumnya.
1. Saat S = 0 dan R = 0. Misalkan keluaran sebelumnya Qn = 1 dan n Q = 0. maka
Qn+1 = 1 dan n 1 Q + = 0.
2. Saat S = 0 dan R = 0. Misalkan keluaran sebelumnya Qn = 0 dan n Q = 1. maka
Qn+1 = 0 dan n 1 Q + = 1. Dari dua analisa yang ada (1 dan 2), dapat disimpulkan
bahwa saat S = 0 dan R = 0, maka keluarannya adalah sama dengan keluaran
sebelumnya.
3. Saat S = 0 dan R = 1. Misalkan keluaran sebelumnya Qn = 1 dan n Q = 0. maka
Qn+1 = 0 dan n 1 Q + = 1.
4. Saat S = 0 dan R = 1. Misalkan keluaran sebelumnya Qn = 0 dan n Q = 1. maka
Qn+1 = 0 dan n 1 Q + = 1. Dari dua analisa yang ada (3 dan 4), dapat disimpulkan
bahwa saat S = 0 dan R = 1, maka keluaran Q = 0.
5. Saat S = 1 dan R = 0. Misalkan keluaran sebelumnya Qn = 1 dan n Q = 0. maka
Qn+1 = 1 dan n 1 Q + = 0.
6. Saat S = 1 dan R = 0. Misalkan keluaran sebelumnya Qn = 0 dan n Q = 1. maka
Qn+1 = 1 dan n 1 Q + = 0. Dari dua analisa yang ada (5 dan 6), dapat disimpulkan
bahwa saat S = 1 dan R = 0, maka keluaran Q = 1.
7. Saat S = 1 dan R = 1. Misalkan keluaran sebelumnya Qn = 1 dan n Q = 0. maka
Qn+1 = 1 dan n 1 Q + = 1.
8. Saat S = 1 dan R = 1. Misalkan keluaran sebelumnya Qn = 0 dan n Q = 1. maka
Qn+1 = 1 dan n 1 Q + = 1. (Ingat ciri utama flipflop
bahwa kondisi keluaran Q
dan Q harus berlawanan). Dari dua analisa yang ada (7 dan 8), dapat
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
6
disimpulkan bahwa flipflop
RS
tidak diperbolehkan / dilarang saat S = 1 dan
R = 1.
Input Output
S R Qn+1 n 1 Q +
0 0 Qn n Q
0 1 0 1
1 0 1 0
1 1 Terlarang
Tabel 3.3.
Perkembangan selanjutnya, flipflop
harus dipasang secara sinkron dengan unit lain
dan sesuai dengan clocknya.
Perhatikan gambar flipflop
RS
dengan clock.
Gambar 3.6.
3.2.2. JK
Flipflop
Flipflop
JK
merupakan penyempurnaan dari flipflop
RS
terutama untuk mengatasi
kondisi terlarang seperti yang telah dijelaskan diatas. Pada kondisi masukan J = 1 dan
K = 1 akan membuat kondisi keluaran berlawanan dengan kondisi keluaran
sebelumnya. Sementara untuk keluaran berdasarkan kondisikondisi
masukan yang
lain semua sama dengan Flipflop
RS.
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
7
Gambar 3.7.
Input Output
J K Qn+1 n 1 Q +
0 0 Qn n Q
0 1 0 1
1 0 1 0
1 1 n Q Qn
Tabel 3.4.
3.2.3. D FlipFlop
Flipflop
D merupakan Flipflop
RS
yang memaksa untuk memiliki satu masukan
dengan R selalu berlawanan dengan S, sehingga kondisi masukan SR
sama tidak
akan pernah terjadi. Perhatikan gambar flipflop
D berikut.
Gambar 3.8.
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
8
Input Output
D Qn+1
0 0
1 1
Tabel 3.5.
3.2.4. T Flipflop
Flipflop
T atau flipflop
toggle adalah flipflop
JK
yang kedua masukannya (J dan
K) digabungkan menjadi satu sehingga hanya ada satu jalan masuk. Karakteristik dari
flipflop
ini adalah kondisi keluaran akan selalu toggle atau berlawanan dengan
kondisi sebelumnya apabila diberikan masukan logika 1. Sementara itu kondisi
keluaran akan tetap atau sama dengan kondisi keluaran sebelumnya bila diberi
masukan logika 0.
Gambar 3.9.
Input Output
T Qn+1
0 Qn
1 n Q
Tabel 3.6.
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
9
3.2.5. Register
Register adalah rangkaian logika yang digunakan untuk menyimpan data. Dengan
kata lain, register adalah rangkaian yang tersusun dari satu atau beberapa flipflop
yang digabungkan menjadi satu. Flipflop
disebut juga sebagai register 1 bit. Jadi
untuk menyimpan 4 bit data, register harus terdiri dari 4 buah flipflop.
Untuk
menyimpan data pada register, dapat dilakukan dengan dua cara :
1. Disimpan secara sejajar (Parallel In) :
Pada cara ini semua bagian register atau masingmasing
flipflop
diisi (dipicu) pada
saat yang bersamaan.
2. Disimpan secara seri (Serial In) :
Pada cara ini, data dimasukkan bit demi bit mulai dari flipflop
yang paling ujung
(dapat dari kiri atau dari kanan), dan digeser sampai semuanya terisi. Bila data digeser
dari kanan kekiri disebut “Register geser kiri” (Shift Left Register), sebaliknya bila
data digeser dari kiri kekanan disebut “Register geser kanan” (Shift Right Register).
Register selain digunakan sebagai penyimpan data, juga sering digunakan sebagai
Counter (lihat modul 2.2.6) dan operasi bilangan / ALU (lihat modul 3).
Seperti pada penyimpanan data, untuk mengeluarkan data juga dapat dilakukan
dengan dua cara :
1. Dikeluarkan secara sejajar (Parallel Out)
2. Dikeluarkan secara seri (Serial Out)
Parallel
InParallel
Out (PIPO)
Perhatikan gambar berikut :
Gambar 3.10.
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
10
A, B, C, dan D adalah sinyal masukan. Saat clock (pemicu) diaktifkan (Logika 1),
maka data yang ada akan dikeluarkan secara bersamasama
ke Q3, Q2, Q1, dan Q0.
Saat clock kembali tidak dipicu (Logika 0), maka apapun masukannya, keluaran Q
akan tetap.
Serial
InSerial
Out (SISO)
Perhatikan Gambar berikut :
Gambar 3.11.
Saat sinyal clock diberikan pertama kali, data dari Si masuk ke flipflop
A, pada saat
clock kedua, data dari flipflop
A masuk ke flipflop
B, demikian seterusnya, sampai
keluar ke So. Jadi pada register SISO untuk membaca data pertama kali dibutuhkan
jumlah clock yang sama banyak dengan jumlah flipflop
yang ada pada register
(dalam hal ini adalah empat).
Parallel
In – Serial Out (PISO)
Gambar 3.12.
Modul 3
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
11
Serial
InParallel
Out (SIPO)
Gambar 3.13

Baca Selengkapnya......

Rangkaian Sequensial dan Flip-flop

1. Perbedaan dari rangkaian kombinasional dan sekuensial

• Rangkaian kombinasional terdiri dari gerbang logika yang memiliki output yang selalu tergantung pada kombinasi input yang ada. Rangkaian kombinasional melakukan operasi yang dapat ditentukan secara logika dengan memakai sebuah fungsi boolean.
• Rangkaian sekuensial merupakan rangkaian logika yang keadaan outputnya tergantung pada keadaan input-inputnya juga tergantung pada keadaan output sebelumnya. Rangkaian ini juga didefenisikan sebagai rangkaian logika yang outputnya tergantung waktu.

2. Perbedaan dari : Truth table, state table, characteristic table, exitation table serta perbedaan dari Boolean equation, state equation, characteristic equation, flip-flop input equation.

Bagian A
• Turth Table merupakan suatu tabel yang menyajikan beragam kombinasi inputan dari suatu fungsi beserta output yang dihasilkan, dalam penyajianya biasa terdapat potongan-potongan fungsi jika fungsi yang ingin disajian tersebut panjang.
• State Table merupakan tabel yang menyajikan satu-persatu input, output, dan susunan flip-flop yang ada.
• Characteristic Table merupakan defenisi dari sifat-sifat logika dari sebuah rangkaian flip-flop dengan menjelaskan operasinya yang disajikan dalam bentuk tabel.
• Exitation Tabel merupakan tabel yang digunakan untuk menunjukkan input yang digunakan untuk perubahan state awalan.Bagian B
• Boolean Equation berfungsi untuk mendefenisikan suatu fungsi dalam rangkaian menggunakan bilangan biner yang terdiri angka 0 dan 1 serta symbol operasi logika.
• State Equation berfungsi untuk menetapkan suatu fungsi dari state lanjutan sebagai sebuah fungsi dari state awalan sebagai fungsi dari state awal dan input.
• Characteristic Equation berfungsi untuk menjelaskan sifat-sifat logika dari sebuah rangkaian flip-flop (seperti pada Characteristic Table) dalam bentuk aljabar.
• Flip-flop Input Equation merupakan bagian dari rangkaian yang menghasilkan input untuk ragkaian flip-flop secara aljabar, menggunakan kumpulan fungsi boolean.

3. Penjelasan dari bebereapa flip flop :

• D Flip-flop merupakan salah satu jenis flip-flop yang dibangun dengan menggunakan flip-flop S-R. Perbedaannya dengan flip-flop S-R terletak pada inputan R, pada D Flip-flop inputan R terlebi dahulu diberi gerbang NOT, maka setiap input yang diumpankan ke D akan memberikan keadaan yang berbeda pada input S-R, dengan demikian hanya akan terdapat dua keadaan S dan R yairu S=0 dan R=1 atau S=1 dan R=0, jadi dapat disi
• Master Save D Flip-flop merupakan rangkaian flip-flop yang memiliki 2 latch D dan sebuah inverter. Latch yang satu bernama Master dan yang kedua bernama Slave. Master D hanya akan mendeskripsikan diktat yang outputnya hanya dapt diganti selama ujung negatif jam.
• JK Flip-flop merupakan rangkaian flip-flop yang dibangun untuk megantisipasi keadaan terlarang pada flip-flop S-R.
• T Flip-flop merupakan rangkaian flip-flop yang dibangun dengan menggunakan flip-flop J-K yang kedua inputnya dihubungkan menjadi satu maka akan diperoleh flip-flop yang memiliki watak membalik output sebelumnya jika inputannya tinggi dan outputnya akan tetap jika inputnya rendah.

Baca Selengkapnya......