source:
sources/test_regression/24082009/system.cpp
@
59
Last change on this file since 59 was 55, checked in by , 11 years ago | |
---|---|
File size: 1.3 KB |
Rev | Line | |
---|---|---|
[55] | 1 | |
[41] | 2 | #include <signal.h> |
3 | ||
[55] | 4 | #include "systemc.h" |
5 | #include "test.h" | |
6 | ||
[41] | 7 | using namespace std; |
[55] | 8 | |
[41] | 9 | struct 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] | 40 | int 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.