Misschien een domme vraag, maar waarom kun je in twee verschillende processen niet hetzelfde signaal aansturen als je er zelf voor zorgt dat er geen overlap is 
Dit geeft een ongefinieerde output b:
Het kan nooit voorkomen dat b zowel 0 als 1 is, toch wordt de output in Modelsim 'X'.
NB: Deze code is puur om de fout te laten zien. b <= a zou beide processen overbodig maken.
Dit geeft een ongefinieerde output b:
vhdl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| entity test is PORT ( b: out std_logic; a: in std_logic ); end test; architecture behaviour of test is begin process (a) begin if a = '0' then b <= '0'; end if; end process; process (a) begin if a = '1' then b <= '1'; end if; end process; end behaviour; |
Het kan nooit voorkomen dat b zowel 0 als 1 is, toch wordt de output in Modelsim 'X'.
NB: Deze code is puur om de fout te laten zien. b <= a zou beide processen overbodig maken.
[ Voor 6% gewijzigd door dr snuggles op 24-08-2006 13:17 ]