Sunday, April 7, 2013

CODE : 4X2 ENCODER VHDL

CODE : 4X2 ENCODER


This code is just an example for more detailed understanding of VHDL concepts I would recommend these two books :

1) A VHDL PRIMER by J. Bhasker - A VHDL PRIMER from flipkart.com
A VHDL PRIMER from amazon.com
A VHDL PRIMER from amazon.in

2)VHDL:PROGRAMMING BY EXAMPLES by PERRY - VHDL:PROGRAMMING BY EXAMPLES by PERRY from flipkart.com
VHDL:PROGRAMMING BY EXAMPLES by PERRY from amazon.com
VHDL:PROGRAMMING BY EXAMPLES by PERRY from amazon.in

----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date:    21:39:58 10/31/2006
-- Design Name:
-- Module Name:    enc4X2_code - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
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 enc4X2_code is
    Port ( i : in  STD_LOGIC_VECTOR (3 downto 0);
           o : out  STD_LOGIC_VECTOR (1 downto 0);
           e : in  STD_LOGIC);
end enc4X2_code;

architecture Behavioral of enc4X2_code is
--signal temp : std_logic_vector(1 downto 0);
begin
process(i,e)
begin
--temp<="ZZ";
if(e='1') then
    case i is
        when "0001"=>o<="00";
        when "0010"=>o<="01";
        when "0100"=>o<="10";
        when "1000"=>o<="11";
        when others=>o<="ZZ";
    end case;
end if;


end process;


end Behavioral;

No comments:

Post a Comment