SystemC Struktur

Gast #4154499
Lesenswert?

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
Gast #4154533
Lesenswert?

Nachdem der Begriff "*add_0.a(a);" nicht in deinem geposteten Code 
vorkommt würde ich darauf tippen, dass du evtl. nicht aktuelle Sourcen 
verwendest.

Btw. wenn du mit new ein Objekt erzeugst, musst du es im Destrutor, 
welcher zusätzlich erstellt werden muss, wieder mittels delete 
freigeben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren