Sie sind auf Seite 1von 57

EXPT NO: PAGE NO:

FULL ADDER

AIM:

Design and verify full adder by using dataflow style with select statement.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity fa_select is
port(a:in bit_vector(2 downto 0); s:out bit_vector(1 downto 0));
end fa_select ;
architecture beh of fa_select is
begin
with a select
s<=("00")when"000",
("10")when"001",
("10")when"010",
("01")when"011",
("10")when"100",
("01")when"101",
("01")when"110",
("11")when"111";
end beh;

SIMULATION OUTPUT:

RESULT: Full adder using dataflow style with select statement is simulated and
Verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL SUBTRACTOR

AIM:

Design and verify full subtractor by using dataflow style with select statement.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity flsub_select is
port(a:in bit_vector(2 downto 0);
s:out bit_vector(1 downto 0));
end flsub_select;
architecture beh of flsub_select is
begin
with a select
s<=("00") when "000",
("11") when "001",
("11") when "010",
("01") when "011",
("10") when "100",
("00") when "101",
("00") when "110",
("11") when "111";
end beh;

SIMULATION OUTPUT:

RESULT: Full subtractor using dataflow style with select statement is simulated and
verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL ADDER

AIM:

Design and verify full adder by using dataflow style with select statement

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity fa_select1 is
port(a,b,c:in bit; sum,carry:out bit);
end fa_select1;
architecture df of fa_select1 is
begin
with bit_vector'(a,b,c) select
(sum,carry)<=bit_vector'("00") when "000" ,
bit_vector'("10") when "001",
bit_vector'("10") when "010",
bit_vector'("10") when "100",
bit_vector'("01") when "110",
bit_vector'("01") when "011",
bit_vector'("01" )when "101",
bit_vector'("11") when "111";
end df;

SIMULATION OUTPUT:

RESULT: Full adder is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL ADDER

AIM:

Design and verify full adder by using behavioural model with if,elsif& then
statements.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity fulladder is
port(a:in std_logic_vector(2 downto 0);
s,ca:out std_logic);
end fulladder;
architecture fulladder of fulladder is
begin
process(a)
begin
if a="000" then s<='0';ca<='0';
elsif a="001" then s<='1';ca<='0';
elsif a="010" then s<='1';ca<='0';
elsif a="011" then s<='0';ca<='1';
elsif a="100" then s<='1';ca<='0';
elsif a="101" then s<='0';ca<='1';
elsif a="110" then s<='0';ca<='1';
else s<='1';ca<='1';
end if;
end process;
end fulladder;

SIMULATION OUTPUT:

RESULT: Full adder is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL SUBTRACTOR

AIM:

Design and verify full subtractor by using behavioural model with if,elsif& then
statements.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity fullsub is
port(a:in std_logic_vector(2 downto 0);
d,b:out std_logic);
end fullsub;
architecture fullsub of fullsub is
begin
process(a)
begin
if a="000" then d<='0';b<='0';
elsif a="001" then d<='1';b<='1';
elsif a="010" then d<='1';b<='1';
elsif a="011" then d<='0';b<='1';
elsif a="100" then d<='1';b<='0';
elsif a="101" then d<='0';b<='0';
elsif a="110" then d<='0';b<='0';
else d<='1';b<='1';
end if;
end process;
end fullsub;

SIMULATION OUTPUT:

RESULT: Full adder is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL ADDER
(DATAFLOW STYLE)

AIM:

Design and verify full adder by using dataflow style .

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity fa1 is
port(a,b,c:in bit;s,cout:out bit);
end fa1;
architecture fa1 of fa1 is
begin
s<=a xor b xor c;
cout<=(a and b)or(a and c)or (b and c);
end fa1;

SIMULATION OUTPUT:

RESULT: Full adder is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

HALF ADDER
( DATAFLOW STYLE)

AIM:

Design and verify half adder by using dataflow style .

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity ha1 is
port(a,b:in bit;s,c:out bit);
end ha1;
architecture ha1 of ha1 is
begin
s<=a xor b;
c<=a and b;
end ha1;

SIMULATION OUTPUT:

RESULT: Half adder is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

HALF SUBTRACTOR
( DATAFLOW STYLE )

AIM:

Design and verify half subtractor by using dataflow style .

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity hs1 is
port(a,b:in bit;d,bo:out bit);
end hs1;
architecture hs1 of hs1 is
begin
d<=a xor b;
bo<=(not a) and b;
end hs1;

SIMULATION OUTPUT:

RESULT: Half subtractor is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL SUBTRACTOR
( DATAFLOW STYLE )

AIM:

Design and verify full subtractor by using dataflow style .

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity fs1 is
port(a,b,c:in bit;d,bo:out bit);
end fs1;
architecture fs1 of fs1 is
begin
d<=a xor b xor c;
bo<=((not a)and b)or(b xor c);
end fs1;

SIMULATION OUTPUT:

RESULT: Full subtractor is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

AND GATE

AIM:

Simulation and verification of various logic gates.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity and2 is
port(a,b:in bit;y:out bit);
end and2;
architecture and2 of and2 is
begin
y <= a and b;
end and2;

SIMULATION OUTPUT:

RESULT: AND gate is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

OR GATE

AIM:

Simulation and verification of various logic gates.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity or2 is
port(a,b:in bit;y:out bit);
end or2;
architecture or2 of or2 is
begin
y<=a or b;
end or2;

SIMULATION OUTPUT:

RESULT: OR gate is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

XOR GATE

AIM:

Simulation and verification of various logic gates.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity xor2 is
port(a,b:in bit;y:out bit);
end xor2;
architecture xor2 of xor2 is
begin
y<=a xor b ;
end xor2;

SIMULATION OUTPUT:

RESULT: XOR gate is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

NAND GATE

AIM:

Simulation and verification of various logic gates.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity nand2 is
port(a,b:in bit;y:out bit);
end nand2;
architecture nand2 of nand2 is
begin
y<=a nand b;
end nand2;

SIMULATION OUTPUT:

RESULT: NAND gate is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

NOR GATE

AIM:

Simulation and verification of various logic gates.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity nor2 is
port(a,b:in bit;y:out bit);
end nor2;
architecture nor2 of nor2 is
begin
y<=a nor b;
end nor2;

SIMULATION OUTPUT:

RESULT: NOR gate is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

XNOR GATE

AIM:

Simulation and verification of various logic gates.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity xnor2 is
port(a,b:in bit;y:out bit);
end xnor2;
architecture xnor2 of xnor2 is
begin
y<=a xnor b;
end xnor2;

SIMULATION OUTPUT:

RESULT: NOR gate is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

NOT GATE

AIM:

Simulation and verification of various logic gates.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity not1 is
port(x:in bit;y:out bit);
end not1;
architecture df of not1 is
begin
y<=not x;
end df;

SIMULATION OUTPUT:

RESULT: NOT gate is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

3-INPUT NAND GATE

AIM:

Simulation and verification of 3-Input NAND gate.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity nand3 is
port(a,b,C:in bit;y:out bit);
end nand3;
architecture nand3 of nand3 is
begin
y <= not(a and b and C);
end nand3;

SIMULATION OUTPUT:

RESULT: 3-INPUT NAND gate is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

4-INPUT NAND GATE

AIM:

Simulation and verification of 4-Input NAND gate.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity nand4 is
port(a,b,C,d:in bit;y:out bit);
end nand4;
architecture nand4 of nand4 is
begin
y <= not(a and b and C and d);
end nand4;

SIMULATION OUTPUT:

RESULT: 4-INPUT NAND gate is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FUNCTION VERIFICATION

AIM:

Design and verification of function F(a,b,c) =∑ (0,2,4,5,6).

PROGRAM

library ieee;
use ieee.std_logic_1164.all;
entity function1 is
port(a,b,c:in bit;y:out bit);
end function1;
architecture fun1 of function1 is
begin
y<= (a and (not b))or (not c);
end fun1;

SIMULATION OUTPUT:

RESULT: Function F(a,b,c) =∑ (0,2,4,5,6) is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FUNCTION VERIFICATION

AIM:

Design and verification of function F(a,b,c) =∑ (1,2,3,5,7).

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity function2 is
port(a,b,c:in bit;y:out bit);
end function2;
architecture fun2 of function2 is
begin
y<= ((not a)and b)or c;
end fun2;

SIMULATION OUTPUT:

RESULT: Function F(a,b,c) =∑ (1,2,3,5,7) is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FUNCTION VERIFICATION

AIM:

Design and verification of function F(a,b,c,d ) =∑ (0,1,2,4,5,6,8,9,12,13,14).

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity function3 is
port(a,b,c,d:in bit;y:out bit);
end function3;
architecture fun3 of function3 is
begin
y<= (not c)or ((not a)and (not d))or( b and (not d ));
end fun3;

SIMULATION OUTPUT:

RESULT: Function F(a,b,c,d) =∑ (0,1,2,4,5,6,8,9,12,13,14) is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FUNCTION VERIFICATION

AIM:

Design and verification of function F(a,b,c,d) =∑ (0,2,4,6,9,13,21,23,25,29,31).

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity function4 is
port(a,b,c,d,e:in bit;y:out bit);
end function4;
architecture fun4 of function4 is
begin
y<= ((not a)and (not b)and (not e))or( b and (not d )and e)
or (a and c and e );
end fun4;

RESULT:Function F(a,b,c,d) =∑(0,2,4,6,9,13,21,23,25,29,31) is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

HALF ADDER
(STRUCTURAL MODEL)

AIM:

Simulation and verification of Half Adder using structural model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
use vamsi.all;
entity hfadder is
port(A,B:in bit;S,C:out bit);
end hfadder;
architecture struct of hfadder is
component xor1 is
port(a,b:in bit;c:out bit);
end component;
component and1 is
port(a,b:in bit;c:out bit);
end component;
Begin
X1:xor1 port map(A,B,S);
X2:and1 port map(A,B,C);
end struct;

SIMULATION OUTPUT: :

RESULT: Half Adder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL ADDER
(STRUCTURAL MODEL)

AIM:

Simulation and verification of Full Adder using structural model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity fa2 is
port(a1,b1,c1:in bit;sum,cout1:out bit);
end fa2;
use vamsi.all;
architecture struc of fa2 is
component xor2
port(a,b:in bit; y:out bit);
end component;
component and2
port(a,b:in bit;y:out bit);
end component;
component or2
port(a,b:in bit;y:out bit);
end component;
signal s1,s2,s3,s4,s5:bit;
begin
d1:exor1 port map(a1,b1,s1);
d2:exor1 port map(s1,c1,sum);
d3:and1 port map(a1,b1,s2);
d4:and1 port map(a1,c1,s3);
d5:and1 port map(b1,c1, s4);
d6:or1 port map(s2,s3,s5);
d7:or1 port map(s4,s5,cout1);
end struc;

SIMULATION OUTPUT:

RESULT: Full Adder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
HALF SUBTRACTOR
(STRUCTURAL MODEL)

AIM:

Simulation and verification of Half Subtractor using structural model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
use vamsi.all;
entity hfsub is
port(A,B:in bit;D,B0:out bit);
end hfsub;
architecture struct of hfsub is
component xor2 is
port(a,b:in bit;y:out bit);
end component;
component and2 is
port(a,b:in bit;y:out bit);
end component;
component not1 is
port(a:in bit;y:out bit);
end component;
signal s:bit;
Begin
X1:xor1 port map(A,B,D);
X2:not1 port map(A,s);
X3:and1 port map(s,B,B0);
end struct;

SIMULATION OUTPUT:

RESULT: Half Subtractor is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FULL SUBTRACTOR
(STRUCTURAL MODEL)

AIM:

Simulation and verification of Full Subtractor using structural model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
use vamsi.all;
entity fulsub is
port(A,B,C:in bit;D,Bo:out bit);
end fulsub;
architecture struct of fulsub is
component and2 is
port(a,b:in bit;y:out bit);
end component;
component xor2 is
port(a,b:in bit;y:out bit);
end component;
component or2 is
port(a,b:in bit;c:out bit);
end component;
component not1 is
port(a:in bit;y:out bit);
end component;
signal S0,S1,S2,S3,S4,S5:bit;
Begin
X1:xor1 port map(A,B,S1);
X2:xor1 port map(S1,C,D);
X3:not1 port map(A,S0);
X4:and1 port map(S0,B,S2);
X5:and1 port map(S0,C,S3);
X6:or1 port map(S2,S3,S5);
X7:and1 port map(B,C,S4);
X8:or1 port map(S5,S4,Bo);
end struct;

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

SIMULATION OUTPUT :

RESULT: Full Subtractor is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

2 TO 4 DECODER (DATAFLOW STYLE )

AIM:

Simulation and verification of 2 x 4 AND gate decoder.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity dec24 is
port(a,b,e:in std_logic; z:out std_logic_vector(0 to 3));
end dec24;
architecture data of dec24 is
begin
z(0)<= NOT((not a) AND (not b) AND e);
z(1)<= NOT (B AND (not a) and e);
z(2)<= NOT(a and (not b) and e);
z(3)<= NOT(a and b and e);
end data;

SIMULATION OUTPUT:

RESULT: 2 to 4 Decoder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

2 TO 4 DECODER (BEHAVIOURAL MODEL )

AIM:

Simulation and verification of 2 to 4 NAND gate decoder.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity dec is
port(a,b,e:in bit;z0,z1,z2,z3:out bit);
end dec;
architecture bm3 of dec is
begin
process(a,b,e)
variable abar,bbar:bit;
begin
abar:=not a;
bbar:=not b;
if e='1' then
z3<=not(a and b);
z0<=not(abar and bbar);
z2<=not(a and bbar);
z1<=not(abar and b);
end if;
end process;
end bm3;

SIMULATION OUTPUT: :

RESULT: 2 to 4 Decoder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

4 TO 1 MULTEPLXER (DATA FLOW STYLE )

AIM:

Simulation and verification of 4 x 1 NAND gate decoder.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity mu4to1 is
port(i0,i1,i2,i3:in bit;
s:in bit_vector(1 downto 0);
z:out bit);
end mu4to1;
architecture df1 of mu4to1 is
signal t0,t1,t2,t3,t4:bit;
begin
t0<=(i0 and not s(1) and not s(0));
t1<=(i1 and not s(1) and s(0));
t2<=(i2 and s(1) and not s(0));
t3<=(i3 and s(1) and s(0));
z<=t0 or t1 or t2 or t3;
end df1;

SIMULATION OUTPUT: :

RESULT: 4 to 1 Multiplexer is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

9 BIT PARITY GENERATOR (STRUCTURAL MODEL)

AIM:
Simulation and verification of 9-bit parity generator using structural model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
use vamsi.all;
entity pg is
port(d0,d1,d2,d3,d4,d5,d6,d7,d8:in bit;od:out bit);
end pg;
architecture str of pg is
component xor2
port(a,b:in bit;y:out bit);
end component;
component not1
port(a:in bit;y:out bit);
end component;
signal e0,e1,e2,e3,f0,f1,a0,ev:bit;
begin
x1:xor2 port map(d0,d1,e0);
x2:xor2 port map(d2,d3,e1);
x3:xor2 port map(d4,d5,e2);
x4:xor2 port map(d6,d7,e3);
x5:xor2 port map(f0,f1,a0);
x6:xor2 port map(a0,d8,ev);
x7:not1 port map(ev,od);
end str;

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

SIMULATION OUTPUT:

RESULT: 9 bit Priority encoder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

17 BIT PARITY GENERATOR (STRUCTURAL MODEL)

AIM:

Simulation and verification of 17-bit parity generator using structural model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
use vamsi.all;
entity pg1 is
port(d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16:in bit;
od:buffer bit;ev:buffer bit);
end pg1;
architecture str of pg1 is
component xor2
port(a,b:in bit;y:out bit);
end component;
component xor2
port(a,b:in bit;y:buffer bit);
end component;
component not1
port(a:in bit;y:buffer bit);
end component;
signal e0,e1,e2,e3,e4,e5,e6,e7,a0,a1,a2,a3,b0,b1,f0:bit;
begin
x1:xor2 port map(d0,d1,e0);
x2:xor2 port map(d2,d3,e1);
x3:xor2 port map(d4,d5,e2);
x4:xor2 port map(d6,d7,e3);
x5:xor2 port map(d8,d9,e4);
x6:xor2 port map(d10,d11,e5);
x7:xor2 port map(d12,d13,e6);
x8:xor2 port map(d14,d15,e7);
x9:xor2 port map(e0,e1,a0);
x10:xor2 port map(e2,e3,a1);
x11:xor2 port map(e4,e5,a2);
x12:xor2 port map(e6,e7,a3);
x13:xor2 port map(a0,a1,b0);
x14:xor2 port map(a2,a3,b1);
x15:xor2 port map(b0,b1,f0);
x16:xor2 port map(f0,d16,od);
x17:not1 port map(od,ev);
end str;

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

SIMULATION OUTPUT: :

RESULT: 17- bit Priority encoder is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
ALU (ARITHMATIC OPERATIONS)

AIM:
simulation and verification of arithmetic operations.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity arithmatic is
port(a,b:in std_logic_vector(3 downto 0);
q1:out std_logic_vector(4 downto 0);
q2:out std_logic_vector(3 downto 0);
q3:out std_logic_vector(7 downto 0));
end arithmatic;
architecture df of arithmatic is
begin
q1<=('0'&a)+('0'&b);
q2<=a-b;
q3<=a*b;
end df;

SIMULATION OUTPUT: :

RESULT: ALU is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
ALU(1’s&2’s COMPLEMENTATION)

AIM:
simulation and verification of 1’s 2’s complement arithmetic operations.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity complement is
port(a:in std_logic_vector(4 downto 0);
c2:out std_logic_vector(4 downto 0));
end complement;
architecture beh of complement is
signal c1:std_logic_vector(4 downto 0);
begin
c1<=(not a);
c2<=c1 + 1;
end beh;

SIMULATION OUTPUT: :

RESULT:ALU is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
BCD TO EXCESS-3 CODE CONVERSION

AIM:
simulation and verification of BCD to Excess – 3 code.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity bin2ex3 is
port(d: in std_logic_vector(3 downto 0);
q: out std_logic_vector(3 downto 0);p:out std_logic);
end bin2ex3;
architecture bin2ex3 of bin2ex3 is
signal s:std_logic_vector(4 downto 0);
begin
s<=('0'& d)+"0011";
q<=s(3 downto 0);
p<=s(4);
end bin2ex3;

SIMULATION OUTPUT: :

RESULT: BCD TO EXCESS-3 CODE CONVERSION is simulated and verified

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
2 TO 4 DECODER (STRUCTURAL MODEL)

AIM:

Simulation and verification of 2 x 4decoder.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
use soujanya.all;
entity twoto4dec is
ort(A,B,E:in bit;Z0,Z1,Z2,Z3:out bit);
end twoto4dec;
architecture struct of twoto4dec is
component nand2 is
port(a,b,c:in bit;y:out bit);
end component;
component not1 is
port(a:in bit;y:out bit);
end component;
signal A0,B0:bit;
Begin
X1:not1 port map(A,A0);
X2:not1 port map(B,B0);
X3:nand2 port map(A0,B0,E,Z0);
X4:nand2 port map(A0,B,E,Z1);
X5:nand2 port map(A,B0,E,Z2);
X6:nand2 port map(A,B,E,Z3);
end struct;

SIMULATION OUTPUT: :

RESULT: 2 to 4 Decoder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
BINARY TO GRAY CODE CONVERSION

AIM:
simulation and verification of binary to gray code conversion.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity bi_to_g is
port(b:in std_logic_vector(3 downto 0);
g:out std_logic_vector(3 downto 0));
end bi_to_g;
architecture df of bi_to_g is
begin
g(3)<=b(3);
g(2)<=b(3) xor b(2);
g(1)<=b(2) xor b(1);
g(0)<=b(1) xor B(0);
end df;

SIMULATION OUTPUT: :

RESULT: BINARY TO GRAY CODE CONVERSION is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
GRAY TO BINARY CODE CONVERSION

AIM:
simulation and verification of gray to binary code conversion.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity gryb2 is
port(d: in std_logic_vector(3 downto 0);q: out std_logic_vector(3 downto 0));
end gryb2;
architecture gryb2 of gryb2 is
begin
q(3)<=d(3);
q(2)<=d(3) xor d(2);
q(1)<=d(1) xor d(2) xor d(3);
q(0)<=d(1) xor d(0) xor d(2) xor d(3);
end gryb2;

SIMULATION OUTPUT: :

RESULT: GRAY TO BINARY CODE CONVERSION is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
RS LATCH (BEHAVIOURAL MODEL )

AIM:
Simulation and verification of RS-latch using behavioural model

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity rslatch is
port(r,s,clk:in bit;q,nq:inout bit);
end rslatch;
architecture beh of rslatch is
signal temp:bit;
begin
b1: block(clk='1')
begin
temp<=guarded(r nand q);
nq<=temp;
q<=s nand nq after 5 ns;
end block b1;
end beh;

SIMULATION OUTPUT: :

RESULT: RS LATCH is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
T -FLIP FLOP (BEHAVIOURAL MODEL)

AIM:
Simulation and verification of T- FLIP FLOP using behavioural model

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity tff is
port(t,clk:in std_logic;
q:inout std_logic:='0');
end tff;
architecture beh of tff is
begin
process(clk)
begin
if (clk' event and clk='1') then
if(t='1') then
q<= not (q);
else
q<=q;
end if;
end if;
end process;
end beh;

SIMULATION OUTPUT: :

RESULT: T FLIP FLOP is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
D-LATCH (BEHAVIOURAL MODEL WITH DATA ,ENABLE )

AIM:
Simulation and verification of D- LATCH using behavioural model

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity dl2 is
port(d,e:in bit; q:out bit);
end dl2;
architecture beh of dl2 is
begin
process(d,e)
begin
if e='1' then
q<=d;
end if;
end process;
end beh;

SIMULATION OUTPUT: :

RESULT: D- LATCH is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
POSITIVE LEVEL TRIGGERED D-FLIP FLOP .

AIM:
Simulation and verification of positive level triggered D-FLIP FLOP using
behavioural model

PROGRAM:

library ieee;
entity dff2 is
port(d,clk:in bit;q:out bit);
end dff2;
architecture dff of dff2 is
begin
process(d,clk)
begin
if clk='1' then
q<=d;
end if;
end process;
end dff;

SIMULATION OUTPUT: :

RESULT: positive level triggered D-FLIP FLOP using behavioural model is simulated

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
POSITIVE EDGE TRIGGERED D-FLIP FLOP.

AIM:
Simulation and verification of positive edge triggered D-FLIP FLOP using
behavioural model

PROGRAM:

library ieee;
entity dff3 is
port(d,clk:in bit;q:out bit);
end dff3;
architecture dfn of dff3 is
begin
process(clk)
begin
if clk'event and clk='1' then
q<=d;
end if;
end process;
end dfn;

SIMULATION OUTPUT: :

RESULT: Positive edge Triggered D-FLIP FLOP using behavioural model


is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
D-LATCH WITH GATED ENABLE

AIM:
Simulation and verification of D-LATCH with gated enable using behavioural
model

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity dl1 is
port(d,en,g:in bit;q:out bit);
end dl1;
architecture beh of dl1 is
begin
process(d,en,g)
begin
if ((en and g)='1') then
q<=d;
end if;
end process;
end beh;

SIMULATION OUTPUT: :

RESULT: D-LATCH with gated enable using behavioural model is simulated and
verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:
JK FLIP FLOP ( BEHAVIOURAL MODEL).

AIM:
Simulation and verification of JK FLIP FLOP using behavioural model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
entity jkff1 is
port (s,r,j,k,clk:in bit;q:inout bit;qn:out bit:='1');
end jkff1;
architecture jkff of jkff1 is
begin
process(s,r,clk)
begin
if r='0' then q<='0' after 10ns;
elsif s='0' then q<='1' after 10ns;
elsif clk='0' and clk' event then
q<=(j and not q) or (not k and q) after 10ns;
end if;
end process;
qn<=not q;
end jkff;

SIMULATION OUTPUT: :

RESULT: JK-FLIP FLOP using behavioural Model is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

2 TO 4 DECODER

AIM:
Simulation and verification of 2 To 4 Decoder using NAND gates.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity dec24 is
port(a,b,e:in std_logic; z:out std_logic_vector(0 to 3));
end dec24;
architecture data of dec24 is
begin
z(0)<= NOT((not a) AND (not b) AND e);
z(1)<= NOT (B AND (not a) and e);
z(2)<= NOT(a and (not b) and e);
z(3)<= NOT(a and b and e);
end data;

SIMULATION OUTPUT:

RESULT: 2 to 4 Decoder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

3 TO 8 DECODER

AIM:
Simulation and verification of 3 to 8 decoder using NAND gates.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity dec38 is
port(a,b,c,e:in std_logic; z:out std_logic_vector(0 to 7));
end dec38;
architecture beh of dec38 is
begin
z(0)<=not((not a)and(not b)and (not c)and e);
z(1)<=not((not a)and(not b)and c and e);
z(2)<=not((not a)and b and(not c)and e);
z(3)<=not((not a) and b and c and e);
z(4)<=not(a and(not b)and(not c) and e);
z(5)<=not(a and(not b)and c and e);
z(6)<=not(a and b and(not c) and e);
z(7)<=not(a and b and c and e);
end beh;

RESULT: 3 to 8 Decoder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

2 TO 1 MULTIPLEXER

AIM:
Simulation and verification of 2 to1 Multiplexer.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity mux21 is
port(a,b,s:in bit;f:out bit);
end mux21;
architecture beh of mux21 is
begin
f<= (a and (not s)) or (b and s);
end beh;

SIMULATION OUTPUT:

RESULT: 2 to 1 Multiplexer is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

3 TO 8 DECODER

AIM:
Simulation and verification of 3 to 8 Decoder.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
entity dec38 is
port(a,b,c,e:in std_logic; z:out std_logic_vector(0 to 7));
end dec38;
architecture beh of dec38 is
begin
z(0)<=(not a)and(not b)and (not c)and e;
z(1)<=(not a)and(not b)and c and e;
z(2)<=(not a)and b and(not c)and e;
z(3)<=(not a) and b and c and e;
z(4)<=a and(not b)and(not c) and e;
z(5)<=a and(not b)and c and e;
z(6)<=a and b and(not c) and e;
z(7)<=a and b and c and e;
end beh;

SIMULATION OUTPUT:

RESULT: 3 to 8 Decoder is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

3 TO 8 DECODER (STRUCTURAL MODEL)


AIM:
Simulation and verification of 3 to 8 Decoder Using Structural Model.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
use dsce04.all;
entity dec37 is
port(a,b,c,e:in bit; z0,z1,z2,z3,z4,z5,z6,z7:out bit);
end dec37;
architecture struc of dec37 is
component and4 is
port(g,h,i,j:in bit; k:out bit);
end component;
component not1 is
port(a:in bit; b:out bit);
end component;
signal s1,s2,s3:bit;
begin
x1:not1 port map(a,s1);
x2:not1 port map(b,s2);
x3:not1 port map(c,s3);
x4:and4 port map(s1,s2,s3,e,z0);
x5:and4 port map(s1,s2,c,e,z1);
x6:and4 port map(s1,b,s3,e,z2);
x7:and4 port map(s1,b,c,e,z3);
x8:and4 port map(a,s2,s3,e,z4);
x9:and4 port map(a,s2,c,e,z5);
x10:and4 port map(a,b,s3,e,z6);
x11:and4 port map(a,b,c,e,z7);
end struc;

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

SIMULATION OUTPUT:

RESULT: 3 to 8 Decoder Using Structural Model is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

4 BIT FULL ADDER (STRUCTURAL MODEL)

AIM:
Simulation and verification of 4 Bit Full Adder Using Structural Model.

PROGRAM:

Library ieee;
use ieee.std_logic_1164.all;
use dsce04.all;
entity adder1 is
port(x0,x1,x2,x3,y0,y1,y2,y3:in std_logic;
c:in std_logic;
cout:out std_logic;
s0,s1,s2,s3:out std_logic);
end adder1;
architecture str of adder1 is
signal c1,c2,c3:std_logic;
component fa3
port(x,y,c:in std_logic;s,cout:out std_logic);
end component ;
begin
n1:fa3 port map(x0,y0,c,s0,c1);
n2:fa3 port map(x1,y1,c1,s1,c2);
n3:fa3 port map(x2,y2,c2,s2,c3);
n4:fa3 port map(cout=>cout,c=>c3,x=>x3,y=>y3,s=>s3);
end str;

SIMULATION OUTPUT: :

RESULT: 4 Bit Full Adder Using Structural Model is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

4 TO 16 DECODER (STRUCTURAL MODEL)

AIM:
Simulation and verification of 4 to 16 Decoder Using Structural Model.

PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
use dsce04.all;
entity dec416 is
port(w0,w1,w2,w3,e:in std_logic; q:out std_logic_vector(0 to 15));
end dec416;
architecture struc of dec416 is
component dec24 is
port(a,b,e:in std_logic; z0,z1,z2,z3:out std_logic);
end component;
signal p0,p1,p2,p3: std_logic;
begin
x1:dec24 port map(w0,w1,e,p0,p1,p2,p3);
x2:dec24 port map(w2,w3,p0,q(0),q(1),q(2),q(3));
x3:dec24 port map(w2,w3,p1,q(4),q(5),q(6),q(7));
x4:dec24 port map(w2,w3,p2,q(8),q(9),q(10),q(11));
x5:dec24 port map(w2,w3,p3,q(12),q(13),q(14),q(15));
end struc;

SIMULATION OUTPUT: :

RESULT: 4 to 16 Decoder Using Structural Model is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

D-FLIP FLOP

AIM:
Simulation and verification of D-Flip Flop Using Behavioural Model

PROGRAM:

library ieee;
entity dff2 is
port(d,clk:in bit;q:out bit);
end dff2;
architecture dff of dff2 is
begin
process(d,clk)
begin
if clk='1' then
q<=d;
end if;
end process;
end dff;

SIMULATION OUTPUT: :

RESULT: D-FLIP FLOP Using Behavioural Model is simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET


EXPT NO: PAGE NO:

FUNCTION VERIFICATION
(STRUCTURAL MODEL)
AIM:

Design and verification of function F(a,b,c,d) =∑ (0,1,2,4,5,6,8,9,12,13,14) Using


Structural Model
PROGRAM:

library ieee;
use ieee.std_logic_1164.all;
use dsce04.all;
entity kmap1 is
port(w,x,y,z:in bit; f:out bit);
end kmap1;
architecture struc of kmap1 is
component or2 is
port(a,b,c:in bit;d:out bit);
end component;
component and1 is
port(g,h:in bit; i:out bit);
end component;
component not1 is
port(a:in bit; b:out bit);
end component;
signal s1,s2,s3,s4,s5:bit;
begin
x1:not1 port map(w,s1);
x2:not1 port map(z,s2);
x3:not1 port map(y,s3);
x4:and1 port map(s1,s2,s4);
x5:and1 port map(s2,x,s5);
x6:or2 port map(s3,s4,s5,f);
end struc;

SIMULATION OUTPUT: :

RESULT: Function F(a,b,c,d) =∑ (0,1,2,4,5,6,8,9,12,13,14)Using Structural Model is


simulated and verified.

NARASARAOPET ENGINEERING COLLEGE -NARASARAOPET