meaning and interpretation of the SystemC TLM2 "streaming width" parameter..

Status
Not open for further replies.

ogheri

Newbie level 1
Joined
Jun 30, 2008
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,295
meaning and interpretation of the SystemC TLM2 "streaming width" parameter..

Hi dear all,
sorry if I perhaps ask an even too easy question for some of you:

At a customer site, I had a SystemC TLM2 code snippet that was like:

req.set_streaming_width(4);
req.set_data_length(req.get_streaming_width()*burstSize);
req.set_address(_slaveBase + ADDR_SPACE);
req.set_read();
result = doAccess( req );
assert( result == tlm::TLM_OK_RESPONSE );

and this was, in my opinion, right, i.e. I understand that in a burst (AHB in this case) transaction of multiple beats, where
the number of beats is burstSize and the bus width is 32 bits, I assumed I had to set up the streaming width to 4 (bytes),
the data_length of the COMPLETE read transaction to 4 * beats
and then proceed with the read, or am I wrong ?

I am asking because the internal "checkers" developed at this company have code such as:

if (wid < len)
SC_REPORT_ERROR("TLM-2",
"Target does not support given generic payload transaction");


which I suppose, they took directly from the Doulos tutorials, for example, but that, as I understood, apply to the case of NOT BURSTED transactions ...

Am I right, and the checkers are not correctly written ? (at least, not for the BURSTED case) ?
Or did I understood wrong, and really the streaming width parameter MUST BE >= the total transaction length ?

Thx in advance for any hint
Alex Ogheri
 
Last edited:

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…