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:

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