Liebe Kollegen!
Ich versuche mich gerade in SystemC.
Leider funktioniert das nicht so wie es im Buch steht.
Ich bekomme folgenden Fehler:
error: member reference type 'BIT_ADDER *' is a pointer; maybe you
meant to use '->'?
*add_0.a(a);
~~~~~^
->
Software: Xilinx Vivado HLS
adder.h:1 | #include "systemc.h" |
2 | |
3 | |
4 | SC_MODULE (BIT_ADDER) |
5 | {
|
6 | sc_in<sc_logic> a,b,cin; |
7 | sc_out<sc_logic> sum,cout; |
8 | |
9 | void process_1() |
10 | {
|
11 | |
12 | sc_logic aANDb,aXORb,cinANDaXORb; |
13 | aANDb = a.read() & b.read(); |
14 | aXORb = a.read() ^ b.read(); |
15 | cinANDaXORb = cin.read() & aXORb; |
16 | |
17 | sum = aXORb ^ cin.read(); |
18 | cout = aANDb | cinANDaXORb; |
19 | }
|
20 | |
21 | SC_CTOR (BIT_ADDER) |
22 | {
|
23 | SC_METHOD (process_1); |
24 | sensitive << a << b << cin; |
25 | }
|
26 | |
27 | |
28 | |
29 | |
30 | };
|
adder_top.cpp
1 | #include "E:\SystemC\test\test2\adder.h" |
2 | #include <systemc.h> |
3 | |
4 | |
5 | |
6 | SC_MODULE(adder_test) {
|
7 | |
8 | sc_in<sc_logic> a,b,cin; |
9 | |
10 | sc_out<sc_logic> sum,cout; |
11 | |
12 | BIT_ADDER *add_0; |
13 | |
14 | SC_CTOR(adder_test){
|
15 | |
16 | add_0 = new BIT_ADDER("add_0");
|
17 | add_0 -> a(a); |
18 | add_0 -> b(b); |
19 | add_0 -> cin(cin); |
20 | add_0 -> cout(cout); |
21 | add_0 -> sum(sum); |
22 | |
23 | } |
24 | |
25 | }; |
Kann mir jemand sagen was falsch ist!? DANKE Bussi Sandy