1 | |
---|
2 | |
---|
3 | #include <string> |
---|
4 | #include <sstream> |
---|
5 | #include <iostream> |
---|
6 | using namespace std; |
---|
7 | |
---|
8 | #include "Library.h" |
---|
9 | |
---|
10 | |
---|
11 | int main ( int argc, char* argv ) |
---|
12 | { |
---|
13 | Lofig* halfadder = new Lofig ( "halfadder" ); |
---|
14 | |
---|
15 | halfadder->addSignal ( "a" , Locon::External ); |
---|
16 | halfadder->addSignal ( "b" , Locon::External ); |
---|
17 | halfadder->addSignal ( "sout", Locon::External ); |
---|
18 | halfadder->addSignal ( "cout", Locon::External ); |
---|
19 | |
---|
20 | halfadder->addConnector ( "a" , Locon::In , halfadder->findSignal("a" ) ); |
---|
21 | halfadder->addConnector ( "b" , Locon::In , halfadder->findSignal("b" ) ); |
---|
22 | halfadder->addConnector ( "sout", Locon::Out, halfadder->findSignal("sout") ); |
---|
23 | halfadder->addConnector ( "cout", Locon::Out, halfadder->findSignal("cout") ); |
---|
24 | |
---|
25 | halfadder->addInstance ( Library::getModel(Library::Xor2), "xor" ); |
---|
26 | Loins* inst_xor = halfadder->findInstance ( "xor" ); |
---|
27 | inst_xor->connect ( "i0" , halfadder->findSignal("a" ) ); |
---|
28 | inst_xor->connect ( "i1" , halfadder->findSignal("b" ) ); |
---|
29 | inst_xor->connect ( "q" , halfadder->findSignal("sout") ); |
---|
30 | |
---|
31 | halfadder->addInstance ( Library::getModel(Library::And2), "and" ); |
---|
32 | Loins* inst_and = halfadder->findInstance ( "and" ); |
---|
33 | inst_and->connect ( "i0" , halfadder->findSignal("a" ) ); |
---|
34 | inst_and->connect ( "i1" , halfadder->findSignal("b" ) ); |
---|
35 | inst_and->connect ( "q" , halfadder->findSignal("cout") ); |
---|
36 | |
---|
37 | halfadder->setMode ( Lofig::Full ); |
---|
38 | |
---|
39 | // Full Adder description goes here. |
---|
40 | |
---|
41 | |
---|
42 | fulladder->xmlDrive ( cout ); |
---|
43 | |
---|
44 | Lofig::destroyAll (); |
---|
45 | Library::destroy (); |
---|
46 | |
---|
47 | return 0; |
---|
48 | } |
---|