PoC.io.7SegmentMux_HEX

This module is a 7 segment display controller that uses time multiplexing to control a common anode for each digit in the display. The shown characters are HEX encoded. A dot per digit is optional.

Entity Declaration:

 1  generic (
 2    CLOCK_FREQ      : FREQ        := 100 MHz;
 3    REFRESH_RATE    : FREQ        := 1 kHz;
 4    DIGITS          : positive    := 4
 5  );
 6  port (
 7    Clock           : in  std_logic;
 8
 9    HexDigits       : in  T_SLVV_4(DIGITS - 1 downto 0);
10    HexDots         : in  std_logic_vector(DIGITS - 1 downto 0);
11
12    SegmentControl  : out std_logic_vector(7 downto 0);
13    DigitControl    : out std_logic_vector(DIGITS - 1 downto 0)
14  );
15end entity;