|
- #include<iostream>
- #include<cassert>
- #include"DLL.hh"
- #include"MinPriorityQueue.hh"
- #include"MinPriorityQueueImp.cc"
- #include"Queue.hh"
- class Simulator; // forward declaration
- class Wire; // forward declaration
- class Circuit; // forward declaration
- #include"Wire.hh"
- #include"Circuit.hh"
- #include"Simulator.hh"
- #include"SimulatorImp.cc"
- #include"WireImp.cc"
- #include"Nand.hh"
- #include"NandImp.cc"
- #include"And.hh"
- #include"AndImp.cc"
- #include"Nor.hh"
- #include"NorImp.cc"
- #include"Or.hh"
- #include"OrImp.cc"
- #include"Exor.hh"
- #include"ExorImp.cc"
- #include"Inverter.hh"
- #include"InverterImp.cc"
- #include"Fork.hh"
- #include"ForkImp.cc"
- #include"Terminal.hh"
- #include"TerminalImp.cc"
- #include"Analyzer.hh"
- #include"AnalyzerImp.cc"
- #include"Clock.hh"
- #include"ClockImp.cc"
- #include"HalfAdder.hh"
- #include"HalfAdderImp.cc"
- #include"FullAdder.hh"
- #include"FullAdderImp.cc"
- #include"Adder4Bit.hh"
- #include"Adder4BitImp.cc"
-
- int main ()
- {
- Adder4Bit adder;
- Analyzer analyzer(5);
- Terminal a3(low ),a2(high),a1(high),a0(high);
- Terminal b3(high),b2(low ),b1(high),b0(low );
- Terminal c0(low);
-
- Wire wa0,wa1,wa2,wa3;
- Wire wb0,wb1,wb2,wb3;
- Wire ws0,ws1,ws2,ws3;
- Wire wc0,wc4;
-
- wc0.ConnectInput(c0,0);
- wc0.ConnectOutput(adder,8);
-
- wa0.ConnectInput(a0,0);
- wa1.ConnectInput(a1,0);
- wa2.ConnectInput(a2,0);
- wa3.ConnectInput(a3,0);
- wa0.ConnectOutput(adder,0);
- wa1.ConnectOutput(adder,1);
- wa2.ConnectOutput(adder,2);
- wa3.ConnectOutput(adder,3);
-
- wb0.ConnectInput(b0,0);
- wb1.ConnectInput(b1,0);
- wb2.ConnectInput(b2,0);
- wb3.ConnectInput(b3,0);
- wb0.ConnectOutput(adder,4);
- wb1.ConnectOutput(adder,5);
- wb2.ConnectOutput(adder,6);
- wb3.ConnectOutput(adder,7);
-
- ws0.ConnectInput(adder,0);
- ws1.ConnectInput(adder,1);
- ws2.ConnectInput(adder,2);
- ws3.ConnectInput(adder,3);
- ws0.ConnectOutput(analyzer,0);
- ws1.ConnectOutput(analyzer,1);
- ws2.ConnectOutput(analyzer,2);
- ws3.ConnectOutput(analyzer,3);
-
- wc4.ConnectInput(adder,4);
- wc4.ConnectOutput(analyzer,4);
-
- Sim.Simulate(40);
- }
|