Ich habe folgenden VHDL Code vorliegen, der mir Probleme bereitet:
1 | LIBRARY ieee;
|
2 | USE ieee.std_logic_1164.ALL;
|
3 | USE ieee.std_logic_signed.ALL;
|
4 | USE ieee.std_logic_arith.ALL;
|
5 |
|
6 |
|
7 | ENTITY sub_1bit IS
|
8 | PORT(
|
9 | i1, i2, ic : IN BIT;
|
10 | o1, oc : OUT BIT;
|
11 | en : IN BIT
|
12 | );
|
13 | END sub_1bit;
|
14 |
|
15 | ARCHITECTURE a_sub_1bit OF sub_1bit IS
|
16 | BEGIN
|
17 |
|
18 | PROCESS
|
19 | BEGIN
|
20 | IF (en = '1') THEN
|
21 | o1 <= TRANSPORT (i1 XOR i2) XOR ic AFTER 1.0 ns;
|
22 | oc <= TRANSPORT (NOT i1 AND i2) OR (NOT i1 AND ic) OR (i2 AND ic) AFTER 1.00 ns;
|
23 | ELSE
|
24 | o1 <= '0';
|
25 | oc <= '0';
|
26 | END IF;
|
27 | WAIT ON i1, i2, ic, en;
|
28 | END PROCESS;
|
29 | END a_sub_1bit;
|
Ich habe zunächst versucht eine Wahrheitstabelle zu erstellen.
EIngangswerte sind i1, i2 und ic. Ausgänge sind o1 und oc. Bei der
Erstellung der Wahrheitstabelle habe ich so meine zweifel ob dies so
richtig ist.
i1 i2 ic o1 oc
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Wenn ich nun das KV Diagramm verwende, komme ich nicht of die obigen
Gleichungen. Was mache ich falsch ? Vielleicht ist die Wahrheitstabelle
von mir auch falsch.
Für jeden Rat bin ich sehr dankbar.
Bye