Für Vorlesungen, bitte die Webseite verwenden. https://flavigny.de/lecture
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

90 lignes
2.0KB

  1. #include<iostream>
  2. #include<cassert>
  3. #include"DLL.hh"
  4. #include"MinPriorityQueue.hh"
  5. #include"MinPriorityQueueImp.cc"
  6. #include"Queue.hh"
  7. class Simulator; // forward declaration
  8. class Wire; // forward declaration
  9. class Circuit; // forward declaration
  10. #include"Wire.hh"
  11. #include"Circuit.hh"
  12. #include"Simulator.hh"
  13. #include"SimulatorImp.cc"
  14. #include"WireImp.cc"
  15. #include"Nand.hh"
  16. #include"NandImp.cc"
  17. #include"And.hh"
  18. #include"AndImp.cc"
  19. #include"Nor.hh"
  20. #include"NorImp.cc"
  21. #include"Or.hh"
  22. #include"OrImp.cc"
  23. #include"Exor.hh"
  24. #include"ExorImp.cc"
  25. #include"Inverter.hh"
  26. #include"InverterImp.cc"
  27. #include"Fork.hh"
  28. #include"ForkImp.cc"
  29. #include"Terminal.hh"
  30. #include"TerminalImp.cc"
  31. #include"Analyzer.hh"
  32. #include"AnalyzerImp.cc"
  33. #include"Clock.hh"
  34. #include"ClockImp.cc"
  35. #include"HalfAdder.hh"
  36. #include"HalfAdderImp.cc"
  37. #include"FullAdder.hh"
  38. #include"FullAdderImp.cc"
  39. #include"Adder4Bit.hh"
  40. #include"Adder4BitImp.cc"
  41. int main ()
  42. {
  43. Adder4Bit adder;
  44. Analyzer analyzer(5);
  45. Terminal a3(low ),a2(high),a1(high),a0(high);
  46. Terminal b3(high),b2(low ),b1(high),b0(low );
  47. Terminal c0(low);
  48. Wire wa0,wa1,wa2,wa3;
  49. Wire wb0,wb1,wb2,wb3;
  50. Wire ws0,ws1,ws2,ws3;
  51. Wire wc0,wc4;
  52. wc0.ConnectInput(c0,0);
  53. wc0.ConnectOutput(adder,8);
  54. wa0.ConnectInput(a0,0);
  55. wa1.ConnectInput(a1,0);
  56. wa2.ConnectInput(a2,0);
  57. wa3.ConnectInput(a3,0);
  58. wa0.ConnectOutput(adder,0);
  59. wa1.ConnectOutput(adder,1);
  60. wa2.ConnectOutput(adder,2);
  61. wa3.ConnectOutput(adder,3);
  62. wb0.ConnectInput(b0,0);
  63. wb1.ConnectInput(b1,0);
  64. wb2.ConnectInput(b2,0);
  65. wb3.ConnectInput(b3,0);
  66. wb0.ConnectOutput(adder,4);
  67. wb1.ConnectOutput(adder,5);
  68. wb2.ConnectOutput(adder,6);
  69. wb3.ConnectOutput(adder,7);
  70. ws0.ConnectInput(adder,0);
  71. ws1.ConnectInput(adder,1);
  72. ws2.ConnectInput(adder,2);
  73. ws3.ConnectInput(adder,3);
  74. ws0.ConnectOutput(analyzer,0);
  75. ws1.ConnectOutput(analyzer,1);
  76. ws2.ConnectOutput(analyzer,2);
  77. ws3.ConnectOutput(analyzer,3);
  78. wc4.ConnectInput(adder,4);
  79. wc4.ConnectOutput(analyzer,4);
  80. Sim.Simulate(40);
  81. }