Vhdl Lab Programs

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Vhdl Lab Programs as PDF for free.

More details

  • Words: 4,149
  • Pages: 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

Related Documents

Ecad Lab Vhdl Programs
June 2020 11
Vhdl Lab Programs
December 2019 9
Vhdl Programs
October 2019 16
Vhdl Lab
October 2019 8
Lab Programs
November 2019 20
Ooad Lab Programs
November 2019 7