Fehler im Programm?

#897729
Lesenswert?

Hallo,

steh hier grad völlig auf dem Schlauch,
der unten dargestellte Code simuliert einen  Volladdierer der aus zwei 
Halbaddierern aufgebaut ist.
Aus irgendeinem Grund ist das Ausgangsignal von Cout bei bestimmten 
Eingangssignalen fehlerhaft. Ich benutze den ISE9.2i
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3

4

5
entity Fulladder_Sourcefile is
6
    Port ( A : in  STD_LOGIC;
7
           B : in  STD_LOGIC;
8
           Cin : in  STD_LOGIC;
9
           Sum : out  STD_LOGIC;
10
           Cout : out  STD_LOGIC);
11
end Fulladder_Sourcefile;
12

13
architecture Behavioral of Fulladder_Sourcefile is
14
signal int1, int2, int3: std_logic;
15

16
begin
17

18
P1: process (A, B)
19
  begin
20
    int1<= A xor B;
21
    int2<= A and B;
22
  end process;
23

24
P2: process (int1, int2, Cin)
25
  begin
26
    Sum <= int1 xor Cin;
27
    int3 <= int1 and Cin;
28
    Cout <= int2 or int3;
29
  end process;
30
end Behavioral;

Bei A=0, B=0 und Cin=1

liefert die Simulation für Cout eine 1 obwohl int1 und int2 jeweils 0 
sind.
Liegt das evt. an fehlerhaften Einstellungen in der Software selbst oder 
was könnte hier der Grund sein

Danke für eure Hlfe

gruß
Kristian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren