Jump to content

Recommended Posts

Posted

I had a struct defined as 

struct pixel {
	sc_uint<8> r;
	sc_uint<8> g;
	sc_uint<8> b;
};

Then I try to pass actual pixel values to the ports, defined as pixel data type in main.cpp

 

sc_signal<pixel> p1;
sc_signal<pixel> p2;

p1.write(pixel(1, 2, 3));
p2.write(pixel(4, 5, 6));

But it seems p1.write() and p2.write() didn't initialize p1 and p2 correctly as I still see they don't have the expected pixel values (1,2,3) and (4,5,6). Do I need to use sc_interface to pass this customized data type around?

Thanks

Posted

That's a quick response. Thanks.

p1 and p2 are in an SC_METHOD process so I didn't put in clocks. I checked their contents by printing out their struct values. Could "the next delta cycle" mean a wait()? 

 

  • 2 weeks later...
Posted

Well, if this is in the same method then you won't see the update as there is not delta cylce in between. You would see it if you put it in a SC_THREAD and put a wait(SC_ZERO_TIME); between the write() and the read() of p1 and p2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...