Stuart,
Yes, you are right. I have too much SystemVerilog going around in my head
;-)
Re. the zero-length FIFO, I agree the LRM could say the behavior is
undefined (unless anyone raises any strong objections)
John A
From:
Stuart Swan <stuart@cadence.com>
To:
"john.aynsley@doulos.com" <john.aynsley@doulos.com>
Cc:
"systemc-p1666-technical@eda.org" <systemc-p1666-technical@eda.org>
Date:
10/09/2010 21:21
Subject:
RE: New draft LRM available, including TLM-1
John-
Regarding the first point, since the current tlm_fifo semantics with
size=0 are useless and perhaps someday
will be improved, why not for now in the LRM say that the behavior is
unspecified for size=0.
Regarding the second point, I think you may be mistaken. If you look at
the code for tlm_fifo, the ctor
for circular_buffer is:
template < typename T >
circular_buffer<T>::
circular_buffer( int size ) {
m_size = size;
m_buf = new T[m_size];
init();
}
And the dtor for tlm_fifo does a delete [] of m_buf. So the fifo isn?t
just storing references or handles to transaction
objects, it is storing real objects. It has to ? it could not be
otherwise.
I haven?t done the actual experiment, so I may be wrong of course, but I
assume that if you send std::string or a ref counted
transaction thru tlm_fifo you should see the refcounts go to zero when the
tlm_fifo dtor executes.
So, assuming I am correct about this, the LRM text needs to reflect it.
Thanks
-Stuart
From: john.aynsley@doulos.com [mailto:john.aynsley@doulos.com]
Sent: Friday, September 10, 2010 7:03 AM
To: Stuart Swan
Cc: systemc-p1666-technical@eda.org
Subject: RE: New draft LRM available, including TLM-1
Stuart, All,
Re. the tlm_fifo of size 0, I agree that the present semantics are fairly
useless and that rendezvous semantics would be better. On the other hand,
does anyone care? What do other people think?
Re. the tlm_fifo destructor, since the fifo only stores references to
transaction objects whose lifetimes are managed elsewhere, I think it
would be very odd if the tlm_fifo destructor interfered with the
transaction objects themselves. Just my two cents.
John A
From:
Stuart Swan <stuart@cadence.com>
To:
"john.aynsley@doulos.com" <john.aynsley@doulos.com>,
"systemc-p1666-technical@eda.org" <systemc-p1666-technical@eda.org>
Date:
09/09/2010 00:32
Subject:
RE: New draft LRM available, including TLM-1
John-
I?ve read thru your new chapter 18 pretty carefully and it looks very
good.
I only found a few things, listed below.
Thanks
Stuart
***
18.1.1 Description
"TLM-1 message-passing, which equates to transaction-passing, is
unidirectional."
(Add?: The TLM-1 transport interface can be considered to be composed of
two unidirectional
channels which pass separate messages in each direction.)
"In the case of method transport"
<transport needs to be BOLD>
18.3.4 Constructors and destructor
"A bounded fifo may become full, an unbounded fifo cannot become full, and
a fifo with size
equal to 0 is both full and empty at the same time such that put and get
would each block indefinitely."
<stuart comment: I suppose the description for size 0 is accurate given
how tlm_fifo is coded,
but this has always seemed to me to be a bug in tlm_fifo. Maybe it is too
late now but I've always thought
that size 0 should imply rendezvous semantics thru tlm_fifo>
virtual ~tlm_fifo();
The destructor shall delete the first-in-first-out buffer but shall not
delete any transaction objects
held in the fifo.
<stuart comment: isn't the latter part a bug? ie shouldn't the objects'
dtor be called? >
From: owner-systemc-p1666-technical@eda.org [
mailto:owner-systemc-p1666-technical@eda.org] On Behalf Of
john.aynsley@doulos.com
Sent: Thursday, September 02, 2010 2:42 AM
To: systemc-p1666-technical@eda.org
Subject: New draft LRM available, including TLM-1
Folks,
We've made available a new draft LRM that includes the TLM-1 Message
Passing Interface (chapter 18).
http://www.eda.org/twiki/pub/P1666/WebHome/1666-2005_Sept_01_10_with_labels.pdf
Please review.
John A
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon Sep 13 05:13:28 2010
This archive was generated by hypermail 2.1.8 : Mon Sep 13 2010 - 05:13:33 PDT