Das mit derm initialisierten Out Port kann kurioserweise noch nicht
jedes Tool. Aber wenn ein internes Signal eingeführt wird, klappt es
heutzutage immer (vorausgesetzt natürlich, dass das ein Flipflop ist!):
1 | entity Doof is
|
2 | Port (
|
3 | CLK : in std_logic;
|
4 | AUSGANG : out std_logic);
|
5 | end Doof;
|
6 |
|
7 | architecture Behavioral of Doof is
|
8 | signal A : std_logic := '1';
|
9 |
|
10 | process (CLK) begin
|
11 | if (rising_edge(CLK)) then
|
12 | if (Bedingung1 = '1') then
|
13 | A <= '0';
|
14 | elsif (Bedingung2 = '1') then
|
15 | A <= '1';
|
16 | end if;
|
17 | end if;
|
18 | end process;
|
19 |
|
20 | AUSGANG <= A;
|
21 |
|
22 | end Behavioral;
|
Ind der Praxis ist das meist sowieso die bessere Lösung, weil ausgänge
nicht rücklesbar sind. Wenn ich also wissen will, was der Ausgang
gerade tut, brauche ich sowieso das interne Signal (wenn nicht gerade
aus Tippfaulheit ein buffer verwendet wird).