source: branches/with_autoconf/test_regression/16112005/system.cpp @ 40

Last change on this file since 40 was 1, checked in by buchmann, 17 years ago

Initial import from CVS repository

File size: 1.1 KB
Line 
1#include "systemc.h"
2#include <iostream>
3#include <string>
4
5#define ASSERT(x) \
6  { errnum++; \
7    if (!(x)) \
8    { \
9    cerr << "ASSERT : " #x "\n"; \
10    exit (errnum); \
11    } \
12  }
13
14using namespace std;
15
16static int errnum = 0;
17
18struct internal_model : sc_module
19{
20  sc_in<int>     i;
21  sc_out<int>    o;
22        internal_model (sc_module_name n) : sc_module (n),
23    i("i"),
24                o("o")
25  {
26  }
27};
28
29struct model : sc_module
30{
31  sc_in<int>     i1, i2, i3;
32  sc_out<int>    o1, o2, o3;
33        sc_signal<int> r1, r2;
34  internal_model internal;
35        model (sc_module_name n) : sc_module (n),
36    i1("i1"), i2("i2"), i3("i3"),
37                o1("o1"), o2("o2"), o3("o3"),
38                r1("r1"), r2("r2"),
39    internal ("internal")
40  {
41    internal.o (o3);
42    internal.i (i3);
43//    o3 (internal.o);
44  }
45};
46
47int
48sc_main (int argc, char ** argv)
49{
50  model    m("m");
51  sc_clock clk ("clock");
52        sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
53
54  m.i1 (s1);
55  m.i2 (s1); //
56  m.i3 (s1);
57  m.o1 (s4); //
58  m.o2 (s2);
59  m.o3 (s3);
60
61        sc_start (0);
62
63        sc_start (1);
64        sc_start (10);
65
66  cerr << "Test OK.\n";
67  return 0;
68}
69
Note: See TracBrowser for help on using the repository browser.