SlideShare a Scribd company logo
1 of 61
Download to read offline
P a g e | 1
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 1
Objective: - VHDL code for logic gate.
1. VHDL code for INVERTER :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity not_gate is
Port ( a : in STD_LOGIC;
b : out STD_LOGIC);
end and_gate;
architecture Behavioral of not_gate is
begin
b <= not a ;
end Behavioral;
2. VHDL code for AND GATE:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity and_gate is
Port ( p : in STD_LOGIC;
q : in STD_LOGIC;
s : out STD_LOGIC);
end and_gate;
architecture Behavioral of and_gate is
begin
s <= p and q ;
end Behavioral;
P a g e | 2
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
3. VHDL code for OR GATE :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity or_gate is
Port ( p : in STD_LOGIC;
q : in STD_LOGIC;
s : out STD_LOGIC);
end or_gate;
architecture Behavioral of or_gate is
begin
s <= p or q ;
end Behavioral;
4. VHDL code for NAND GATE :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity nand_gate is
Port ( p : in STD_LOGIC;
q : in STD_LOGIC;
s : out STD_LOGIC);
end nand_gate;
architecture Behavioral of nand_gate is
begin
s <= p nand q ;
end Behavioral;
P a g e | 3
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
5. VHDL code for NOR GATE:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity nor_gate is
Port ( p : in STD_LOGIC;
q : in STD_LOGIC;
s : out STD_LOGIC);
end nor_gate;
architecture Behavioral of nor_gate is
begin
s <= p nor q ;
end Behavioral;
6. VHDL code for Ex-OR GATE:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity xor_gate is
Port ( p : in STD_LOGIC;
q : in STD_LOGIC;
s : out STD_LOGIC);
end xor_gate;
architecture Behavioral of xor_gate is
begin
s <= p xor q ;
end Behavioral;
7. VHDL code for EX_NOR :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity xnor_gate is
Port ( p : in STD_LOGIC;
q : in STD_LOGIC;
s : out STD_LOGIC);
P a g e | 4
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
end xnor_gate;
architecture Behavioral of xnor_gate is
begin
s <= p xnor q ;
end Behavioral;
RTL schematics :
INVERTER:
AND GATE:
OR GATE:
P a g e | 5
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
NAND GATE:
NOR GATE :
EX-OR GATE:
P a g e | 6
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
EX-NOR GATE:
Simulation result :
INVERTER :
AND GATE:
OR GATE :
P a g e | 7
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
NAND GATE:
NOR GATE:
EX-OR GATE :
EX-NOR GATE :
P a g e | 8
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 2
Objective: - Implemented half adder using VHDL. (Data flow, structural and behavioral
modelling.)
1. VHDL code for Half adder in dataflow Modelling.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity Half_adder is
Port ( m,n : in STD_LOGIC;
s : out STD_LOGIC;
c : out STD_LOGIC);
end Half_adder;
architecture Behavioral of Half_adder is
begin
s<= m xor n;
c<= m and n;
end Behavioral;
P a g e | 9
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
2. VHDL code for structural modelling.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Half_adder _structural is
port(m,n : in STD_LOGIC;
s: out STD_LOGIC);
end Half_adder_structural ;
architecture Behavioral of Half_adder_structural is
component and_gate_2IP is
Port( m,n : in STD_LOGIC;
S:out STD_LOGIC);
end component ;
component xor_gate_2IP is
port (m,n : in STD_LOGIC;
s:out STD_LOGIC);
begin
X1:xor_gate_2IP port map(m,n,s);
A1:and_gate_2IP port map(m,n,c);
end behavioral;
P a g e | 10
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
3. VHDL code for Half Adder in Behavioral Modelling.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC ARITH.ALL;
use IEEE.STD_LOGIC 1UNSIGNED.ALL;
entity Half Adder Behavioral is
Port ( m,n : in STD LOGIC; s,c : out STD_LOGIC);
end Half Adder_Behavioral;
architecture Behavioral of Half Adder Behavioral is
begin
process(m,n)
begin
if (m/=n) then
s<=' 1 ;
else
s<='0';
end if;
end process;
process(m,n)
begin
if ((m=’1’) and (n=’1’) then
s<=’1’;
else
c<=’0’;
end if;
end process;
end Behavioral ;
P a g e | 11
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
Simulation Result :
P a g e | 12
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 3
Objective: - Implanted the Full adder using VHDL(Data flow, Structural and behavioural
modelling.)
1. DATA FLOW
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity FA is
Port ( X : in STD_LOGIC;
Y : in STD_LOGIC;
Z : in STD_LOGIC;
S : out STD_LOGIC;
C : out STD_LOGIC);
end FA;
architecture Behavioral of FA is
begin
S <= X XOR Y XOR Z;
C <= (X AND Y) OR (Y AND Z) OR (Z AND X);
end Behavioral;
P a g e | 13
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
Simulation result :
P a g e | 14
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 4
Objective: - Implanted the Half subtractor And Full subtractor.
1. HALF SUBSTRACTOR in DATA FLOW
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity HALF_SUB_STRUCT is
Port ( V,R : in STD_LOGIC;
S : out STD_LOGIC;
B : out STD_LOGIC);
end HALF_SUB;
architecture Behavioral of HALF_SUB is
begin
S <= V xor R;
B <= ((not V) and R);
end Behavioral;
2. HALF SUBTRACTOR IN STRUCTURAL MODELLING
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
P a g e | 15
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
entity HALF_SUB_STRUCT is
Port ( V,R : in STD_LOGIC;
S : out STD_LOGIC;
B : out STD_LOGIC);
end HALF_SUB;
architecture Behavioral of HALF_SUB is
component and_gate_2IP is
Port(j,k : in STD_LOGIC;
l : out STD_LOGIC);
end component;
Component Xor_gate_2IP is
Port(j,k : in SYD_LOGIC;
l : out STD_LOGIC);
begin
S : Xor_gate_2IP port map (j,k,l);
V : and_gate_2IP port map ((not j),k,l,l0);
end Behavioral;
2.1 FULL SUBSTRATOR
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity FS is
Port ( X : in STD_LOGIC;
Y : in STD_LOGIC;
Z : in STD_LOGIC;
D : out STD_LOGIC;
B : out STD_LOGIC);
end FS;
architecture Behavioral of FS is
begin
D <= X XOR Y XOR Z;
B <= ((NOT X)AND Y)OR(Y AND Z)OR((NOT X) AND Z);
end Behavioral;
P a g e | 16
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics : HALF SUBSTRATOR
RTl Schematics in data flow
FULL SUBSTRATOR
RTL Schematics in data flow
P a g e | 17
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics in Structural modelling
Simulation Result :
HALF SUBSTRATOR :
FULL SUBSTRATOR :
P a g e | 18
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 5
Objective: - TO Design a Full adder Using Half Adder.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity full_half_adder is
Port ( a : in STD_LOGIC;
b : in STD_LOGIC;
c : in STD_LOGIC;
sum_fa : out STD_LOGIC;
carry_fa : out STD_LOGIC);
end full_half_adder;
architecture structure of full_half_adder is
component half_adder is
port(a,b :in STD_LOGIC;
sum,carry :out STD_LOGIC);
end component half_adder;
component or_gate is
port(a,b:in STD_LOGIC;
c:out STD_LOGIC);
P a g e | 19
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
end component or_gate;
signal s1,c1,c2: STD_LOGIC;
begin
X1 : half_adder port map (a, b, s1, c1);
X2 : half_adder port map(s1, c, sum_fa, c2);
X3 : or_gate port map(c1, c2, carry_fa);
end structure;
RTL Schematics :
Simulation Result :
P a g e | 20
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: _________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 6
Objective: - To design the RIPPLE CARRY ADDER using VHDL.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity ripple_carry is
Port ( a1,a2,a3,a4 : in STD_LOGIC;
b1,b2,b3,b4 : in STD_LOGIC;
s1,s2,s3,s4,carry : out STD_LOGIC);
end ripple_carry;
architecture Behavioral of ripple_carry is
component full_adder is
Port ( i1,i2,i3 : in STD_LOGIC;
sum : out STD_LOGIC;
carry : out STD_LOGIC);
end component full_adder;
component half_adder is
Port ( a : in STD_LOGIC;
b : in STD_LOGIC;
sum : out STD_LOGIC;
P a g e | 21
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
carry : out STD_LOGIC);
end component half_adder;
signal c1,c2,c3: STD_LOGIC;
begin
HA1: half_adder port map (a1,b1,s1,c1);
FA2: full_adder port map (a2,b2,c1,s2,c2);
FA3: full_adder port map (a3,b3,c2,s3,c3);
FA4: full_adder port map (a4,b4,c3,s4,carry);
end Behavioral;
RTL Schematics:
P a g e | 22
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics for Ripple carry adder
Simulation result :
P a g e | 23
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2016-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 7
Objective: - Implement 2x4 and 3x8 Decoders using VHDL
(Structural, Dataflow & Behavioral modelling).
1. 2X4 DECODER in Data flow .
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity decoder_2X4 is
Port ( i : in STD_LOGIC_VECTOR (1 downto 0);
y : out STD_LOGIC_VECTOR (3 downto 0));
end decoder_2X4;
architecture Behavioral of decoder_2X4 is
begin
process(i)
begin
if i="00" then
y<="0001";
elsif i="01" then
y<="0010";
elsif i="10" then
y<="0100";
elsif i="11" then
y<="1000";
else
y<="0000";
end if;
end process;
end Behavioral;
P a g e | 24
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
2. 2X4 DECODER in Behavioral modelling
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity decoder_2X4_dfm is
Port ( x,y : in STD_LOGIC;
z : out STD_LOGIC_VECTOR (3 downto 0));
end decoder_2X4_dfm;
architecture Behavioral of decoder_2X4_dfm is
signal not_x,not_y : STD_LOGIC;
begin
not_x<= not(x);
not_y<= not(y);
z(0)<= not_x and not_y;
z(1)<= not_x and y;
z(2)<= x and not_y;
z(3)<= x and y;
end Behavioral;
3. 2X4 DECODER in Structural Modelling
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity decoder_2X4_sm is
Port ( x,y : in STD_LOGIC;
z0,z1,z2,z3 : out STD_LOGIC);
end decoder_2X4_sm;
architecture Behavioral of decoder_2X4_sm is
component not_gate is
P a g e | 25
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
port(x :in STD_LOGIC;
y :out STD_LOGIC);
end component not_gate;
component and_gate is
port(x,y:in STD_LOGIC;
z:out STD_LOGIC);
end component and_gate;
signal not_x,not_y: STD_LOGIC;
begin
X1 : not_gate port map (x,not_x);
X2 : not_gate port map (y,not_y);
X3 : and_gate port map (not_x,not_y,z0);
X4 : and_gate port map (not_x,y,z1);
X5 : and_gate port map (x,not_y,z2);
X6 : and_gate port map (x,y,z3);
end Behavioral;
RTL Schematics :
RTL Schematics in DATA FLOW
P a g e | 26
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics in Behavioral modelling.
RTL Schematics in Structural modelling.
Simulation Result :
P a g e | 27
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
1.1 3X8 DECODER in DATA FLOW :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity decoder_3X8_df is
Port ( i : in STD_LOGIC_VECTOR (2 downto 0);
Y : out STD_LOGIC_VECTOR (7 downto 0));
end decoder_3X8_df;
architecture Behavioral of decoder_3X8_df is
begin
Y(0)<= not(i(2))and not(i(1)) and not(i(0)) ;
Y(1)<= not(i(2))and not(i(1)) and i(0) ;
Y(2)<= not(i(2))and i(1) and not(i(0)) ;
Y(3)<= not(i(2))and i(1) and i(0) ;
Y(4)<= i(2)and not(i(1)) and not(i(0)) ;
Y(5)<= i(2)and not(i(1)) and i(0) ;
Y(6)<= i(2)and i(1) and not(i(0)) ;
Y(7)<= i(2)and i(1) and i(0) ;
end Behavioral;
1.2 3X8 DECODER IN STRUCTURAL MODELLING
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity DEC_3X8_BEHAvior is
Port (w,x,y,z ,Ein: in STD_LOGIC;
v: out STD_LOGIC_VECTOR (7 downto 0);
end DEC_3X8_BEHAvior;
architecture Behavioral of DEC_3X8_BEHAvior is
component And_gate_4IP is
port (p,q,r,s : in STD_LOGIC;
t :out STD_LOGIC);
end component;
begin
V1: And_gate_4IP port map((not y),(not x),(not w),Ein,v(0));
V2: And_gate_4IP port map((not y),(not x),w,Ein,v(1));
V3 : And_gate_4IP port map((not y),x,(not w),Ein,v(2));
V4 : And_gate_4IP port map((not y),x,w,Ein,v(3));
V5 : And_gate_4IP port map (y,(not x),(not w),Ein,(v4));
V6 : And_gate_4IP port map (y,(not x),w,Ein,v(5));
P a g e | 28
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
V7 : And_gate_4IP port map (y,x,(not w),Ein,v(6));
V8 : And_gate_4IP port map (y,x,w,Ein,v(7));
end Behavioral;
1.3 3X8 IN BEHAVIORAL MODELLING :
USING WHEN_ELSE STATEMENT
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity DCE_3x8_WHEN_ELSE is
Port ( L : in STD_LOGIC_VECTOR (2 downto 0);
I : in STD_LOGIC;
O : out STD_LOGIC_VECTOR (7 downto 0));
end DCE_3x8_WHEN_ELSE;
architecture Behavioral of DCE_3x8_WHEN_ELSE is
signal VEE : STD_LOGIC_VECTOR(3 downto 0);
begin
VEE <= I & L;
O<= "00000001" when (VEE="1000")else
"00000010" when (VEE="1001")else
"00000100" when (VEE="1010")else
"00001000" when (VEE="1011")else
"00010000" when (VEE="1100")else
"00100000" when (VEE="1101")else
"01000000" when (VEE="1110")else
"10000000" when (VEE="1111")else
"00000000";
end Behavioral;
P a g e | 29
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
Simulation Result :
P a g e | 30
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 201-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 8
Objective: - Implement 8X3 ENCODER using VHDL
(Structural, Dataflow & Behavioral modelling).
1. 8X3 ENCODER in Data flow .
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity encoder_8X3 is
Port ( i : in STD_LOGIC_VECTOR (7 downto 0);
L : out STD_LOGIC_VECTOR (2 downto 0));
end encoder_8X3;
architecture Behavioral of encoder_8X3 is
begin
L(0)<= K(1) or K(3) or K(5) or K(7);
L(1)<= K(2) or K(3) or K(6) or K(7);
L(2)<= K(4) or K(5) or K(6) or K(7);
end Behavioral;
2. 8X3 ENCODER IN BEHAVIORAL MODELLING
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity encoder_8X3_bm is
Port ( K : in STD_LOGIC_VECTOR (7 downto 0);
L : out STD_LOGIC_VECTOR (2 downto 0));
end encoder_8X3_bm;
architecture Behavioral of encoder_8X3_bm is
signal a1,a2,b1,b2,c1,c2: STD_LOGIC;
begin
a1<= K(1) or K(3);
a2<= K(5) or K(7);
b1<= K(2) or K(3);
b2<= K(6) or K(7);
c1<= K(4) or K(5);
P a g e | 31
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
c2<= K(6) or K(7);
L(0)<= a1 or a2;
L(1)<= b1 or b2;
L(2)<= c1 or c2;
end Behavioral;
3. USE WHEN_ELESE STATEMENT
4.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity ENCOD_8x3_WhenElse is
Port ( P : in STD_LOGIC_VECTOR (7 downto 0);
Ein : in STD_LOGIC;
K : out STD_LOGIC_VECTOR (2 downto 0));
end ENCOD_8x3_WhenElse;
architecture Behavioral of ENCOD_8x3_WhenElse is
signal Iin : STD_LOGIC_VECTOR(8 downto 0);
begin
Iin <= Ein & P;
K <= "000" when(Iin="100000001")else
"001" when(Iin="100000010")else
"010" when(Iin="100000100")else
"011" when(Iin="100001000")else
"100" when(Iin="100010000")else
"101" when(Iin="100100000")else
"110" when(Iin="101000000")else
"111" when(Iin="110000000")else
"000";
end Behavioral;
P a g e | 32
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
RTL Schematics in data flow
RTL Schematics in Behavioral modelling
Simulation result :
P a g e | 33
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: __________________________________ Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO.9
Objective: - Implementation the 4X1 Multiplexer using VHDL code (Data flow , Behavioral
and structural modelling.)
1. VHDL code for 4x1 Mux in Data Flow Modelling.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity MUX_4X1 is
Port ( I : in STD_LOGIC_VECTOR (3 downto 0);
X: in STD_LOGIC_VECTOR (1 downto 0);
Y : out STD_LOGIC);
end MUX_4X1;
architecture Behavioral of MUX_4X1 is
signal temp1,temp2:STD_LOGIC;
begin
temp1<=not X(1);
temp2<=not X(0);
Y <= (( temp(1) and temp(2) and I(0))
or (( temp(1)and X(2) and I(1))
or ((X(1) and temp(2) and I(2))
or ((X(1) and X(2) and I(3));
end Behavioral;
P a g e | 34
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
2. VHDL code for 4x1 Mux in Behavioral Modelling.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity MUX_4X1 is
Port ( I : in STD_LOGIC_VECTOR (3 downto 0);
X: in STD_LOGIC_VECTOR (1 downto 0);
Y : out STD_LOGIC);
end MUX_4X1;
architecture Behavioral of MUX_4X1 is
begin
process(I,X)
begin
if X="00" then
Y <=I(0);
elsif X="01" then
Y<=I(1);
elsif X="10" then
Y<=I(2);
elsif X="11" then
Y<=I(3);
end if;
end process;
end Behavioral;
P a g e | 35
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
3. VHDL code for 4x1 Mux in structural Modelling.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity MUX_4X1 is
Port ( I : in STD_LOGIC_VECTOR (3 downto 0);
X: in STD_LOGIC_VECTOR (1 downto 0);
Y : out STD_LOGIC);
end MUX_4X1;
architecture Behavioral of MUX_4X1 is
Component and_gate_3IP is
Port (p,q,r, :in STD_LOGIC;
s : out STD_LOGIC);
end component;
Component and_gate_4IP is
Port (p,q,r,s :in STD_LOGIC;
t: out STD_LOGIC);
end component;
signal temp1,temp2,temp3,temp4 :STD_LOGIC;
begin
A1: and_gate_3IP port map((not X(1),not X(0),I(0),temp1);
A2: and_gate_3IP port map((not X(1), X(0),I(1),temp2);
A3: and_gate_3IP port map((X(1),not X(0),I(2),temp3);
A4: and_gate_3IP port map(( X(1),not X(0),I(3),temp4);
Y1 :Or_gate_4IP port map(temp1,temp2,temp3,temp4,Y);
end Behavioral;
P a g e | 36
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
RTL Schematics in Behavioral modelling.
RTL Schematics in Data flow.
RTL Schematics in Structural modelling.
Simulation Result :
P a g e | 37
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 10
Objective: - Implemented the 2 bit binary comparator by VHDL.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity comp_2bit is
Port ( A,B : in STD_LOGIC_VECTOR (1 downto 0);
X,Y,Z : out STD_LOGIC);
end comp_2bit;
architecture Behavioral of comp_2bit is
begin
process (A, B)
variable X_tmp : std_logic;
variable Y_tmp : std_logic;
variable Z_tmp : std_logic;
begin -- process
X_tmp := '0';
Y_tmp := '0';
Z_tmp := '0';
If A > B then
X_tmp := '1';
elsif A = B then
Y_tmp := '1';
else
Z_tmp := '1';
end if;
X <= X_tmp;
Y <= Y_tmp;
P a g e | 38
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
Z <= Z_tmp;
end process;
end Behavioral;
RTL schematics :
RTL Schematics
Simulation result :
P a g e | 39
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 11
Objective: - Implemented 4X2 Encoder Using VHDL.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity encoder_case is
port(
din : in STD_LOGIC_VECTOR(3 downto 0);
dout : out STD_LOGIC_VECTOR(1 downto 0);
end encoder_case;
architecture encoder_case_arc of encoder_case is
begin
encoder : process (din) is
begin
case din is
when "1000" => dout <= "00";
when "0100" => dout <= "01";
when "0010" => dout <= "10";
when "0001" => dout <= "11";
when others => dout <= "ZZ";
end case;
end process encoder;
end encoder_case_arc;
end Behavioral;
P a g e | 40
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
Simulation Result :
P a g e | 41
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 12
Objective: - Implemented Binary to Gray converter.
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity binary_to_gray is
port( din : in STD_LOGIC_VECTOR(3 downto 0);
dout : out STD_LOGIC_VECTOR(3 downto 0);
end binary_to_gray;
architecture binary_to_gray_arc of binary_to_gray is
begin
dout(3) <= din(3);
dout(2) <= din(3) xor din(2);
dout(1) <= din(2) xor din(1);
dout(0) <= din(1) xor din(0);
end binary_to_gray_arc;
end Behavioral;
P a g e | 42
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics:
RTL Schematics of Binary to gray converter.
Simulation result:
P a g e | 43
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO.13
Objective: - Implemented to GRAY to BINARY code converter using VHDL.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Gray_to_binary is
Port ( G : in STD_LOGIC_VECTOR (3 downto 0);
B : out STD_LOGIC_VECTOR (3 downto 0));
end Gray_to_binary;
architecture Behavioral of Gray_to_binary is
begin
process (G)
begin
if G="0000" then
B<="0000";
elsif G="0001" then
B<="0001";
elsif G="0010" then
B<="0011";
elsif G="0100" then
B<="0110";
elsif G="0101" then
B<="0111";
elsif G="0110" then
B<="0101";
elsif G="0111" then
B<="0100";
elsif G="1000" then
B<="1100";
elsif G="1001" then
B<="1101";
elsif G="1010" then
B<="1111";
P a g e | 44
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
elsif G="1011" then
B<="1110";
elsif G="1100" then
B<="1010";
elsif G="1101" then
B<="1011";
elsif G="1110" then
B<="1001";
elsif G="1111" then
B<="1000";
end if;
end process;
end Behavioral;
RTL Schematics :
Simulation Result :
P a g e | 45
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 14
Objective: - Implemented BCD code to SEVEN SEGMENT Display code using VHDL.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Bcd_7seg is
Port ( clk : in STD_LOGIC;
bcd : in STD_LOGIC_VECTOR(3 downto 0);
segment7 : out STD_LOGIC_VECTOR(7 downto 0);
end Bcd_7seg;
architecture Behavioral of Bcd_7seg is
begin
process (clk,bcd)is
begin
if (clk'event and clk='1') then
case bcd is
when "0000"=> segment7 <="0000001";
when "0001"=> segment7 <="1001111";
when "0010"=> segment7 <="0010010";
when "0011"=> segment7 <="0000110";
when "0100"=> segment7 <="1001100";
when "0101"=> segment7 <="0100100";
when "0110"=> segment7 <="0100000";
when "0111"=> segment7 <="0001111";
when "1000"=> segment7 <="0000000";
when "1001"=> segment7 <="0000100";
when others=> segment7 <="1111111";
P a g e | 46
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
end case;
end if;
end process;
end Behavioral;
RTL Schematics :
Simulation Result :
P a g e | 47
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKY Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 15
Objective: Implemented the BCD to EXCESS-3 Code converter.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity BCD_XS3 is
port( A, B, C, D : in std_logic;
W, X, Y, Z : out std_logic);
end BCD_XS3;
architecture BCD_Func of BCD_XS3 is
component andGate is
port( A, B : in std_logic;
F : out std_logic);
end component;
component orGate is
port( A, B : in std_logic;
F : out std_logic);
end component;
component xorGate is
port( A, B : in std_logic;
F : out std_logic);
end component;
component notGate is
port( inPort : in std_logic;
outPort : out std_logic);
end component;
signal andOut, orOut, xorOut: std_logic;
P a g e | 48
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
begin
G1: orGate port map(A, andOut, W);
G2: andGate port map(B, orOut, andOut);
G3: orGate port map(C, D, orOut);
G4: xorGate port map(orOut, B, X);
G5: xorGate port map(C, D, xorOut);
G6: notGate port map(xorOut, Y);
G7: notGate port map(D, Z);
end BCD_Func;
` end Behavioral;
RTL Schematics :
Simulation result :
P a g e | 49
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: __________________________________ Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO.16
Objective: - Implementation the various flip flop.
DELAY F/F :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity delay_flip_flop is
Port ( RST,CLK : in STD_LOGIC;
Jin : in STD_LOGIC;
Qout : out STD_LOGIC);
end delay_flip_flop;
architecture Behavioral of delay_flip_flop is
begin
process(Jin,CLK)
begin
if(CLK='1' and CLK'event) then
Qout <=Jin;
if(RST='1') then
Qout<='0';
else
Qout<=Jin;
end if;
end if;
end process;
J-K F/F :
P a g e | 50
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity JK_Flipflop is
port ( clk: in std_logic;
J, K: in std_logic;
Q, Qbar: out std_logic;
reset: in std_logic);
end JK_Flipflop;
architecture Behavioral of JK_Flipflop
signal qtemp,qbartemp : std_logic :='0';
begin
Q <= qtemp;
Qbar <= qbartemp;
process(clk,reset)
begin
if(reset = '1') then
qtemp <= '0';
qbartemp <= '1';
elsif( rising_edge(clk) ) then
if(J='0' and K='0') then
NULL;
elsif(J='0' and K='1') then
qtemp <= '0';
qbartemp <= '1';
elsif(J='1' and K='0') then
qtemp <= '1';
qbartemp <= '0';
else
qtemp <= not qtemp;
qbartemp <= not qbartemp;
end if;
end if;
end process;
end Behavioral;
P a g e | 51
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
TOGGLE_F/F
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity TOGGLE_FF is
Port( T,CLK,PRESET,SET : in STD_LOGIC;
Q,Qnot : out STD_LOGIC);
End TOGGLE_FF;
architecture Behavioral of TOGGLE_FF is
begin
process (CLK,PRESET,SET)
variable X : STD_LOGIC;
begin
if(SET ='0') then
X :='0';
elsif (SET='1' and PRESET='0')then
X:='1';
elsif(CLK='1' and CLK'event) then
if (T='1')then
X :=not X;
end if;
end if;
Q<=X;
Qnot <= not X;
end process;
end Behavioral;
RTL Schematics :
DELAY F/F :
P a g e | 52
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics of Delay flip flop
J_K_FLIP_FLOP
RTL Schematics of JK_Flip flop
TOGGLE F/F :
RTL Schematics of Toggle flip flop
P a g e | 53
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
Simulation Result :
DELAY F/F
JK_F/F
TOGGLE F/F
P a g e | 54
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: __________________________________ Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 17
Objective: Implemented the MOD 16 UP counter.
library IEEE; use
IEEE.STD_LOGIC_1164.ALL; use
IEEE.STD_LOGIC_ARITH.ALL; use
IEEE.STD_LOGIC_UNSIGNED.ALL;
entity bit4_up is
Port ( count : out STD_LOGIC_VECTOR (3 downto 0);
clk : in STD_LOGIC);
end bit4_up;
architecture Behavioral of bit4_up is
signal cnt:STD_LOGIC_VECTOR (3 downto 0) := "1111" ;
begin
process (clk)
begin
if ( clk = '1') AND( clk'LAST_VALUE = '0') then
count <= cnt+1;
cnt <= cnt+1;
end if;
end process;
end Behavioral;
P a g e | 55
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
Simulation Result :
P a g e | 56
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: __________________________________ Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO.18
Objective: - Design of counter MOD-16 up-down counter.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity MOD_16_up_down_counter is
Port ( CLK : in STD_LOGIC;
RST : in STD_LOGIC;
DTN : in STD_LOGIC;
OUTP : out STD_LOGIC_VECTOR (0 downto 3));
end MOD_16_up_down_counter;
architecture Behavioral of MOD_16_up_down_counter is
signal temp : STD_LOGIC_VECTOR(0 to 3);
begin
process(CLK,RST)
begin
if RST='1' then
temp<="0000";
elsif(CLK'event and CLK='1') then
if(DTN='0') then
temp<=temp+ '1';
elsif(DTN='1') then
temp<=temp- '1';
end if;
end if;
end process;
end Behavioral;
P a g e | 57
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
RTL schematics for MOD-16 bit up down counter
Simulation result :
P a g e | 58
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: __________________________________ Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO.19
Objective: - Implemented design of synchronous 8 Bit Jhonson Counter.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Jhonson_counter_8bit is
Port ( CLK : in STD_LOGIC;
RST : in STD_LOGIC;
O : out unsigned (3 downto 0));
end Jhonson_counter_8bit;
architecture Behavioral of Jhonson_counter_8bit is
signal temp : unsigned(3 downto 0):=(others=>'0');
begin
O<=temp;
process(CLK)
begin
if (rising_edge(CLK))then
if (RST='1') then
temp <=(others=>'0');
else
temp(1) <=temp(0);
temp(2) <=temp(1);
temp(3) <=temp(2);
temp(0) <=not temp(3);
end if;
end if;
end process;
end Behavioral;
P a g e | 59
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
RTL Schematics :
RTL Schematics of 8 Bit Jhonson Counter
Simulation result :
P a g e | 60
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
Subject: VLSI Design Subject code: EI 4755
Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058
Session: 2015-2016 Date: __________________________
Remarks, if any: ____________________________
Signature of Lecturer
VHDL CODE NO. 20
Objective: - Implemented the 4 bit Ring Counter.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Ring_counter is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC;
output : out STD_LOGIC_VECTOR (3 downto 0));
end Ring_counter;
architecture Behavioral of Ring_counter is
signal temp : STD_LOGIC_VECTOR(3 downto 0):=(others => '0');
begin
process(clk)
begin
if( clk'event and clk='1' ) then
if (reset = '1') then
temp <= (0=> '1', others => '0');
else
temp(1) <= temp(0);
temp(2) <= temp(1);
temp(3) <= temp(2);
P a g e | 61
D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g
temp(0) <= temp(3);
end if;
end if;
end process;
output<=temp;
end Behavioral;
RTL Schematics :
Simulation Result :

More Related Content

What's hot

ANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGICANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGICSupanna Shirguppe
 
Presentation on Flip Flop
Presentation  on Flip FlopPresentation  on Flip Flop
Presentation on Flip FlopNahian Ahmed
 
verilog code for logic gates
verilog code for logic gatesverilog code for logic gates
verilog code for logic gatesRakesh kumar jha
 
Digital system design lab manual
Digital system design lab manualDigital system design lab manual
Digital system design lab manualSanthosh Poralu
 
Design options for digital systems
Design options for digital systemsDesign options for digital systems
Design options for digital systemsdennis gookyi
 
Four way traffic light conrol using Verilog
Four way traffic light conrol using VerilogFour way traffic light conrol using Verilog
Four way traffic light conrol using VerilogUtkarsh De
 
Design and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilogDesign and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilogSTEPHEN MOIRANGTHEM
 
Bcd to 7 segment display
Bcd to 7 segment displayBcd to 7 segment display
Bcd to 7 segment displayMaulik Sanchela
 
Binary multipliers
Binary multipliersBinary multipliers
Binary multipliersSyed Saeed
 
Hardware Description Language
Hardware Description Language Hardware Description Language
Hardware Description Language Prachi Pandey
 
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Rahul Borthakur
 

What's hot (20)

VHDL
VHDLVHDL
VHDL
 
ANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGICANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGIC
 
VHDL Part 4
VHDL Part 4VHDL Part 4
VHDL Part 4
 
Presentation on Flip Flop
Presentation  on Flip FlopPresentation  on Flip Flop
Presentation on Flip Flop
 
Verilog lab manual (ECAD and VLSI Lab)
Verilog lab manual (ECAD and VLSI Lab)Verilog lab manual (ECAD and VLSI Lab)
Verilog lab manual (ECAD and VLSI Lab)
 
verilog code for logic gates
verilog code for logic gatesverilog code for logic gates
verilog code for logic gates
 
VHDL - Part 2
VHDL - Part 2VHDL - Part 2
VHDL - Part 2
 
Digital system design lab manual
Digital system design lab manualDigital system design lab manual
Digital system design lab manual
 
8 bit full adder
8 bit full adder8 bit full adder
8 bit full adder
 
Design options for digital systems
Design options for digital systemsDesign options for digital systems
Design options for digital systems
 
Vlsi circuit design
Vlsi circuit designVlsi circuit design
Vlsi circuit design
 
Four way traffic light conrol using Verilog
Four way traffic light conrol using VerilogFour way traffic light conrol using Verilog
Four way traffic light conrol using Verilog
 
Verilog tutorial
Verilog tutorialVerilog tutorial
Verilog tutorial
 
PLD's
PLD'sPLD's
PLD's
 
Design and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilogDesign and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilog
 
Bcd to 7 segment display
Bcd to 7 segment displayBcd to 7 segment display
Bcd to 7 segment display
 
Binary multipliers
Binary multipliersBinary multipliers
Binary multipliers
 
Hardware Description Language
Hardware Description Language Hardware Description Language
Hardware Description Language
 
waveshaping ckts
 waveshaping ckts waveshaping ckts
waveshaping ckts
 
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
 

Viewers also liked

Viewers also liked (12)

23 gray codes
23 gray codes23 gray codes
23 gray codes
 
Fpga
FpgaFpga
Fpga
 
Dlc{binary to gray code conversion} ppt
Dlc{binary to gray code conversion} pptDlc{binary to gray code conversion} ppt
Dlc{binary to gray code conversion} ppt
 
Shift Registers
Shift RegistersShift Registers
Shift Registers
 
Binary to grey code conversion
Binary to grey code conversionBinary to grey code conversion
Binary to grey code conversion
 
Programs of VHDL
Programs of VHDLPrograms of VHDL
Programs of VHDL
 
BCD,GRAY and EXCESS 3 codes
BCD,GRAY and EXCESS 3 codesBCD,GRAY and EXCESS 3 codes
BCD,GRAY and EXCESS 3 codes
 
Counters
CountersCounters
Counters
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL
 
FPGA
FPGAFPGA
FPGA
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
FPGA
FPGAFPGA
FPGA
 

Similar to VHDL CODE

Vhdl code and project report of arithmetic and logic unit
Vhdl code and project report of arithmetic and logic unitVhdl code and project report of arithmetic and logic unit
Vhdl code and project report of arithmetic and logic unitNikhil Sahu
 
Digital Electronics .
Digital Electronics                                              .Digital Electronics                                              .
Digital Electronics .inian2
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical fileArchita Misra
 
learning vhdl by examples
learning vhdl by exampleslearning vhdl by examples
learning vhdl by examplesanishgoel
 
Learning vhdl by examples
Learning vhdl by examplesLearning vhdl by examples
Learning vhdl by examplesanishgoel
 
Practical file
Practical filePractical file
Practical filerajeevkr35
 
Experiences from Designing and Validating a Software Modernization Transforma...
Experiences from Designing and Validating a Software Modernization Transforma...Experiences from Designing and Validating a Software Modernization Transforma...
Experiences from Designing and Validating a Software Modernization Transforma...Alexandru-Florin Iosif-Lazăr
 
VHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDLVHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDLRevathi Subramaniam
 
Lecture2 vhdl refresher
Lecture2 vhdl refresherLecture2 vhdl refresher
Lecture2 vhdl refresherNima Shafiee
 
Verilog overview
Verilog overviewVerilog overview
Verilog overviewposdege
 
session 3a Hardware description language
session 3a Hardware description languagesession 3a Hardware description language
session 3a Hardware description languagedhananjeyanrece
 
Fpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adder
Fpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adderFpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adder
Fpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adderMalik Tauqir Hasan
 
VIT_Workshop.ppt
VIT_Workshop.pptVIT_Workshop.ppt
VIT_Workshop.pptVINOTHRAJR1
 

Similar to VHDL CODE (20)

Vhdl code and project report of arithmetic and logic unit
Vhdl code and project report of arithmetic and logic unitVhdl code and project report of arithmetic and logic unit
Vhdl code and project report of arithmetic and logic unit
 
Digital Electronics .
Digital Electronics                                              .Digital Electronics                                              .
Digital Electronics .
 
Vhdl basic unit-2
Vhdl basic unit-2Vhdl basic unit-2
Vhdl basic unit-2
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical file
 
learning vhdl by examples
learning vhdl by exampleslearning vhdl by examples
learning vhdl by examples
 
Arduino2013
Arduino2013Arduino2013
Arduino2013
 
Learning vhdl by examples
Learning vhdl by examplesLearning vhdl by examples
Learning vhdl by examples
 
Spdas2 vlsibput
Spdas2 vlsibputSpdas2 vlsibput
Spdas2 vlsibput
 
Practical file
Practical filePractical file
Practical file
 
Experiences from Designing and Validating a Software Modernization Transforma...
Experiences from Designing and Validating a Software Modernization Transforma...Experiences from Designing and Validating a Software Modernization Transforma...
Experiences from Designing and Validating a Software Modernization Transforma...
 
Structural modelling
Structural modellingStructural modelling
Structural modelling
 
VHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDLVHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDL
 
Lecture2 vhdl refresher
Lecture2 vhdl refresherLecture2 vhdl refresher
Lecture2 vhdl refresher
 
Verilog HDL
Verilog HDL Verilog HDL
Verilog HDL
 
Verilog overview
Verilog overviewVerilog overview
Verilog overview
 
Himanshu Shivhar (1)
Himanshu Shivhar (1)Himanshu Shivhar (1)
Himanshu Shivhar (1)
 
session 3a Hardware description language
session 3a Hardware description languagesession 3a Hardware description language
session 3a Hardware description language
 
Fpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adder
Fpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adderFpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adder
Fpga 07-port-rules-gate-delay-data-flow-carry-look-ahead-adder
 
Meteor WWNRW Intro
Meteor WWNRW IntroMeteor WWNRW Intro
Meteor WWNRW Intro
 
VIT_Workshop.ppt
VIT_Workshop.pptVIT_Workshop.ppt
VIT_Workshop.ppt
 

Recently uploaded

Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 

Recently uploaded (20)

Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 

VHDL CODE

  • 1. P a g e | 1 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 1 Objective: - VHDL code for logic gate. 1. VHDL code for INVERTER : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity not_gate is Port ( a : in STD_LOGIC; b : out STD_LOGIC); end and_gate; architecture Behavioral of not_gate is begin b <= not a ; end Behavioral; 2. VHDL code for AND GATE: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity and_gate is Port ( p : in STD_LOGIC; q : in STD_LOGIC; s : out STD_LOGIC); end and_gate; architecture Behavioral of and_gate is begin s <= p and q ; end Behavioral;
  • 2. P a g e | 2 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 3. VHDL code for OR GATE : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity or_gate is Port ( p : in STD_LOGIC; q : in STD_LOGIC; s : out STD_LOGIC); end or_gate; architecture Behavioral of or_gate is begin s <= p or q ; end Behavioral; 4. VHDL code for NAND GATE : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity nand_gate is Port ( p : in STD_LOGIC; q : in STD_LOGIC; s : out STD_LOGIC); end nand_gate; architecture Behavioral of nand_gate is begin s <= p nand q ; end Behavioral;
  • 3. P a g e | 3 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 5. VHDL code for NOR GATE: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity nor_gate is Port ( p : in STD_LOGIC; q : in STD_LOGIC; s : out STD_LOGIC); end nor_gate; architecture Behavioral of nor_gate is begin s <= p nor q ; end Behavioral; 6. VHDL code for Ex-OR GATE: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity xor_gate is Port ( p : in STD_LOGIC; q : in STD_LOGIC; s : out STD_LOGIC); end xor_gate; architecture Behavioral of xor_gate is begin s <= p xor q ; end Behavioral; 7. VHDL code for EX_NOR : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity xnor_gate is Port ( p : in STD_LOGIC; q : in STD_LOGIC; s : out STD_LOGIC);
  • 4. P a g e | 4 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g end xnor_gate; architecture Behavioral of xnor_gate is begin s <= p xnor q ; end Behavioral; RTL schematics : INVERTER: AND GATE: OR GATE:
  • 5. P a g e | 5 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g NAND GATE: NOR GATE : EX-OR GATE:
  • 6. P a g e | 6 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g EX-NOR GATE: Simulation result : INVERTER : AND GATE: OR GATE :
  • 7. P a g e | 7 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g NAND GATE: NOR GATE: EX-OR GATE : EX-NOR GATE :
  • 8. P a g e | 8 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 2 Objective: - Implemented half adder using VHDL. (Data flow, structural and behavioral modelling.) 1. VHDL code for Half adder in dataflow Modelling. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity Half_adder is Port ( m,n : in STD_LOGIC; s : out STD_LOGIC; c : out STD_LOGIC); end Half_adder; architecture Behavioral of Half_adder is begin s<= m xor n; c<= m and n; end Behavioral;
  • 9. P a g e | 9 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 2. VHDL code for structural modelling. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Half_adder _structural is port(m,n : in STD_LOGIC; s: out STD_LOGIC); end Half_adder_structural ; architecture Behavioral of Half_adder_structural is component and_gate_2IP is Port( m,n : in STD_LOGIC; S:out STD_LOGIC); end component ; component xor_gate_2IP is port (m,n : in STD_LOGIC; s:out STD_LOGIC); begin X1:xor_gate_2IP port map(m,n,s); A1:and_gate_2IP port map(m,n,c); end behavioral;
  • 10. P a g e | 10 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 3. VHDL code for Half Adder in Behavioral Modelling. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC ARITH.ALL; use IEEE.STD_LOGIC 1UNSIGNED.ALL; entity Half Adder Behavioral is Port ( m,n : in STD LOGIC; s,c : out STD_LOGIC); end Half Adder_Behavioral; architecture Behavioral of Half Adder Behavioral is begin process(m,n) begin if (m/=n) then s<=' 1 ; else s<='0'; end if; end process; process(m,n) begin if ((m=’1’) and (n=’1’) then s<=’1’; else c<=’0’; end if; end process; end Behavioral ;
  • 11. P a g e | 11 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : Simulation Result :
  • 12. P a g e | 12 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 3 Objective: - Implanted the Full adder using VHDL(Data flow, Structural and behavioural modelling.) 1. DATA FLOW library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity FA is Port ( X : in STD_LOGIC; Y : in STD_LOGIC; Z : in STD_LOGIC; S : out STD_LOGIC; C : out STD_LOGIC); end FA; architecture Behavioral of FA is begin S <= X XOR Y XOR Z; C <= (X AND Y) OR (Y AND Z) OR (Z AND X); end Behavioral;
  • 13. P a g e | 13 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : Simulation result :
  • 14. P a g e | 14 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 4 Objective: - Implanted the Half subtractor And Full subtractor. 1. HALF SUBSTRACTOR in DATA FLOW library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity HALF_SUB_STRUCT is Port ( V,R : in STD_LOGIC; S : out STD_LOGIC; B : out STD_LOGIC); end HALF_SUB; architecture Behavioral of HALF_SUB is begin S <= V xor R; B <= ((not V) and R); end Behavioral; 2. HALF SUBTRACTOR IN STRUCTURAL MODELLING library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;
  • 15. P a g e | 15 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g entity HALF_SUB_STRUCT is Port ( V,R : in STD_LOGIC; S : out STD_LOGIC; B : out STD_LOGIC); end HALF_SUB; architecture Behavioral of HALF_SUB is component and_gate_2IP is Port(j,k : in STD_LOGIC; l : out STD_LOGIC); end component; Component Xor_gate_2IP is Port(j,k : in SYD_LOGIC; l : out STD_LOGIC); begin S : Xor_gate_2IP port map (j,k,l); V : and_gate_2IP port map ((not j),k,l,l0); end Behavioral; 2.1 FULL SUBSTRATOR library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity FS is Port ( X : in STD_LOGIC; Y : in STD_LOGIC; Z : in STD_LOGIC; D : out STD_LOGIC; B : out STD_LOGIC); end FS; architecture Behavioral of FS is begin D <= X XOR Y XOR Z; B <= ((NOT X)AND Y)OR(Y AND Z)OR((NOT X) AND Z); end Behavioral;
  • 16. P a g e | 16 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : HALF SUBSTRATOR RTl Schematics in data flow FULL SUBSTRATOR RTL Schematics in data flow
  • 17. P a g e | 17 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics in Structural modelling Simulation Result : HALF SUBSTRATOR : FULL SUBSTRATOR :
  • 18. P a g e | 18 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 5 Objective: - TO Design a Full adder Using Half Adder. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity full_half_adder is Port ( a : in STD_LOGIC; b : in STD_LOGIC; c : in STD_LOGIC; sum_fa : out STD_LOGIC; carry_fa : out STD_LOGIC); end full_half_adder; architecture structure of full_half_adder is component half_adder is port(a,b :in STD_LOGIC; sum,carry :out STD_LOGIC); end component half_adder; component or_gate is port(a,b:in STD_LOGIC; c:out STD_LOGIC);
  • 19. P a g e | 19 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g end component or_gate; signal s1,c1,c2: STD_LOGIC; begin X1 : half_adder port map (a, b, s1, c1); X2 : half_adder port map(s1, c, sum_fa, c2); X3 : or_gate port map(c1, c2, carry_fa); end structure; RTL Schematics : Simulation Result :
  • 20. P a g e | 20 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: _________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 6 Objective: - To design the RIPPLE CARRY ADDER using VHDL. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity ripple_carry is Port ( a1,a2,a3,a4 : in STD_LOGIC; b1,b2,b3,b4 : in STD_LOGIC; s1,s2,s3,s4,carry : out STD_LOGIC); end ripple_carry; architecture Behavioral of ripple_carry is component full_adder is Port ( i1,i2,i3 : in STD_LOGIC; sum : out STD_LOGIC; carry : out STD_LOGIC); end component full_adder; component half_adder is Port ( a : in STD_LOGIC; b : in STD_LOGIC; sum : out STD_LOGIC;
  • 21. P a g e | 21 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g carry : out STD_LOGIC); end component half_adder; signal c1,c2,c3: STD_LOGIC; begin HA1: half_adder port map (a1,b1,s1,c1); FA2: full_adder port map (a2,b2,c1,s2,c2); FA3: full_adder port map (a3,b3,c2,s3,c3); FA4: full_adder port map (a4,b4,c3,s4,carry); end Behavioral; RTL Schematics:
  • 22. P a g e | 22 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics for Ripple carry adder Simulation result :
  • 23. P a g e | 23 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2016-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 7 Objective: - Implement 2x4 and 3x8 Decoders using VHDL (Structural, Dataflow & Behavioral modelling). 1. 2X4 DECODER in Data flow . library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity decoder_2X4 is Port ( i : in STD_LOGIC_VECTOR (1 downto 0); y : out STD_LOGIC_VECTOR (3 downto 0)); end decoder_2X4; architecture Behavioral of decoder_2X4 is begin process(i) begin if i="00" then y<="0001"; elsif i="01" then y<="0010"; elsif i="10" then y<="0100"; elsif i="11" then y<="1000"; else y<="0000"; end if; end process; end Behavioral;
  • 24. P a g e | 24 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 2. 2X4 DECODER in Behavioral modelling library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity decoder_2X4_dfm is Port ( x,y : in STD_LOGIC; z : out STD_LOGIC_VECTOR (3 downto 0)); end decoder_2X4_dfm; architecture Behavioral of decoder_2X4_dfm is signal not_x,not_y : STD_LOGIC; begin not_x<= not(x); not_y<= not(y); z(0)<= not_x and not_y; z(1)<= not_x and y; z(2)<= x and not_y; z(3)<= x and y; end Behavioral; 3. 2X4 DECODER in Structural Modelling library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity decoder_2X4_sm is Port ( x,y : in STD_LOGIC; z0,z1,z2,z3 : out STD_LOGIC); end decoder_2X4_sm; architecture Behavioral of decoder_2X4_sm is component not_gate is
  • 25. P a g e | 25 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g port(x :in STD_LOGIC; y :out STD_LOGIC); end component not_gate; component and_gate is port(x,y:in STD_LOGIC; z:out STD_LOGIC); end component and_gate; signal not_x,not_y: STD_LOGIC; begin X1 : not_gate port map (x,not_x); X2 : not_gate port map (y,not_y); X3 : and_gate port map (not_x,not_y,z0); X4 : and_gate port map (not_x,y,z1); X5 : and_gate port map (x,not_y,z2); X6 : and_gate port map (x,y,z3); end Behavioral; RTL Schematics : RTL Schematics in DATA FLOW
  • 26. P a g e | 26 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics in Behavioral modelling. RTL Schematics in Structural modelling. Simulation Result :
  • 27. P a g e | 27 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 1.1 3X8 DECODER in DATA FLOW : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity decoder_3X8_df is Port ( i : in STD_LOGIC_VECTOR (2 downto 0); Y : out STD_LOGIC_VECTOR (7 downto 0)); end decoder_3X8_df; architecture Behavioral of decoder_3X8_df is begin Y(0)<= not(i(2))and not(i(1)) and not(i(0)) ; Y(1)<= not(i(2))and not(i(1)) and i(0) ; Y(2)<= not(i(2))and i(1) and not(i(0)) ; Y(3)<= not(i(2))and i(1) and i(0) ; Y(4)<= i(2)and not(i(1)) and not(i(0)) ; Y(5)<= i(2)and not(i(1)) and i(0) ; Y(6)<= i(2)and i(1) and not(i(0)) ; Y(7)<= i(2)and i(1) and i(0) ; end Behavioral; 1.2 3X8 DECODER IN STRUCTURAL MODELLING library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity DEC_3X8_BEHAvior is Port (w,x,y,z ,Ein: in STD_LOGIC; v: out STD_LOGIC_VECTOR (7 downto 0); end DEC_3X8_BEHAvior; architecture Behavioral of DEC_3X8_BEHAvior is component And_gate_4IP is port (p,q,r,s : in STD_LOGIC; t :out STD_LOGIC); end component; begin V1: And_gate_4IP port map((not y),(not x),(not w),Ein,v(0)); V2: And_gate_4IP port map((not y),(not x),w,Ein,v(1)); V3 : And_gate_4IP port map((not y),x,(not w),Ein,v(2)); V4 : And_gate_4IP port map((not y),x,w,Ein,v(3)); V5 : And_gate_4IP port map (y,(not x),(not w),Ein,(v4)); V6 : And_gate_4IP port map (y,(not x),w,Ein,v(5));
  • 28. P a g e | 28 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g V7 : And_gate_4IP port map (y,x,(not w),Ein,v(6)); V8 : And_gate_4IP port map (y,x,w,Ein,v(7)); end Behavioral; 1.3 3X8 IN BEHAVIORAL MODELLING : USING WHEN_ELSE STATEMENT library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity DCE_3x8_WHEN_ELSE is Port ( L : in STD_LOGIC_VECTOR (2 downto 0); I : in STD_LOGIC; O : out STD_LOGIC_VECTOR (7 downto 0)); end DCE_3x8_WHEN_ELSE; architecture Behavioral of DCE_3x8_WHEN_ELSE is signal VEE : STD_LOGIC_VECTOR(3 downto 0); begin VEE <= I & L; O<= "00000001" when (VEE="1000")else "00000010" when (VEE="1001")else "00000100" when (VEE="1010")else "00001000" when (VEE="1011")else "00010000" when (VEE="1100")else "00100000" when (VEE="1101")else "01000000" when (VEE="1110")else "10000000" when (VEE="1111")else "00000000"; end Behavioral;
  • 29. P a g e | 29 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : Simulation Result :
  • 30. P a g e | 30 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 201-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 8 Objective: - Implement 8X3 ENCODER using VHDL (Structural, Dataflow & Behavioral modelling). 1. 8X3 ENCODER in Data flow . library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity encoder_8X3 is Port ( i : in STD_LOGIC_VECTOR (7 downto 0); L : out STD_LOGIC_VECTOR (2 downto 0)); end encoder_8X3; architecture Behavioral of encoder_8X3 is begin L(0)<= K(1) or K(3) or K(5) or K(7); L(1)<= K(2) or K(3) or K(6) or K(7); L(2)<= K(4) or K(5) or K(6) or K(7); end Behavioral; 2. 8X3 ENCODER IN BEHAVIORAL MODELLING library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity encoder_8X3_bm is Port ( K : in STD_LOGIC_VECTOR (7 downto 0); L : out STD_LOGIC_VECTOR (2 downto 0)); end encoder_8X3_bm; architecture Behavioral of encoder_8X3_bm is signal a1,a2,b1,b2,c1,c2: STD_LOGIC; begin a1<= K(1) or K(3); a2<= K(5) or K(7); b1<= K(2) or K(3); b2<= K(6) or K(7); c1<= K(4) or K(5);
  • 31. P a g e | 31 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g c2<= K(6) or K(7); L(0)<= a1 or a2; L(1)<= b1 or b2; L(2)<= c1 or c2; end Behavioral; 3. USE WHEN_ELESE STATEMENT 4. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity ENCOD_8x3_WhenElse is Port ( P : in STD_LOGIC_VECTOR (7 downto 0); Ein : in STD_LOGIC; K : out STD_LOGIC_VECTOR (2 downto 0)); end ENCOD_8x3_WhenElse; architecture Behavioral of ENCOD_8x3_WhenElse is signal Iin : STD_LOGIC_VECTOR(8 downto 0); begin Iin <= Ein & P; K <= "000" when(Iin="100000001")else "001" when(Iin="100000010")else "010" when(Iin="100000100")else "011" when(Iin="100001000")else "100" when(Iin="100010000")else "101" when(Iin="100100000")else "110" when(Iin="101000000")else "111" when(Iin="110000000")else "000"; end Behavioral;
  • 32. P a g e | 32 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : RTL Schematics in data flow RTL Schematics in Behavioral modelling Simulation result :
  • 33. P a g e | 33 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: __________________________________ Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO.9 Objective: - Implementation the 4X1 Multiplexer using VHDL code (Data flow , Behavioral and structural modelling.) 1. VHDL code for 4x1 Mux in Data Flow Modelling. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity MUX_4X1 is Port ( I : in STD_LOGIC_VECTOR (3 downto 0); X: in STD_LOGIC_VECTOR (1 downto 0); Y : out STD_LOGIC); end MUX_4X1; architecture Behavioral of MUX_4X1 is signal temp1,temp2:STD_LOGIC; begin temp1<=not X(1); temp2<=not X(0); Y <= (( temp(1) and temp(2) and I(0)) or (( temp(1)and X(2) and I(1)) or ((X(1) and temp(2) and I(2)) or ((X(1) and X(2) and I(3)); end Behavioral;
  • 34. P a g e | 34 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 2. VHDL code for 4x1 Mux in Behavioral Modelling. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity MUX_4X1 is Port ( I : in STD_LOGIC_VECTOR (3 downto 0); X: in STD_LOGIC_VECTOR (1 downto 0); Y : out STD_LOGIC); end MUX_4X1; architecture Behavioral of MUX_4X1 is begin process(I,X) begin if X="00" then Y <=I(0); elsif X="01" then Y<=I(1); elsif X="10" then Y<=I(2); elsif X="11" then Y<=I(3); end if; end process; end Behavioral;
  • 35. P a g e | 35 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g 3. VHDL code for 4x1 Mux in structural Modelling. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity MUX_4X1 is Port ( I : in STD_LOGIC_VECTOR (3 downto 0); X: in STD_LOGIC_VECTOR (1 downto 0); Y : out STD_LOGIC); end MUX_4X1; architecture Behavioral of MUX_4X1 is Component and_gate_3IP is Port (p,q,r, :in STD_LOGIC; s : out STD_LOGIC); end component; Component and_gate_4IP is Port (p,q,r,s :in STD_LOGIC; t: out STD_LOGIC); end component; signal temp1,temp2,temp3,temp4 :STD_LOGIC; begin A1: and_gate_3IP port map((not X(1),not X(0),I(0),temp1); A2: and_gate_3IP port map((not X(1), X(0),I(1),temp2); A3: and_gate_3IP port map((X(1),not X(0),I(2),temp3); A4: and_gate_3IP port map(( X(1),not X(0),I(3),temp4); Y1 :Or_gate_4IP port map(temp1,temp2,temp3,temp4,Y); end Behavioral;
  • 36. P a g e | 36 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : RTL Schematics in Behavioral modelling. RTL Schematics in Data flow. RTL Schematics in Structural modelling. Simulation Result :
  • 37. P a g e | 37 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 10 Objective: - Implemented the 2 bit binary comparator by VHDL. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity comp_2bit is Port ( A,B : in STD_LOGIC_VECTOR (1 downto 0); X,Y,Z : out STD_LOGIC); end comp_2bit; architecture Behavioral of comp_2bit is begin process (A, B) variable X_tmp : std_logic; variable Y_tmp : std_logic; variable Z_tmp : std_logic; begin -- process X_tmp := '0'; Y_tmp := '0'; Z_tmp := '0'; If A > B then X_tmp := '1'; elsif A = B then Y_tmp := '1'; else Z_tmp := '1'; end if; X <= X_tmp; Y <= Y_tmp;
  • 38. P a g e | 38 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g Z <= Z_tmp; end process; end Behavioral; RTL schematics : RTL Schematics Simulation result :
  • 39. P a g e | 39 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 11 Objective: - Implemented 4X2 Encoder Using VHDL. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity encoder_case is port( din : in STD_LOGIC_VECTOR(3 downto 0); dout : out STD_LOGIC_VECTOR(1 downto 0); end encoder_case; architecture encoder_case_arc of encoder_case is begin encoder : process (din) is begin case din is when "1000" => dout <= "00"; when "0100" => dout <= "01"; when "0010" => dout <= "10"; when "0001" => dout <= "11"; when others => dout <= "ZZ"; end case; end process encoder; end encoder_case_arc; end Behavioral;
  • 40. P a g e | 40 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : Simulation Result :
  • 41. P a g e | 41 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 12 Objective: - Implemented Binary to Gray converter. library IEEE; use IEEE.STD_LOGIC_1164.all; entity binary_to_gray is port( din : in STD_LOGIC_VECTOR(3 downto 0); dout : out STD_LOGIC_VECTOR(3 downto 0); end binary_to_gray; architecture binary_to_gray_arc of binary_to_gray is begin dout(3) <= din(3); dout(2) <= din(3) xor din(2); dout(1) <= din(2) xor din(1); dout(0) <= din(1) xor din(0); end binary_to_gray_arc; end Behavioral;
  • 42. P a g e | 42 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics: RTL Schematics of Binary to gray converter. Simulation result:
  • 43. P a g e | 43 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO.13 Objective: - Implemented to GRAY to BINARY code converter using VHDL. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Gray_to_binary is Port ( G : in STD_LOGIC_VECTOR (3 downto 0); B : out STD_LOGIC_VECTOR (3 downto 0)); end Gray_to_binary; architecture Behavioral of Gray_to_binary is begin process (G) begin if G="0000" then B<="0000"; elsif G="0001" then B<="0001"; elsif G="0010" then B<="0011"; elsif G="0100" then B<="0110"; elsif G="0101" then B<="0111"; elsif G="0110" then B<="0101"; elsif G="0111" then B<="0100"; elsif G="1000" then B<="1100"; elsif G="1001" then B<="1101"; elsif G="1010" then B<="1111";
  • 44. P a g e | 44 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g elsif G="1011" then B<="1110"; elsif G="1100" then B<="1010"; elsif G="1101" then B<="1011"; elsif G="1110" then B<="1001"; elsif G="1111" then B<="1000"; end if; end process; end Behavioral; RTL Schematics : Simulation Result :
  • 45. P a g e | 45 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 14 Objective: - Implemented BCD code to SEVEN SEGMENT Display code using VHDL. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Bcd_7seg is Port ( clk : in STD_LOGIC; bcd : in STD_LOGIC_VECTOR(3 downto 0); segment7 : out STD_LOGIC_VECTOR(7 downto 0); end Bcd_7seg; architecture Behavioral of Bcd_7seg is begin process (clk,bcd)is begin if (clk'event and clk='1') then case bcd is when "0000"=> segment7 <="0000001"; when "0001"=> segment7 <="1001111"; when "0010"=> segment7 <="0010010"; when "0011"=> segment7 <="0000110"; when "0100"=> segment7 <="1001100"; when "0101"=> segment7 <="0100100"; when "0110"=> segment7 <="0100000"; when "0111"=> segment7 <="0001111"; when "1000"=> segment7 <="0000000"; when "1001"=> segment7 <="0000100"; when others=> segment7 <="1111111";
  • 46. P a g e | 46 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g end case; end if; end process; end Behavioral; RTL Schematics : Simulation Result :
  • 47. P a g e | 47 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKY Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 15 Objective: Implemented the BCD to EXCESS-3 Code converter. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity BCD_XS3 is port( A, B, C, D : in std_logic; W, X, Y, Z : out std_logic); end BCD_XS3; architecture BCD_Func of BCD_XS3 is component andGate is port( A, B : in std_logic; F : out std_logic); end component; component orGate is port( A, B : in std_logic; F : out std_logic); end component; component xorGate is port( A, B : in std_logic; F : out std_logic); end component; component notGate is port( inPort : in std_logic; outPort : out std_logic); end component; signal andOut, orOut, xorOut: std_logic;
  • 48. P a g e | 48 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g begin G1: orGate port map(A, andOut, W); G2: andGate port map(B, orOut, andOut); G3: orGate port map(C, D, orOut); G4: xorGate port map(orOut, B, X); G5: xorGate port map(C, D, xorOut); G6: notGate port map(xorOut, Y); G7: notGate port map(D, Z); end BCD_Func; ` end Behavioral; RTL Schematics : Simulation result :
  • 49. P a g e | 49 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: __________________________________ Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO.16 Objective: - Implementation the various flip flop. DELAY F/F : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity delay_flip_flop is Port ( RST,CLK : in STD_LOGIC; Jin : in STD_LOGIC; Qout : out STD_LOGIC); end delay_flip_flop; architecture Behavioral of delay_flip_flop is begin process(Jin,CLK) begin if(CLK='1' and CLK'event) then Qout <=Jin; if(RST='1') then Qout<='0'; else Qout<=Jin; end if; end if; end process; J-K F/F :
  • 50. P a g e | 50 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity JK_Flipflop is port ( clk: in std_logic; J, K: in std_logic; Q, Qbar: out std_logic; reset: in std_logic); end JK_Flipflop; architecture Behavioral of JK_Flipflop signal qtemp,qbartemp : std_logic :='0'; begin Q <= qtemp; Qbar <= qbartemp; process(clk,reset) begin if(reset = '1') then qtemp <= '0'; qbartemp <= '1'; elsif( rising_edge(clk) ) then if(J='0' and K='0') then NULL; elsif(J='0' and K='1') then qtemp <= '0'; qbartemp <= '1'; elsif(J='1' and K='0') then qtemp <= '1'; qbartemp <= '0'; else qtemp <= not qtemp; qbartemp <= not qbartemp; end if; end if; end process; end Behavioral;
  • 51. P a g e | 51 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g TOGGLE_F/F library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity TOGGLE_FF is Port( T,CLK,PRESET,SET : in STD_LOGIC; Q,Qnot : out STD_LOGIC); End TOGGLE_FF; architecture Behavioral of TOGGLE_FF is begin process (CLK,PRESET,SET) variable X : STD_LOGIC; begin if(SET ='0') then X :='0'; elsif (SET='1' and PRESET='0')then X:='1'; elsif(CLK='1' and CLK'event) then if (T='1')then X :=not X; end if; end if; Q<=X; Qnot <= not X; end process; end Behavioral; RTL Schematics : DELAY F/F :
  • 52. P a g e | 52 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics of Delay flip flop J_K_FLIP_FLOP RTL Schematics of JK_Flip flop TOGGLE F/F : RTL Schematics of Toggle flip flop
  • 53. P a g e | 53 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g Simulation Result : DELAY F/F JK_F/F TOGGLE F/F
  • 54. P a g e | 54 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: __________________________________ Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 17 Objective: Implemented the MOD 16 UP counter. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity bit4_up is Port ( count : out STD_LOGIC_VECTOR (3 downto 0); clk : in STD_LOGIC); end bit4_up; architecture Behavioral of bit4_up is signal cnt:STD_LOGIC_VECTOR (3 downto 0) := "1111" ; begin process (clk) begin if ( clk = '1') AND( clk'LAST_VALUE = '0') then count <= cnt+1; cnt <= cnt+1; end if; end process; end Behavioral;
  • 55. P a g e | 55 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : Simulation Result :
  • 56. P a g e | 56 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: __________________________________ Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO.18 Objective: - Design of counter MOD-16 up-down counter. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity MOD_16_up_down_counter is Port ( CLK : in STD_LOGIC; RST : in STD_LOGIC; DTN : in STD_LOGIC; OUTP : out STD_LOGIC_VECTOR (0 downto 3)); end MOD_16_up_down_counter; architecture Behavioral of MOD_16_up_down_counter is signal temp : STD_LOGIC_VECTOR(0 to 3); begin process(CLK,RST) begin if RST='1' then temp<="0000"; elsif(CLK'event and CLK='1') then if(DTN='0') then temp<=temp+ '1'; elsif(DTN='1') then temp<=temp- '1'; end if; end if; end process; end Behavioral;
  • 57. P a g e | 57 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : RTL schematics for MOD-16 bit up down counter Simulation result :
  • 58. P a g e | 58 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: __________________________________ Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO.19 Objective: - Implemented design of synchronous 8 Bit Jhonson Counter. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Jhonson_counter_8bit is Port ( CLK : in STD_LOGIC; RST : in STD_LOGIC; O : out unsigned (3 downto 0)); end Jhonson_counter_8bit; architecture Behavioral of Jhonson_counter_8bit is signal temp : unsigned(3 downto 0):=(others=>'0'); begin O<=temp; process(CLK) begin if (rising_edge(CLK))then if (RST='1') then temp <=(others=>'0'); else temp(1) <=temp(0); temp(2) <=temp(1); temp(3) <=temp(2); temp(0) <=not temp(3); end if; end if; end process; end Behavioral;
  • 59. P a g e | 59 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g RTL Schematics : RTL Schematics of 8 Bit Jhonson Counter Simulation result :
  • 60. P a g e | 60 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g SHRI G. S. INSTITUTE OF TECHNOLOGY AND SCIENCE DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING Subject: VLSI Design Subject code: EI 4755 Name of Student: VEER SINGH SHAKYA Enroll No: 0801EI121058 Session: 2015-2016 Date: __________________________ Remarks, if any: ____________________________ Signature of Lecturer VHDL CODE NO. 20 Objective: - Implemented the 4 bit Ring Counter. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Ring_counter is Port ( clk : in STD_LOGIC; reset : in STD_LOGIC; output : out STD_LOGIC_VECTOR (3 downto 0)); end Ring_counter; architecture Behavioral of Ring_counter is signal temp : STD_LOGIC_VECTOR(3 downto 0):=(others => '0'); begin process(clk) begin if( clk'event and clk='1' ) then if (reset = '1') then temp <= (0=> '1', others => '0'); else temp(1) <= temp(0); temp(2) <= temp(1); temp(3) <= temp(2);
  • 61. P a g e | 61 D e p a r t m e n t o f E l e c t r o n i c s a n d I n s t r u m e n t a t i o n E n g i n e e r i n g temp(0) <= temp(3); end if; end if; end process; output<=temp; end Behavioral; RTL Schematics : Simulation Result :