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.

51 line
1.3KB

  1. Adder4Bit::Adder4Bit()
  2. {
  3. w0.ConnectInput(fa0,1);
  4. w0.ConnectOutput(fa1,0);
  5. w1.ConnectInput(fa1,1);
  6. w1.ConnectOutput(fa2,0);
  7. w2.ConnectInput(fa2,1);
  8. w2.ConnectOutput(fa3,0);
  9. }
  10. Adder4Bit::~Adder4Bit() {}
  11. void Adder4Bit::ChangeInput (State s, int pin)
  12. {
  13. if (pin==0) fa0.ChangeInput(s,1);
  14. if (pin==1) fa1.ChangeInput(s,1);
  15. if (pin==2) fa2.ChangeInput(s,1);
  16. if (pin==3) fa3.ChangeInput(s,1);
  17. if (pin==4) fa0.ChangeInput(s,2);
  18. if (pin==5) fa1.ChangeInput(s,2);
  19. if (pin==6) fa2.ChangeInput(s,2);
  20. if (pin==7) fa3.ChangeInput(s,2);
  21. if (pin==8) fa0.ChangeInput(s,0);
  22. }
  23. void Adder4Bit::Action () {}
  24. void Adder4Bit::ConnectInput (Wire& w, int pin)
  25. {
  26. // Wird von Connect-Funktion des Drahtes aufgerufen
  27. if (pin==0) fa0.ConnectInput(w,1);
  28. if (pin==1) fa1.ConnectInput(w,1);
  29. if (pin==2) fa2.ConnectInput(w,1);
  30. if (pin==3) fa3.ConnectInput(w,1);
  31. if (pin==4) fa0.ConnectInput(w,2);
  32. if (pin==5) fa1.ConnectInput(w,2);
  33. if (pin==6) fa2.ConnectInput(w,2);
  34. if (pin==7) fa3.ConnectInput(w,2);
  35. if (pin==8) fa0.ConnectInput(w,0);
  36. }
  37. void Adder4Bit::ConnectOutput (Wire& w, int pin)
  38. {
  39. // Wird von Connect-Funktion des Drahtes aufgerufen
  40. if (pin==0) fa0.ConnectOutput(w,0);
  41. if (pin==1) fa1.ConnectOutput(w,0);
  42. if (pin==2) fa2.ConnectOutput(w,0);
  43. if (pin==3) fa3.ConnectOutput(w,0);
  44. if (pin==4) fa3.ConnectOutput(w,1);
  45. }