PoC.io.7SegmentMux_BCD

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 BCD encoded. A dot per digit is optional. A minus sign for negative numbers is supported.

Entity Declaration:

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