VHDL Source Code of SR_latch
--------------------------------
-- VHDL code for SR_Latch
--------------------------------
--##############################
--#Entity of SR latch
--##############################
ENTITY sr_latch IS
PORT (
s, r: IN BIT := '0';
q: INOUT BIT );
END sr_latch;
--###########################################################
--# Implementing using conditional two logic gates
--###########################################################
ARCHITECTURE v1 OF sr_latch IS
SIGNAL p: BIT := '1';
BEGIN
p <= s NOR q;
q <= p NOR r;
END v1;
--###########################################################
--# Implementing using conditional assignment statement
--###########################################################
ARCHITECTURE v2 OF sr_latch IS
SIGNAL p: BIT := '1';
SIGNAL old_q: BIT := '0';
BEGIN
PROCESS (p, old_q, s, r)
BEGIN
old_q <= NOT ( p OR r );
IF s = '0' AND r = '0' THEN
p <= NOT old_q;
q <= old_q;
ELSIF s = '0' AND r = '1' THEN
p <= '1';
q <= '0';
ELSIF s = '1' AND r = '0' THEN
p <= '0';
q <= '1';
END IF;
END PROCESS;
END v2;
--###########################################################
--# Implementing using conditional assignment statement
--###########################################################
ARCHITECTURE v2_behavior2 OF sr_latch IS
BEGIN
PROCESS (s, r)
BEGIN
IF s = '0' AND r = '0' THEN
q <= q;
ELSIF s = '0' AND r = '1' THEN
q <= '0';
ELSIF s = '1' AND r = '0' THEN
q <= '1';
END IF;
END PROCESS;
END v2_behavior2;
--###########################################################
--# Implementing using characteristic equation
--###########################################################
ARCHITECTURE v3 OF sr_latch IS
SIGNAL p: BIT := '1';
SIGNAL old_q: BIT := '0';
BEGIN
p <= NOT ( s OR old_q );
old_q <= NOT ( p OR r );
q <= s OR ((NOT r) AND old_q );
END v3;
--###########################################################
--#Implementing using characteristic equation
--###########################################################
ARCHITECTURE v3_behavior2 OF sr_latch IS
BEGIN
q <= s OR ((NOT r) AND q );
END v3_behavior2;
--------------------------------
-- end of VHDL code for SR latch
--------------------------------
Go back to My Homepage