CENG 342 – Digital Systems
LED Time-multiplexing Larry Pyeatt
SDSM&T
CENG 342 Digital Systems LED Time-multiplexing Larry Pyeatt - - PowerPoint PPT Presentation
CENG 342 Digital Systems LED Time-multiplexing Larry Pyeatt SDSM&T 7-segment Display The Nexys A7 board has eight 7-segment LED displays. They share 8 signals specifying which segments to light, and each display has its own anode which
SDSM&T
data_out sseg_out select
in_select data_in Address Data_In an0 an1 an2 an3 an4 an5 an6 an7 sseg
hex_in
5 3 5 8 3 Clock Reset enable Write Enable Reset write reset
enable
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 package my_package is 6
7
8
9 end package;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 use work.my_package.all; 5 6 entity generic_mux_5 is 7
8
9
10
11
12
13 end generic_mux_5; 14 15 architecture arch of generic_mux_5 is 16 begin 17
18
19
20
21
22
23 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity generic_decoder is 6
7
8
9
10
11
12
13 end generic_decoder; 14 15 architecture arch of generic_decoder is 16 begin 17
18
19
20
21
22
23
29 library ieee; 30 use ieee.std_logic_1164.all; 31 use ieee.numeric_std.all; 32 33 entity generic_decoder_with_enable is 34
35
36
37
38
39
40 end generic_decoder_with_enable; 41 42 architecture arch of generic_decoder_with_enable is 43 begin 44
45
46
47
48
49
50
51
52
53
54
55 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity generic_register is 6
7
8
9
10
11
12 end generic_register; 13 14 architecture arch of generic_register is 15
16 begin 17
18
19
20
21
22
23
24
25
26
27
28 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 use work.my_package.all; 5 6 entity generic_register_file_5 is 7
8
9
10
11
12
13
14
15
16
17 end generic_register_file_5;
19 architecture arch of generic_register_file_5 is 20
21
22 begin 23
24
25
26
27
28 29
30
31
32 33
34
35
36 37 end arch;
data_out sseg_out select
in_select data_in Address Data_In an0 an1 an2 an3 an4 an5 an6 an7 sseg
hex_in
5 3 5 8 3 Clock Reset enable Write Enable Reset write reset
enable
1 library ieee; 2 use ieee.std_logic_1164.all; 3 4 entity hex_to_sseg is 5
6
7
8 end hex_to_sseg; 9 10 architecture arch of hex_to_sseg is 11 begin 12
13
14
15
16
17
18
19
20
21
22
23 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity generic_counter is 6
7
8
9
10 end generic_counter; 11 12 architecture arch of generic_counter is 13
14 begin 15
16
17
18
19
20
21
22
23
24
25 26
27 28 end arch;
data_out sseg_out select
in_select data_in Address Data_In an0 an1 an2 an3 an4 an5 an6 an7 sseg
hex_in
5 3 5 8 3 Clock Reset enable Write Enable Reset write reset
enable
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 use work.my_package.all; 5 6 entity hexdisplay is 7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 end hexdisplay;
24
25
26 begin 27 28
29
30
31
32
33 34
35
36
37
38 39
40
41
42
43 44
45
46
47
48 49 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 use work.my_package.all; 5 6 entity generic_mux_5_testbench is 7 end generic_mux_5_testbench; 8 9 architecture arch of generic_mux_5_testbench is 10
11
12
13
14
15
16
17
19 begin 20
21
22
23
24
25
26
27
28 29
30
31
32
33
34
35
36 37
38
39 40 41 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity generic_decoder_testbench is 6 end generic_decoder_testbench; 7 8 architecture arch of generic_decoder_testbench is 9
10
11
12
13 begin 14
15
16
17
18
19
20
21
22
23
24
25
26 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity generic_register_testbench is 6 end generic_register_testbench; 7 8 architecture arch of generic_register_testbench is 9
10
11
12
13
14 begin 15
16
17
18 19
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35 36
37
38
39 40 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity generic_register_file_5_testbench is 6 end generic_register_file_5_testbench; 7 8 architecture arch of generic_register_file_5_testbench is 9
10
11
12
13
14
15
16 begin 17
18
19
20 21
22
23
24
25
26
27
28
30
31
32
33
34
35
36
37
38
39 40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity generic_counter_testbench is 6 end generic_counter_testbench; 7 8 architecture arch of generic_counter_testbench is 9
10
11
12 begin 13
14
15
16 17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35 36 end arch;
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.numeric_std.all; 4 5 entity hexdisplay_testbench is 6 end hexdisplay_testbench; 7 8 architecture arch of hexdisplay_testbench is 9
10
11
12
13
14
15
16
17
18 19 begin 20
21
22
23
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
45
46
47
48
49
50
51
52
53 54
55
56
57
58
59
60
61
62 63 64 end arch;