Altera_Forum
Honored Contributor
15 years ago7segment decoder
This is my code for a 7segment decoder, but I get an error!
package sevenDecoderLib is type sevenSegment is array(7 downto 1) of bit; variable segment: sevenSegment; function integer2SevenSegment(i: in integer range 0 to 15) return sevenSegment; end package sevenDecoderLib; package body sevenDecoderLib is function integer2SevenSegment(i: in integer range 0 to 15) return sevenSegment is begin case i is when 0=> segment := "1111100"; when 1=> segment := "0110000"; when 2=> segment := "1101001"; when 3=> segment := "1111001"; when 4=> segment := "0110011"; when 5=> segment := "1011011"; when 6=> segment := "1011111"; when 7=> segment := "1110000"; when 8=> segment := "1111111"; when 9=> segment := "1111011"; when 10=>segment := "1110111"; when 11=>segment := "0011111"; when 12=>segment := "1001110"; when 13=>segment := "0111101"; when 14=>segment := "1001111"; when 15=>segment := "1000111"; end case; return segment; end integer2SevenSegment; end sevenDecoderLib; Library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; Library work; use work.sevenDecoderLib.all; entity Lab5 is port( a: in integer range 0 to 15; output: out std_logic_vector(7 downto 0) ); end entity; architecture behave of Lab5 is begin a:=1; output := integer2SevenSegment(a); end behave;