source: sources/test_regression/16112005b/system.cpp

Last change on this file was 60, checked in by meunier, 8 years ago
  • Intégration des modifications de Clément, qui a intégré la version parallélisée de systemcass faite par Manuel.
File size: 1.3 KB
Line 
1
2#include <iostream>
3#include <string>
4
5#include "systemc.h"
6#include "test.h"
7
8
9using namespace std;
10
11
12struct internal_model : sc_module {
13    sc_in<int> i;
14    sc_out<int> o;
15    internal_model (sc_module_name n) : sc_module (n), i("i"), o("o") {}
16};
17
18
19struct model : sc_module {
20    sc_in<int> i1, i2, i3;
21    sc_out<int> o1, o2, o3;
22    sc_signal<int> r1, r2;
23    internal_model internal;
24    model(sc_module_name n) : sc_module (n),
25    i1("i1"), i2("i2"), i3("i3"),
26    o1("o1"), o2("o2"), o3("o3"),
27    r1("r1"), r2("r2"),
28    internal("internal") {
29        internal.o (o3);
30        internal.i (i3);
31    }
32};
33
34
35int sc_main (int argc, char ** argv) {
36    model m("m");
37    sc_clock clk("clock");
38    sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
39
40    // Setup number of threads open-mp to 1 with the macro threads_omp()
41    threads_omp();
42
43    m.i1(s1);
44    m.i3(s1);
45    m.o1(s4);
46    m.o2(s2);
47    m.o3(s3);
48
49    sc_start(sc_time(0, sc_core::SC_NS));
50
51    sc_start(sc_time(1, sc_core::SC_NS));
52    sc_start(sc_time(10, sc_core::SC_NS));
53
54    return 0;
55}
56
57
58/*
59# Local Variables:
60# tab-width: 4;
61# c-basic-offset: 4;
62# c-file-offsets:((innamespace . 0)(inline-open . 0));
63# indent-tabs-mode: nil;
64# End:
65#
66# vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
67*/
68
Note: See TracBrowser for help on using the repository browser.