Perkenalan

Flip-flop adalah rangkaian logika yang mampu mempertahankan nilai outputnya secara independen dari perubahan nilai input, yaitu mengandung suatu keadaan “memori”. Ini adalah elemen yang memungkinkan transisi dari logika kombinasional ke logika sekuensial. Ada beberapa jenis sandal jepit: Astabil, Bistabil, dan Monostabil. Astabil: Ini adalah flip-flop yang terdiri dari 2 keadaan tidak stabil dan beralih secara periodik (periode T) dan spontan dari satu keadaan ke yang lain. Bistabil: Memiliki dua keadaan stabil. Dalam logika, ini diterjemahkan ke keadaan logika “1” atau “0”. Monostabil: Hanya memiliki satu keadaan stabil, keadaan lainnya bersifat sementara. Ada dua jenis flip-flop: asinkron dan sinkron. Flip-flop sinkron mempunyai masukan Jam, sedangkan flip-flop asinkron tidak. Flip-flop asinkron – Kursi goyang RS – Kunci D Flip-flop sinkron – Sang Rocker D – Saklar JK

Apa perbedaan antara flip-flop dan gerbang logika?

Flip-flop adalah rangkaian logika yang mampu mempertahankan nilai outputnya secara independen dari perubahan nilai input, yaitu mengandung suatu keadaan “memori”. Ini adalah elemen yang memungkinkan transisi dari logika kombinasional ke logika sekuensial.
Flip-flop sering kali tersusun dari beberapa gerbang logika. Berikut ini adalah contoh dengan flip-flop D:

Apa perbedaan antara toggle dan latch?

Perbedaan utama antara flip-flop dan latch adalah flip-flop memeriksa masukan tetapi hanya mengubah keluaran pada waktu yang ditentukan oleh sinyal jam atau sinyal kontrol lainnya sedangkan latch memeriksa masukan secara terus-menerus dan segera merespons perubahan masukan.

Flip-flop D

Sekarang kita akan melihat flip-flop D dengan reset asinkron. Untuk ini kami akan menggunakan input data untuk data yang ingin Anda komunikasikan. Kita memerlukan jam (clk) karena ia merupakan flip-flop sinkron. Terakhir fungsi reset untuk meneruskan data dari d ke q atau untuk mereset flip-flop.

Bagaimana cara kerja D flip-flop?

  • Bila resetnya adalah 1, maka keluaran q mengambil nilai 0.
  • Jika resetnya adalah 0, maka kami mengirimkan nilai yang datang dari d dengan q pada setiap detak jam.
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY bascule_D IS
PORT (d, clk, rst: IN STD_LOGIC;
q: OUT STD_LOGIC);
END bascule_D;

ARCHITECTURE comportement OF bascule_D IS
BEGIN
PROCESS (clk, rst)
BEGIN
IF (rst='1') THEN
q <= '0';
ELSIF (clk'EVENT AND clk='1') THEN
q <= d;
END IF;
END PROCESS;
END comportement;
Berikut ini hasil simulasinya:
Detik jam ke-1: Jamnya tinggi, begitu pula dengan reset, jadi sinyal masukan d tidak bisa masuk ke sinyal keluaran q.

Flip-flop JK

Flip-flop JK merupakan jenis flip-flop bistabil, yang berarti memiliki dua keadaan stabil yang berbeda. Namanya, “JK,” berasal dari huruf yang dikaitkan dengan pelabuhan masuk utamanya: J dan K.

Ketika J dan K memiliki nilai yang berbeda, flip-flop JK mengubah keadaan berdasarkan urutan yang terdefinisi dengan baik. Jika J tinggi (1) dan K rendah (0), flip-flop akan mengambil status “SET” (1). Jika J rendah (0) dan K tinggi (1), flip-flop akan mengambil status “RESET” (0). Jika J dan K keduanya tinggi (1), flip-flop akan beralih, berganti antara keadaan dengan setiap pulsa jam.

library ieee;
use ieee.std_logic_1164.all;

entity Bascule is
	port(J,K,Clk,Set, Reset : in std_logic;
	Q, Q_bar : out std_logic);
end Bascule;

architecture bascule_JK of Bascule is 
	signal SIG : std_logic;
	signal JK : std_logic_vector (1 downto 0);
begin
	JK(1) <= J;
	JK(0) <= K;
	process(Clk, Set, Reset)
	begin
	if (Reset = '0'and Set = '0') then
	   SIG <= '0';
	elsif (Reset = '0' and Set = '1') then
	   Sig <= '0';
   elsif (Reset ='1' and Set ='0') then
	Sig <='1'; 
	elsif (Reset = '1' and Set ='1') then
	if (Clk'event and Clk ='0') then 
		case JK is 
			when "00" => SIG <= SIG;
			when "01" => SIG <= '0';
			when "10" => SIG <= '1';
			when "11" => SIG <= not SIG; 
			when others => SIG <= '-';
		end case; 
		else 
			SIG <= SIG;
		end if; 
	end if; 
	end process; 
	Q <= SIG; 
	Q_bar <= not SIG; 
end bascule_JK; 
	
Berikut ini hasil simulasinya: