2010CaoTme2: Main-Skeleton.cpp

File Main-Skeleton.cpp, 1.5 KB (added by jpc, 15 years ago)

Main C++module

Line 
1
2
3#include <string>
4#include <sstream>
5#include <iostream>
6using namespace std;
7
8#include "Library.h"
9
10
11int  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}