Hallo VHDLer, kann man einem STD_LOGIC_VECTOR (hier LED) einzelnde STD_LOGIC (hier (SEG_a-f) zuweisen? Hätte an einen Type gedacht aber funktioniert so nicht. Ich möchte dem Vector sagen das jedes Bit mit einem STD_LOGIC verknüpft ist. Danke
1 | entity Hex2Segment is |
2 | Port ( DataIn : in STD_LOGIC_VECTOR (3 downto 0); |
3 | SEG_a : out STD_LOGIC; |
4 | SEG_b : out STD_LOGIC; |
5 | SEG_c : out STD_LOGIC; |
6 | SEG_d : out STD_LOGIC; |
7 | SEG_e : out STD_LOGIC; |
8 | SEG_f : out STD_LOGIC; |
9 | SEG_g : out STD_LOGIC); |
10 | end Hex2Segment; |
11 | |
12 | architecture Behavioral of Hex2Segment is |
13 | TYPE LEDType IS (SEG_g, SEG_f, SEG_e, ,SEG_d, SEG_c, SEG_b, SEG_a); |
14 | SIGNAL LED : LEDType; |
15 | begin
|
16 | |
17 | --HEX-to-seven-segment decoder
|
18 | -- HEX: in STD_LOGIC_VECTOR (3 downto 0);
|
19 | -- LED: out STD_LOGIC_VECTOR (6 downto 0);
|
20 | --
|
21 | -- segment encoinputg
|
22 | -- 0
|
23 | -- ---
|
24 | -- 5 | | 1
|
25 | -- --- <- 6
|
26 | -- 4 | | 2
|
27 | -- ---
|
28 | -- 3
|
29 | |
30 | with DataIn SELect |
31 | LED<= "1111001" when "0001", --1 |
32 | "0100100" when "0010", --2 |
33 | "0110000" when "0011", --3 |
34 | "0011001" when "0100", --4 |
35 | "0010010" when "0101", --5 |
36 | "0000010" when "0110", --6 |
37 | "1111000" when "0111", --7 |
38 | "0000000" when "1000", --8 |
39 | "0010000" when "1001", --9 |
40 | "0001000" when "1010", --A |
41 | "0000011" when "1011", --b |
42 | "1000110" when "1100", --C |
43 | "0100001" when "1101", --d |
44 | "0000110" when "1110", --E |
45 | "0001110" when "1111", --F |
46 | "1000000" when others; --0 |
47 | |
48 | end Behavioral; |