source: sources/test_regression/24082009/system.cpp @ 59

Last change on this file since 59 was 55, checked in by meunier, 11 years ago

Tried to clean the test_regression directory:

  • Code formatting
  • Supressed warnings
  • Made comprehensible outputs
  • Factorized Makefiles

There's still a lot to do (many tests don't pass for either good or bad reasons)

File size: 1.3 KB
RevLine 
[55]1
[41]2#include <signal.h>
3
[55]4#include "systemc.h"
5#include "test.h"
6
[41]7using namespace std;
[55]8
[41]9struct A : sc_module {
[55]10    sc_in_clk clk;
11    sc_in <int> i1;
12    sc_signal <int> r1;
13    sc_out <int> o1;
[41]14
[55]15    void transition() {
16        int i;
17        for (i = 0; i < 1000; ++i);
18        r1 = i1;
19    }
[41]20
[55]21    void gen_moore() {
22        int i;
23        for (i = 0; i < 1000; ++i);
24        o1 = r1;
25    }
26
27    SC_CTOR (A) : clk("clk"), o1("o1") {
28        SC_METHOD(transition);
29        sensitive << clk.pos();
30        dont_initialize();
31
32        SC_METHOD(gen_moore);
33        sensitive << clk.neg();
34        dont_initialize();
35    }
36
[41]37};
38
39
[55]40int sc_main (int argc, char * argv[]) {
41    sc_clock signal_clk("my_clock");
42    sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
[41]43
[55]44    A a("a");
45    A b("b");
[41]46
[55]47    a.clk(signal_clk);
48    b.clk(signal_clk);
[41]49
[55]50    a.i1(s1);
51    a.o1(s2);
[41]52
[55]53    b.i1(s3);
54    b.o1(s4);
[41]55
[55]56    // Init & run
57    sc_start(sc_time(0, sc_core::SC_NS));
[41]58
[55]59    s1.write(1);
[41]60
[55]61    sc_start(sc_time(100000, sc_core::SC_NS));
62
63    cout << s1.read() << endl;
64    cout << s2.read() << endl;
65
66    return EXIT_SUCCESS;
[41]67}
[55]68
69
70/*
71# Local Variables:
72# tab-width: 4;
73# c-basic-offset: 4;
74# c-file-offsets:((innamespace . 0)(inline-open . 0));
75# indent-tabs-mode: nil;
76# End:
77#
78# vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
79*/
80
Note: See TracBrowser for help on using the repository browser.