Für Vorlesungen, bitte die Webseite verwenden. https://flavigny.de/lecture
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
926B

  1. HalfAdder::HalfAdder()
  2. {
  3. w1.ConnectInput(F1,1);
  4. w1.ConnectOutput(A,0);
  5. w2.ConnectInput(F1,0);
  6. w2.ConnectOutput(N1,0);
  7. w3.ConnectInput(F2,0);
  8. w3.ConnectOutput(A,1);
  9. w4.ConnectInput(F2,1);
  10. w4.ConnectOutput(N1,1);
  11. w5.ConnectInput(N1,0);
  12. w5.ConnectOutput(N2,1);
  13. w6.ConnectInput(A,0);
  14. w6.ConnectOutput(F3,0);
  15. w7.ConnectInput(F3,0);
  16. w7.ConnectOutput(N2,0);
  17. }
  18. HalfAdder::~HalfAdder() {}
  19. void HalfAdder::ChangeInput (State s, int pin)
  20. {
  21. if (pin==0) F1.ChangeInput(s,0);
  22. if (pin==1) F2.ChangeInput(s,0);
  23. }
  24. void HalfAdder::Action () {}
  25. void HalfAdder::ConnectInput (Wire& w, int pin)
  26. {
  27. // Wird von Connect-Funktion des Drahtes aufgerufen
  28. if (pin==0) F1.ConnectInput(w,0);
  29. if (pin==1) F2.ConnectInput(w,0);
  30. }
  31. void HalfAdder::ConnectOutput (Wire& w, int pin)
  32. {
  33. // Wird von Connect-Funktion des Drahtes aufgerufen
  34. if (pin==0) N2.ConnectOutput(w,0);
  35. if (pin==1) F3.ConnectOutput(w,1);
  36. }