SlideShare a Scribd company logo
1 of 31
Download to read offline
Q 1:– Design All Logical Gates Using VHDL. 
Solution: - 
AND Gate:- 
Source Code: - 
-------------------------------------------------- 
-- AND gate 
-- two descriptions provided 
-------------------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
-------------------------------------------------- 
entity AND_ent is 
port( x: in std_logic; 
y: in std_logic; 
F: out std_logic 
); 
end AND_ent; 
-------------------------------------------------- 
architecture AND_behav1 of AND_ent is 
begin 
process(x, y) 
begin 
-- compare to truth table 
if ((x='1') and (y='1')) then 
F <= '1'; 
else 
F <= '0'; 
end if; 
end process;
end behav1; 
architecture AND_behav2 of AND_ent is 
begin 
F <= x and y; 
end behav2; 
Sample Waveform Output: - 
OR Gate:- 
Source Code: - 
-------------------------------------- 
-- OR gate 
-- 
-- two descriptions provided 
-------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
-------------------------------------- 
entity OR_ent is 
port( x: in std_logic; 
y: in std_logic; 
F: out std_logic
); 
end OR_ent; 
--------------------------------------- 
architecture OR_arch of OR_ent is 
begin 
process(x, y) 
begin 
-- compare to truth table 
if ((x='0') and (y='0')) then 
F <= '0'; 
else 
F <= '1'; 
end if; 
end process; 
end OR_arch; 
architecture OR_beh of OR_ent is 
begin 
F <= x or y; 
end OR_beh; 
Sample Waveform Output: - 
NOT Gate:- 
Source Code: -
-------------------------------------- 
-- NOT gate 
-- 
-- two descriptions provided 
-------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
-------------------------------------- 
entity NOT_ent is 
port( x: in std_logic; 
F: out std_logic 
); 
end NOT_ent; 
--------------------------------------- 
architecture NOT_arch of NOT_ent is 
begin 
F <= not x; 
end NOT_beh; 
Sample Waveform Output: - 
NAND Gate:-
Source Code: - 
----------------------------------------- 
-- NAND gate 
-- 
-- two descriptions provided 
----------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
------------------------------------------ 
entity NAND_ent is 
port( x: in std_logic; 
y: in std_logic; 
F: out std_logic 
); 
end NAND_ent; 
------------------------------------------ 
architecture behv1 of NAND_ent is 
begin 
process(x, y) 
begin 
-- compare to truth table 
if (x='1' and y='1') then 
F <= '0'; 
else 
F <= '1'; 
end if; 
end process; 
end behv1;
----------------------------------------- 
architecture behv2 of NAND_ent is 
begin 
F <= x nand y; 
end behv2; 
Sample Waveform Output: - 
NOR Gate:- 
Source Code: - 
----------------------------------------- 
-- NOR gate 
-- 
-- two descriptions provided 
----------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
----------------------------------------- 
entity NOR_ent is 
port( x: in std_logic; 
y: in std_logic; 
F: out std_logic 
);
end NOR_ent; 
------------------------------------------ 
architecture behv1 of NOR_ent is 
begin 
process(x, y) 
begin 
-- compare to truth table 
if (x='0' and y='0') then 
F <= '1'; 
else 
F <= '0'; 
end if; 
end process; 
end behv1; 
architecture behv2 of NOR_ent is 
begin 
F <= x nor y; 
end behv2; 
Sample Waveform Output: - 
XOR Gate:-
Source Code: - 
-------------------------------------- 
-- XOR gate 
-- 
-- two descriptions provided 
-------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
-------------------------------------- 
entity XOR_ent is 
port( x: in std_logic; 
y: in std_logic; 
F: out std_logic 
); 
end XOR_ent; 
-------------------------------------- 
architecture behv1 of XOR_ent is 
begin 
process(x, y) 
begin 
-- compare to truth table 
if (x/=y) then 
F <= '1'; 
else 
F <= '0'; 
end if; 
end process;
end behv1; 
architecture behv2 of XOR_ent is 
begin 
F <= x xor y; 
end behv2; 
Sample Waveform Output: - 
XNOR Gate:- 
Source Code: - 
-------------------------------------- 
-- XOR gate 
-- 
-- two descriptions provided 
-------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
-------------------------------------- 
entity XNOR_ent is 
port( x: in std_logic; 
y: in std_logic; 
F: out std_logic
); 
end XNOR_ent; 
--------------------------------------- 
architecture behv1 of XNOR_ent is 
begin 
process(x, y) 
begin 
-- compare to truth table 
if (x/=y) then 
F <= '0'; 
else 
F <= '1'; 
end if; 
end process; 
end behv1; 
architecture behv2 of XNOR_ent is 
begin 
F <= x xnor y; 
end behv2; 
--------------------------------------- 
Sample Waveform Output: -
Q 2:– Write VHDL Programs for the following and check simulation – 
1. Half Adder 
2. Full Adder 
Solution: - 
Half Adder:- 
Source Code: - 
-- ============================================================================= 
-- file name is : ha (ha=half adder) 
-- Author : Soumya 
-- ============================================================================= 
library ieee; 
use ieee.std_logic_1164.ALL; 
use ieee.std_logic_unsigned.ALL; 
entity ha is 
port (X : in std_logic; 
Y : in std_logic; 
Z : out std_logic; -- sum out of X+Y 
C : out std_logic -- carry out from X+Y 
); 
end ha; 
-- ============================================================================= 
-- ============================================================================= 
architecture rtl of ha is 
-- ============================================================================= 
begin 
Z <= (X XOR Y); 
C <= X AND Y; -- the logical operator "AND" and "XOR" is defined in VHDL. 
end rtl; 
Sample Waveform Output: - 
Full Adder:- 
Source Code: - 
-- ============================================================================= 
-- file name is : fa (fa=full adder) 
-- Author : Soumya 
-- =============================================================================
library ieee; 
use ieee.std_logic_1164.ALL; -- can be different dependent on tool used. 
use ieee.std_logic_unsigned.ALL; -- can be different dependent on tool used. 
entity fa is 
port (a : in std_logic; 
b : in std_logic; 
c_in : in std_logic; 
sum : out std_logic; -- sum out of X+Y 
c_out : out std_logic -- carry out 
); 
end fa; 
-- ============================================================================= 
-- ============================================================================= 
architecture rtl of fa is 
-- Define internal signals 
signal sum_low : std_logic; 
signal c_low : std_logic; 
signal c_high : std_logic; 
-- Define the entity of the half adder to instansiate 
component ha -- "ha" must be same name as used in the entity for the file 
port (X : in std_logic; 
Y : in std_logic; 
Z : out std_logic; -- sum out of X+Y 
C : out std_logic -- carry out 
); 
end component; --------- end of entity for ha ---------- 
-- ============================================================================= 
begin 
ha_low : ha 
port map ( 
-- ha-side fa-side 
X => a, 
Y => b, 
Z => sum_low, 
C => c_low 
); --------- end of port map for "ha_low" ---------- 
ha_high : ha 
port map ( 
-- ha-side fa-side 
X => sum_low, 
Y => c_in, 
Z => sum, 
C => c_high 
); --------- end of port map for "ha_high" ---------- 
c_out <= (c_low OR c_high); 
end rtl;
Sample Waveform Output: -
Q 3:– Write VHDL Programs for the following and check simulation – 
1. Multiplexer 
2. Demultiplexer 
Solution: - 
Multiplexer (4 X 1):- 
Source Code: - 
------------------------------------------------- 
-- VHDL code for 4:1 multiplexor 
-- Multiplexor is a device to select different 
-- inputs to outputs. we use 3 bits vector to 
-- describe its I/O ports 
------------------------------------------------- 
library ieee; 
use ieee.std_logic_1164.all; 
------------------------------------------------- 
entity Mux is 
port( I3: in std_logic_vector(2 downto 0); 
I2: in std_logic_vector(2 downto 0); 
I1: in std_logic_vector(2 downto 0); 
I0: in std_logic_vector(2 downto 0); 
S: in std_logic_vector(1 downto 0); 
O: out std_logic_vector(2 downto 0) 
); 
end Mux; 
------------------------------------------------- 
architecture behv1 of Mux is 
begin 
process(I3,I2,I1,I0,S) 
begin
-- use case statement 
case S is 
when "00" => O <= I0; 
when "01" => O <= I1; 
when "10" => O <= I2; 
when "11" => O <= I3; 
when others => O <= "ZZZ"; 
end case; 
end process; 
end behv1; 
architecture behv2 of Mux is 
begin 
-- use when.. else statement 
O <= I0 when S="00" else 
I1 when S="01" else 
I2 when S="10" else 
I3 when S="11" else 
"ZZZ"; 
end behv2; 
Sample Waveform Output: -
Demultiplexer (1 X 4):- 
Source Code: - 
library ieee; 
use ieee.std_logic_1164.all; 
entity Demux_4_to_1 is 
port( E : in std_logic; -- the signal source 
S0, S1 : in std_logic; -- the selector switches 
D0, D1, D2, D3 : out std_logic);-- the output data lines 
end Demux_4_to_1; 
-- 
architecture Func of Demux_4_to_1 is 
component andGate is --import AND Gate entity 
port( A, B, C : in std_logic; 
F : out std_logic); 
end component; 
component notGate is --import NOT Gate entity 
port( inPort : in std_logic; 
outPort : out std_logic);
end component; 
signal invOut0, invOut1 : std_logic; 
begin 
--Just like the real circuit, there are 
--four components: G1 to G4 
GI1: notGate port map(S0, invOut0); 
GI2: notGate port map(S1, invOut1); 
GA1: andGate port map(E, invOut1, invOut0, D0); -- D0 
GA2: andGate port map(E, S0, invOut1, D1); -- D1 
GA3: andGate port map(E, invOut0, S1, D2); -- D2 
GA4: andGate port map(E, S0, S1, D3); -- D3 
end Func; 
---------------------------------------------------------END 
---------------------------------------------------------END 
Sample Waveform Output: -
Q 4:– Write VHDL Programs for the following and check simulation – 
1. Decoder 
2. Encoder 
Solution: - 
DECODER (2 to 4 line):- 
Source Code: - 
library IEEE; 
use IEEE.STD_LOGIC_1164.ALL; 
entity decoder is 
port( input : in std_logic_vector(2 downto 0); --3 bit input 
output : out std_logic_vector(7 downto 0) -- 8 bit ouput 
); 
end decoder; 
architecture arch of decoder is 
begin 
output(0) <= (not input(2)) and (not input(1)) and (not input(0)); 
output(1) <= (not input(2)) and (not input(1)) and input(0); 
output(2) <= (not input(2)) and input(1) and (not input(0)); 
output(3) <= (not input(2)) and input(1) and input(0); 
output(4) <= input(2) and (not input(1)) and (not input(0)); 
output(5) <= input(2) and (not input(1)) and input(0); 
output(6) <= input(2) and input(1) and (not input(0)); 
output(7) <= input(2) and input(1) and input(0); 
end arch; 
Sample Waveform Output: -
ENCODER (4 Input Priority Encoder):- 
Source Code: - 
library ieee; 
use ieee.std_logic_1164.all; 
entity Encoder_8x3 is 
port(d0,d1,d2,d3,d4,d5,d6,d7:in std_logic; 
a0,a1,a2:out std_logic); 
end Encoder_8x3; 
architecture arch of Encoder_8x3 is 
begin 
a2<= d4 or d5 or d6 or d7; 
a1<= d2 or d3 or d6 or d7; 
a0<= d1 or d3 or d5 or d7; 
end arch; 
Sample Waveform Output: -
Q 5:– Write a VHDL Program for a Comparator and check the simulation. 
Solution: - 
COMPARATOR:- 
Source Code: - 
LIBRARY ieee ; 
USE ieee.std_logic_1164.all ; 
USE ieee.std_logic_arith.all ; 
ENTITY compare IS 
PORT ( A, B : IN SIGNED(3 DOWNTO 0) ; 
AeqB, AgtB, AltB : OUT STD_LOGIC ) ; 
END compare ; 
ARCHITECTURE Behavior OF compare IS 
BEGIN 
AeqB <= '1' WHEN A = B ELSE '0' ; 
AgtB <= '1' WHEN A > B ELSE '0' ; 
AltB <= '1' WHEN A < B ELSE '0' ; 
END Behavior ; 
Sample Waveform Output: -
Q 6:– Write a VHDL Program for a Code Convertor and check the simulation. 
Solution: - 
BCD to BINARY CODE CONVERTOR:- 
Source Code: - 
library IEEE; 
use IEEE.STD_LOGIC_1164.ALL; 
entity BCD2BIN is 
Port ( bcd : in STD_LOGIC_VECTOR (4 downto 0); 
binary : out STD_LOGIC_VECTOR (3 downto 0)); 
end BCD2BIN; 
architecture Behavioral of BCD2BIN is 
begin 
process (bcd) 
begin 
case bcd is 
when "00000" => binary <= "0000"; 
when "00001" => binary <= "0001"; 
when "00010" => binary <= "0010"; 
when "00011" => binary <= "0011"; 
when "00100" => binary <= "0100"; 
when "00101" => binary <= "0101"; 
when "00110" => binary <= "0110"; 
when "00111" => binary <= "0111"; 
when "01000" => binary <= "1000"; 
when "01001" => binary <= "1001"; 
when "10000" => binary <= "1010"; 
when "10001" => binary <= "1011"; 
when "10010" => binary <= "1100"; 
when "10011" => binary <= "1101"; 
when "10100" => binary <= "1110"; 
when "10101" => binary <= "1111";
when others => binary <= "XXXX"; 
end case; 
end process; 
end Behavioral; 
Sample Waveform Output: -
Q 7:– Write a VHDL Program for a Flip-Flop and check the simulation. 
Solution: - 
JK FLIP FLOP:- 
Source Code: - 
library IEEE; 
use IEEE.STD_LOGIC_1164.ALL; 
entity jk is 
Port ( J : in STD_LOGIC; 
K : in STD_LOGIC; 
clock : in STD_LOGIC; 
reset : in STD_LOGIC; 
Q : out STD_LOGIC; 
Qbar : out STD_LOGIC); 
end jk; 
architecture Behavioral of jk is 
signal state: std_logic; 
signal input: std_logic_vector(1 downto 0); 
begin 
input <= J & K; 
p: process(clock, reset) is 
begin 
if (reset='1') then 
state <= '0'; 
elsif (rising_edge(clock)) then 
case (input) is 
when "11" => 
state <= not state; 
when "10" => 
state <= '1'; 
when "01" => 
state <= '0';
when others => 
null; 
end case; 
end if; 
end process; 
Q <= state; 
Qbar <= not state; 
end Behavioral; 
Sample Waveform Output: -
Q 8:– Write a VHDL Program for a Counter and check the simulation. 
Solution: - 
N BIT COUNTER:- 
Source Code: - 
---------------------------------------------------- 
-- VHDL code for n-bit counter 
-- 
-- this is the behavior description of n-bit counter 
-- another way can be used is FSM model. 
---------------------------------------------------- 
library ieee ; 
use ieee.std_logic_1164.all; 
use ieee.std_logic_unsigned.all; 
---------------------------------------------------- 
entity counter is 
generic(n: natural :=2); 
port( clock: in std_logic; 
clear: in std_logic; 
count: in std_logic; 
Q: out std_logic_vector(n-1 downto 0) 
); 
end counter; 
---------------------------------------------------- 
architecture behv of counter is 
signal Pre_Q: std_logic_vector(n-1 downto 0); 
begin 
-- behavior describe the counter 
process(clock, count, clear) 
begin 
if clear = '1' then 
Pre_Q <= Pre_Q - Pre_Q; 
elsif (clock='1' and clock'event) then 
if count = '1' then 
Pre_Q <= Pre_Q + 1; 
end if; 
end if; 
end process; 
-- concurrent assignment statement 
Q <= Pre_Q; 
end behv; 
Sample Waveform Output: -
Q 9:– Write VHDL Programs for the following and check simulation – 
1. Register 
2. Shift Register 
Solution: - 
N-Bit Register:- 
Source Code: - 
--------------------------------------------------- 
-- n-bit Register (ESD book figure 2.6) 
-- 
-- KEY WORD: concurrent, generic and range 
--------------------------------------------------- 
library ieee ; 
use ieee.std_logic_1164.all; 
use ieee.std_logic_unsigned.all; 
--------------------------------------------------- 
entity reg is 
generic(n: natural :=2); 
port( I: in std_logic_vector(n-1 downto 0); 
clock: in std_logic; 
load: in std_logic; 
clear: in std_logic; 
Q: out std_logic_vector(n-1 downto 0) 
); 
end reg; 
---------------------------------------------------- 
architecture behv of reg is 
signal Q_tmp: std_logic_vector(n-1 downto 0); 
begin 
process(I, clock, load, clear) 
begin 
if clear = '0' then 
-- use 'range in signal assigment 
Q_tmp <= (Q_tmp'range => '0'); 
elsif (clock='1' and clock'event) then 
if load = '1' then 
Q_tmp <= I; 
end if; 
end if; 
end process;
-- concurrent statement 
Q <= Q_tmp; 
end behv; 
--------------------------------------------------- 
Sample Waveform Output: - 
3-Bit Shift Register:- 
Source Code: - 
--------------------------------------------------- 
-- 3-bit Shift-Register/Shifter 
-- 
-- reset is ignored according to the figure 
--------------------------------------------------- 
library ieee ; 
use ieee.std_logic_1164.all; 
--------------------------------------------------- 
entity shift_reg is 
port( I: in std_logic; 
clock: in std_logic; 
shift: in std_logic; 
Q: out std_logic 
); 
end shift_reg; 
--------------------------------------------------- 
architecture behv of shift_reg is 
-- initialize the declared signal 
signal S: std_logic_vector(2 downto 0):="111"; 
begin
process(I, clock, shift, S) 
begin 
-- everything happens upon the clock changing 
if clock'event and clock='1' then 
if shift = '1' then 
S <= I & S(2 downto 1); 
end if; 
end if; 
end process; 
-- concurrent assignment 
Q <= S(0); 
end behv; 
Sample Waveform Output: -
PRACTICAL FILE 
DDDDIIIIGGGGIIIITTTTAAAALLLL SSSSYYYYSSSSTTTTEEEEMMMM 
DDDDEEEESSSSIIIIGGGGNNNN LLLLAAAABBBB 
Softwares Used – 1. Xilinx 13.4 
2. ActiveHDL 7.2 SE 
Submitted To:- Submitted By:- 
Mr. Manoj Ahlawat Soumya S. Behera 
Asst. Professor 1826 
6th Semester, CSE 
UIET, Mdu, Rohtak

More Related Content

What's hot

Computer Networks Lab File
Computer Networks Lab FileComputer Networks Lab File
Computer Networks Lab FileKandarp Tiwari
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)Simen Li
 
Controller Implementation in Verilog
Controller Implementation in VerilogController Implementation in Verilog
Controller Implementation in VerilogAnees Akhtar
 
Specializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network StackSpecializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network StackKernel TLV
 
Cs423 raw sockets_bw
Cs423 raw sockets_bwCs423 raw sockets_bw
Cs423 raw sockets_bwjktjpc
 
Advanced Sockets Programming
Advanced Sockets ProgrammingAdvanced Sockets Programming
Advanced Sockets Programmingelliando dias
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20DefconRussia
 
Project single cyclemips processor_verilog
Project single cyclemips processor_verilogProject single cyclemips processor_verilog
Project single cyclemips processor_verilogHarsha Yelisala
 
Program for hamming code using c
Program for hamming code using cProgram for hamming code using c
Program for hamming code using csnsanth
 
深入淺出C語言
深入淺出C語言深入淺出C語言
深入淺出C語言Simen Li
 
Linux Timer device driver
Linux Timer device driverLinux Timer device driver
Linux Timer device driver艾鍗科技
 
Finding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated DisassemblyFinding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated DisassemblyPriyanka Aash
 
Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)Alok Singh
 
Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Eueung Mulyana
 
Crash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenCrash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenLex Yu
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -evechiportal
 
No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)
No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)
No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)Pixie Labs
 

What's hot (20)

Computer Networks Lab File
Computer Networks Lab FileComputer Networks Lab File
Computer Networks Lab File
 
20141106 asfws unicode_hacks
20141106 asfws unicode_hacks20141106 asfws unicode_hacks
20141106 asfws unicode_hacks
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (3)
 
Controller Implementation in Verilog
Controller Implementation in VerilogController Implementation in Verilog
Controller Implementation in Verilog
 
Specializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network StackSpecializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network Stack
 
Cs423 raw sockets_bw
Cs423 raw sockets_bwCs423 raw sockets_bw
Cs423 raw sockets_bw
 
Advanced Sockets Programming
Advanced Sockets ProgrammingAdvanced Sockets Programming
Advanced Sockets Programming
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20
 
Project single cyclemips processor_verilog
Project single cyclemips processor_verilogProject single cyclemips processor_verilog
Project single cyclemips processor_verilog
 
Program for hamming code using c
Program for hamming code using cProgram for hamming code using c
Program for hamming code using c
 
深入淺出C語言
深入淺出C語言深入淺出C語言
深入淺出C語言
 
Linux Timer device driver
Linux Timer device driverLinux Timer device driver
Linux Timer device driver
 
Finding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated DisassemblyFinding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated Disassembly
 
Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)
 
Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+
 
Crash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenCrash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_Tizen
 
Debugging linux
Debugging linuxDebugging linux
Debugging linux
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eve
 
No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)
No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)
No instrumentation Golang Logging with eBPF (GoSF talk 11/11/20)
 
Verilog lab mauual
Verilog lab mauualVerilog lab mauual
Verilog lab mauual
 

Viewers also liked

Viewers also liked (7)

Chapter one
Chapter oneChapter one
Chapter one
 
Proiect final
Proiect finalProiect final
Proiect final
 
Learning Delivery - Agency Transformational Model
Learning Delivery - Agency Transformational ModelLearning Delivery - Agency Transformational Model
Learning Delivery - Agency Transformational Model
 
Trucos de excel
Trucos de excelTrucos de excel
Trucos de excel
 
Photo Contest-Konutkent
Photo Contest-KonutkentPhoto Contest-Konutkent
Photo Contest-Konutkent
 
Udtalelser
UdtalelserUdtalelser
Udtalelser
 
Micro-Learning: Why Big isn’t Always Better
Micro-Learning: Why Big isn’t Always BetterMicro-Learning: Why Big isn’t Always Better
Micro-Learning: Why Big isn’t Always Better
 

Similar to Dsdlab 120528004329-phpapp01

Dsd lab Practical File
Dsd lab Practical FileDsd lab Practical File
Dsd lab Practical FileSoumya Behera
 
Practical file
Practical filePractical file
Practical filerajeevkr35
 
Experiment write-vhdl-code-for-realize-all-logic-gates
Experiment write-vhdl-code-for-realize-all-logic-gatesExperiment write-vhdl-code-for-realize-all-logic-gates
Experiment write-vhdl-code-for-realize-all-logic-gatesRicardo Castro
 
Ecet 340 Your world/newtonhelp.com
Ecet 340 Your world/newtonhelp.comEcet 340 Your world/newtonhelp.com
Ecet 340 Your world/newtonhelp.comamaranthbeg100
 
Ecet 340 Motivated Minds/newtonhelp.com
Ecet 340 Motivated Minds/newtonhelp.comEcet 340 Motivated Minds/newtonhelp.com
Ecet 340 Motivated Minds/newtonhelp.comamaranthbeg60
 
Ecet 340 Extraordinary Success/newtonhelp.com
Ecet 340 Extraordinary Success/newtonhelp.comEcet 340 Extraordinary Success/newtonhelp.com
Ecet 340 Extraordinary Success/newtonhelp.comamaranthbeg120
 
Ecet 340 Education is Power/newtonhelp.com
Ecet 340 Education is Power/newtonhelp.comEcet 340 Education is Power/newtonhelp.com
Ecet 340 Education is Power/newtonhelp.comamaranthbeg80
 
Bolt C++ Standard Template Libary for HSA by Ben Sanders, AMD
Bolt C++ Standard Template Libary for HSA  by Ben Sanders, AMDBolt C++ Standard Template Libary for HSA  by Ben Sanders, AMD
Bolt C++ Standard Template Libary for HSA by Ben Sanders, AMDHSA Foundation
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical fileArchita Misra
 
Exploring the x64
Exploring the x64Exploring the x64
Exploring the x64FFRI, Inc.
 
Introduction to VHDL
Introduction to VHDLIntroduction to VHDL
Introduction to VHDLYaser Kalifa
 
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIWLec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIWHsien-Hsin Sean Lee, Ph.D.
 
Digital system design lab manual
Digital system design lab manualDigital system design lab manual
Digital system design lab manualSanthosh Poralu
 
Kernel Recipes 2013 - Deciphering Oopsies
Kernel Recipes 2013 - Deciphering OopsiesKernel Recipes 2013 - Deciphering Oopsies
Kernel Recipes 2013 - Deciphering OopsiesAnne Nicolas
 
Real Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGAReal Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGAMafaz Ahmed
 
“Automation Testing for Embedded Systems”
“Automation Testing for Embedded Systems” “Automation Testing for Embedded Systems”
“Automation Testing for Embedded Systems” GlobalLogic Ukraine
 

Similar to Dsdlab 120528004329-phpapp01 (20)

Dsd lab Practical File
Dsd lab Practical FileDsd lab Practical File
Dsd lab Practical File
 
Session1
Session1Session1
Session1
 
Practical file
Practical filePractical file
Practical file
 
Experiment write-vhdl-code-for-realize-all-logic-gates
Experiment write-vhdl-code-for-realize-all-logic-gatesExperiment write-vhdl-code-for-realize-all-logic-gates
Experiment write-vhdl-code-for-realize-all-logic-gates
 
Ecet 340 Your world/newtonhelp.com
Ecet 340 Your world/newtonhelp.comEcet 340 Your world/newtonhelp.com
Ecet 340 Your world/newtonhelp.com
 
Ecet 340 Motivated Minds/newtonhelp.com
Ecet 340 Motivated Minds/newtonhelp.comEcet 340 Motivated Minds/newtonhelp.com
Ecet 340 Motivated Minds/newtonhelp.com
 
Ecet 340 Extraordinary Success/newtonhelp.com
Ecet 340 Extraordinary Success/newtonhelp.comEcet 340 Extraordinary Success/newtonhelp.com
Ecet 340 Extraordinary Success/newtonhelp.com
 
Ecet 340 Education is Power/newtonhelp.com
Ecet 340 Education is Power/newtonhelp.comEcet 340 Education is Power/newtonhelp.com
Ecet 340 Education is Power/newtonhelp.com
 
Bolt C++ Standard Template Libary for HSA by Ben Sanders, AMD
Bolt C++ Standard Template Libary for HSA  by Ben Sanders, AMDBolt C++ Standard Template Libary for HSA  by Ben Sanders, AMD
Bolt C++ Standard Template Libary for HSA by Ben Sanders, AMD
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical file
 
Exploring the x64
Exploring the x64Exploring the x64
Exploring the x64
 
Introduction to VHDL
Introduction to VHDLIntroduction to VHDL
Introduction to VHDL
 
Unix executable buffer overflow
Unix executable buffer overflowUnix executable buffer overflow
Unix executable buffer overflow
 
Fpga 04-verilog-programming
Fpga 04-verilog-programmingFpga 04-verilog-programming
Fpga 04-verilog-programming
 
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIWLec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
 
Digital system design lab manual
Digital system design lab manualDigital system design lab manual
Digital system design lab manual
 
Kernel Recipes 2013 - Deciphering Oopsies
Kernel Recipes 2013 - Deciphering OopsiesKernel Recipes 2013 - Deciphering Oopsies
Kernel Recipes 2013 - Deciphering Oopsies
 
Real Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGAReal Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGA
 
“Automation Testing for Embedded Systems”
“Automation Testing for Embedded Systems” “Automation Testing for Embedded Systems”
“Automation Testing for Embedded Systems”
 
Lampiran 1.programdocx
Lampiran 1.programdocxLampiran 1.programdocx
Lampiran 1.programdocx
 

Dsdlab 120528004329-phpapp01

  • 1. Q 1:– Design All Logical Gates Using VHDL. Solution: - AND Gate:- Source Code: - -------------------------------------------------- -- AND gate -- two descriptions provided -------------------------------------------------- library ieee; use ieee.std_logic_1164.all; -------------------------------------------------- entity AND_ent is port( x: in std_logic; y: in std_logic; F: out std_logic ); end AND_ent; -------------------------------------------------- architecture AND_behav1 of AND_ent is begin process(x, y) begin -- compare to truth table if ((x='1') and (y='1')) then F <= '1'; else F <= '0'; end if; end process;
  • 2. end behav1; architecture AND_behav2 of AND_ent is begin F <= x and y; end behav2; Sample Waveform Output: - OR Gate:- Source Code: - -------------------------------------- -- OR gate -- -- two descriptions provided -------------------------------------- library ieee; use ieee.std_logic_1164.all; -------------------------------------- entity OR_ent is port( x: in std_logic; y: in std_logic; F: out std_logic
  • 3. ); end OR_ent; --------------------------------------- architecture OR_arch of OR_ent is begin process(x, y) begin -- compare to truth table if ((x='0') and (y='0')) then F <= '0'; else F <= '1'; end if; end process; end OR_arch; architecture OR_beh of OR_ent is begin F <= x or y; end OR_beh; Sample Waveform Output: - NOT Gate:- Source Code: -
  • 4. -------------------------------------- -- NOT gate -- -- two descriptions provided -------------------------------------- library ieee; use ieee.std_logic_1164.all; -------------------------------------- entity NOT_ent is port( x: in std_logic; F: out std_logic ); end NOT_ent; --------------------------------------- architecture NOT_arch of NOT_ent is begin F <= not x; end NOT_beh; Sample Waveform Output: - NAND Gate:-
  • 5. Source Code: - ----------------------------------------- -- NAND gate -- -- two descriptions provided ----------------------------------------- library ieee; use ieee.std_logic_1164.all; ------------------------------------------ entity NAND_ent is port( x: in std_logic; y: in std_logic; F: out std_logic ); end NAND_ent; ------------------------------------------ architecture behv1 of NAND_ent is begin process(x, y) begin -- compare to truth table if (x='1' and y='1') then F <= '0'; else F <= '1'; end if; end process; end behv1;
  • 6. ----------------------------------------- architecture behv2 of NAND_ent is begin F <= x nand y; end behv2; Sample Waveform Output: - NOR Gate:- Source Code: - ----------------------------------------- -- NOR gate -- -- two descriptions provided ----------------------------------------- library ieee; use ieee.std_logic_1164.all; ----------------------------------------- entity NOR_ent is port( x: in std_logic; y: in std_logic; F: out std_logic );
  • 7. end NOR_ent; ------------------------------------------ architecture behv1 of NOR_ent is begin process(x, y) begin -- compare to truth table if (x='0' and y='0') then F <= '1'; else F <= '0'; end if; end process; end behv1; architecture behv2 of NOR_ent is begin F <= x nor y; end behv2; Sample Waveform Output: - XOR Gate:-
  • 8. Source Code: - -------------------------------------- -- XOR gate -- -- two descriptions provided -------------------------------------- library ieee; use ieee.std_logic_1164.all; -------------------------------------- entity XOR_ent is port( x: in std_logic; y: in std_logic; F: out std_logic ); end XOR_ent; -------------------------------------- architecture behv1 of XOR_ent is begin process(x, y) begin -- compare to truth table if (x/=y) then F <= '1'; else F <= '0'; end if; end process;
  • 9. end behv1; architecture behv2 of XOR_ent is begin F <= x xor y; end behv2; Sample Waveform Output: - XNOR Gate:- Source Code: - -------------------------------------- -- XOR gate -- -- two descriptions provided -------------------------------------- library ieee; use ieee.std_logic_1164.all; -------------------------------------- entity XNOR_ent is port( x: in std_logic; y: in std_logic; F: out std_logic
  • 10. ); end XNOR_ent; --------------------------------------- architecture behv1 of XNOR_ent is begin process(x, y) begin -- compare to truth table if (x/=y) then F <= '0'; else F <= '1'; end if; end process; end behv1; architecture behv2 of XNOR_ent is begin F <= x xnor y; end behv2; --------------------------------------- Sample Waveform Output: -
  • 11. Q 2:– Write VHDL Programs for the following and check simulation – 1. Half Adder 2. Full Adder Solution: - Half Adder:- Source Code: - -- ============================================================================= -- file name is : ha (ha=half adder) -- Author : Soumya -- ============================================================================= library ieee; use ieee.std_logic_1164.ALL; use ieee.std_logic_unsigned.ALL; entity ha is port (X : in std_logic; Y : in std_logic; Z : out std_logic; -- sum out of X+Y C : out std_logic -- carry out from X+Y ); end ha; -- ============================================================================= -- ============================================================================= architecture rtl of ha is -- ============================================================================= begin Z <= (X XOR Y); C <= X AND Y; -- the logical operator "AND" and "XOR" is defined in VHDL. end rtl; Sample Waveform Output: - Full Adder:- Source Code: - -- ============================================================================= -- file name is : fa (fa=full adder) -- Author : Soumya -- =============================================================================
  • 12. library ieee; use ieee.std_logic_1164.ALL; -- can be different dependent on tool used. use ieee.std_logic_unsigned.ALL; -- can be different dependent on tool used. entity fa is port (a : in std_logic; b : in std_logic; c_in : in std_logic; sum : out std_logic; -- sum out of X+Y c_out : out std_logic -- carry out ); end fa; -- ============================================================================= -- ============================================================================= architecture rtl of fa is -- Define internal signals signal sum_low : std_logic; signal c_low : std_logic; signal c_high : std_logic; -- Define the entity of the half adder to instansiate component ha -- "ha" must be same name as used in the entity for the file port (X : in std_logic; Y : in std_logic; Z : out std_logic; -- sum out of X+Y C : out std_logic -- carry out ); end component; --------- end of entity for ha ---------- -- ============================================================================= begin ha_low : ha port map ( -- ha-side fa-side X => a, Y => b, Z => sum_low, C => c_low ); --------- end of port map for "ha_low" ---------- ha_high : ha port map ( -- ha-side fa-side X => sum_low, Y => c_in, Z => sum, C => c_high ); --------- end of port map for "ha_high" ---------- c_out <= (c_low OR c_high); end rtl;
  • 14. Q 3:– Write VHDL Programs for the following and check simulation – 1. Multiplexer 2. Demultiplexer Solution: - Multiplexer (4 X 1):- Source Code: - ------------------------------------------------- -- VHDL code for 4:1 multiplexor -- Multiplexor is a device to select different -- inputs to outputs. we use 3 bits vector to -- describe its I/O ports ------------------------------------------------- library ieee; use ieee.std_logic_1164.all; ------------------------------------------------- entity Mux is port( I3: in std_logic_vector(2 downto 0); I2: in std_logic_vector(2 downto 0); I1: in std_logic_vector(2 downto 0); I0: in std_logic_vector(2 downto 0); S: in std_logic_vector(1 downto 0); O: out std_logic_vector(2 downto 0) ); end Mux; ------------------------------------------------- architecture behv1 of Mux is begin process(I3,I2,I1,I0,S) begin
  • 15. -- use case statement case S is when "00" => O <= I0; when "01" => O <= I1; when "10" => O <= I2; when "11" => O <= I3; when others => O <= "ZZZ"; end case; end process; end behv1; architecture behv2 of Mux is begin -- use when.. else statement O <= I0 when S="00" else I1 when S="01" else I2 when S="10" else I3 when S="11" else "ZZZ"; end behv2; Sample Waveform Output: -
  • 16. Demultiplexer (1 X 4):- Source Code: - library ieee; use ieee.std_logic_1164.all; entity Demux_4_to_1 is port( E : in std_logic; -- the signal source S0, S1 : in std_logic; -- the selector switches D0, D1, D2, D3 : out std_logic);-- the output data lines end Demux_4_to_1; -- architecture Func of Demux_4_to_1 is component andGate is --import AND Gate entity port( A, B, C : in std_logic; F : out std_logic); end component; component notGate is --import NOT Gate entity port( inPort : in std_logic; outPort : out std_logic);
  • 17. end component; signal invOut0, invOut1 : std_logic; begin --Just like the real circuit, there are --four components: G1 to G4 GI1: notGate port map(S0, invOut0); GI2: notGate port map(S1, invOut1); GA1: andGate port map(E, invOut1, invOut0, D0); -- D0 GA2: andGate port map(E, S0, invOut1, D1); -- D1 GA3: andGate port map(E, invOut0, S1, D2); -- D2 GA4: andGate port map(E, S0, S1, D3); -- D3 end Func; ---------------------------------------------------------END ---------------------------------------------------------END Sample Waveform Output: -
  • 18. Q 4:– Write VHDL Programs for the following and check simulation – 1. Decoder 2. Encoder Solution: - DECODER (2 to 4 line):- Source Code: - library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity decoder is port( input : in std_logic_vector(2 downto 0); --3 bit input output : out std_logic_vector(7 downto 0) -- 8 bit ouput ); end decoder; architecture arch of decoder is begin output(0) <= (not input(2)) and (not input(1)) and (not input(0)); output(1) <= (not input(2)) and (not input(1)) and input(0); output(2) <= (not input(2)) and input(1) and (not input(0)); output(3) <= (not input(2)) and input(1) and input(0); output(4) <= input(2) and (not input(1)) and (not input(0)); output(5) <= input(2) and (not input(1)) and input(0); output(6) <= input(2) and input(1) and (not input(0)); output(7) <= input(2) and input(1) and input(0); end arch; Sample Waveform Output: -
  • 19. ENCODER (4 Input Priority Encoder):- Source Code: - library ieee; use ieee.std_logic_1164.all; entity Encoder_8x3 is port(d0,d1,d2,d3,d4,d5,d6,d7:in std_logic; a0,a1,a2:out std_logic); end Encoder_8x3; architecture arch of Encoder_8x3 is begin a2<= d4 or d5 or d6 or d7; a1<= d2 or d3 or d6 or d7; a0<= d1 or d3 or d5 or d7; end arch; Sample Waveform Output: -
  • 20.
  • 21. Q 5:– Write a VHDL Program for a Comparator and check the simulation. Solution: - COMPARATOR:- Source Code: - LIBRARY ieee ; USE ieee.std_logic_1164.all ; USE ieee.std_logic_arith.all ; ENTITY compare IS PORT ( A, B : IN SIGNED(3 DOWNTO 0) ; AeqB, AgtB, AltB : OUT STD_LOGIC ) ; END compare ; ARCHITECTURE Behavior OF compare IS BEGIN AeqB <= '1' WHEN A = B ELSE '0' ; AgtB <= '1' WHEN A > B ELSE '0' ; AltB <= '1' WHEN A < B ELSE '0' ; END Behavior ; Sample Waveform Output: -
  • 22. Q 6:– Write a VHDL Program for a Code Convertor and check the simulation. Solution: - BCD to BINARY CODE CONVERTOR:- Source Code: - library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity BCD2BIN is Port ( bcd : in STD_LOGIC_VECTOR (4 downto 0); binary : out STD_LOGIC_VECTOR (3 downto 0)); end BCD2BIN; architecture Behavioral of BCD2BIN is begin process (bcd) begin case bcd is when "00000" => binary <= "0000"; when "00001" => binary <= "0001"; when "00010" => binary <= "0010"; when "00011" => binary <= "0011"; when "00100" => binary <= "0100"; when "00101" => binary <= "0101"; when "00110" => binary <= "0110"; when "00111" => binary <= "0111"; when "01000" => binary <= "1000"; when "01001" => binary <= "1001"; when "10000" => binary <= "1010"; when "10001" => binary <= "1011"; when "10010" => binary <= "1100"; when "10011" => binary <= "1101"; when "10100" => binary <= "1110"; when "10101" => binary <= "1111";
  • 23. when others => binary <= "XXXX"; end case; end process; end Behavioral; Sample Waveform Output: -
  • 24. Q 7:– Write a VHDL Program for a Flip-Flop and check the simulation. Solution: - JK FLIP FLOP:- Source Code: - library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity jk is Port ( J : in STD_LOGIC; K : in STD_LOGIC; clock : in STD_LOGIC; reset : in STD_LOGIC; Q : out STD_LOGIC; Qbar : out STD_LOGIC); end jk; architecture Behavioral of jk is signal state: std_logic; signal input: std_logic_vector(1 downto 0); begin input <= J & K; p: process(clock, reset) is begin if (reset='1') then state <= '0'; elsif (rising_edge(clock)) then case (input) is when "11" => state <= not state; when "10" => state <= '1'; when "01" => state <= '0';
  • 25. when others => null; end case; end if; end process; Q <= state; Qbar <= not state; end Behavioral; Sample Waveform Output: -
  • 26. Q 8:– Write a VHDL Program for a Counter and check the simulation. Solution: - N BIT COUNTER:- Source Code: - ---------------------------------------------------- -- VHDL code for n-bit counter -- -- this is the behavior description of n-bit counter -- another way can be used is FSM model. ---------------------------------------------------- library ieee ; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ---------------------------------------------------- entity counter is generic(n: natural :=2); port( clock: in std_logic; clear: in std_logic; count: in std_logic; Q: out std_logic_vector(n-1 downto 0) ); end counter; ---------------------------------------------------- architecture behv of counter is signal Pre_Q: std_logic_vector(n-1 downto 0); begin -- behavior describe the counter process(clock, count, clear) begin if clear = '1' then Pre_Q <= Pre_Q - Pre_Q; elsif (clock='1' and clock'event) then if count = '1' then Pre_Q <= Pre_Q + 1; end if; end if; end process; -- concurrent assignment statement Q <= Pre_Q; end behv; Sample Waveform Output: -
  • 27.
  • 28. Q 9:– Write VHDL Programs for the following and check simulation – 1. Register 2. Shift Register Solution: - N-Bit Register:- Source Code: - --------------------------------------------------- -- n-bit Register (ESD book figure 2.6) -- -- KEY WORD: concurrent, generic and range --------------------------------------------------- library ieee ; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; --------------------------------------------------- entity reg is generic(n: natural :=2); port( I: in std_logic_vector(n-1 downto 0); clock: in std_logic; load: in std_logic; clear: in std_logic; Q: out std_logic_vector(n-1 downto 0) ); end reg; ---------------------------------------------------- architecture behv of reg is signal Q_tmp: std_logic_vector(n-1 downto 0); begin process(I, clock, load, clear) begin if clear = '0' then -- use 'range in signal assigment Q_tmp <= (Q_tmp'range => '0'); elsif (clock='1' and clock'event) then if load = '1' then Q_tmp <= I; end if; end if; end process;
  • 29. -- concurrent statement Q <= Q_tmp; end behv; --------------------------------------------------- Sample Waveform Output: - 3-Bit Shift Register:- Source Code: - --------------------------------------------------- -- 3-bit Shift-Register/Shifter -- -- reset is ignored according to the figure --------------------------------------------------- library ieee ; use ieee.std_logic_1164.all; --------------------------------------------------- entity shift_reg is port( I: in std_logic; clock: in std_logic; shift: in std_logic; Q: out std_logic ); end shift_reg; --------------------------------------------------- architecture behv of shift_reg is -- initialize the declared signal signal S: std_logic_vector(2 downto 0):="111"; begin
  • 30. process(I, clock, shift, S) begin -- everything happens upon the clock changing if clock'event and clock='1' then if shift = '1' then S <= I & S(2 downto 1); end if; end if; end process; -- concurrent assignment Q <= S(0); end behv; Sample Waveform Output: -
  • 31. PRACTICAL FILE DDDDIIIIGGGGIIIITTTTAAAALLLL SSSSYYYYSSSSTTTTEEEEMMMM DDDDEEEESSSSIIIIGGGGNNNN LLLLAAAABBBB Softwares Used – 1. Xilinx 13.4 2. ActiveHDL 7.2 SE Submitted To:- Submitted By:- Mr. Manoj Ahlawat Soumya S. Behera Asst. Professor 1826 6th Semester, CSE UIET, Mdu, Rohtak