Hi Per, I read your write-up more thoroughly and reviewed your definition bellow. While I agree with you view of VLMs as presented in the previous write-up, I think that your definition of Zero Time and non-Zero time is quite complicated. What about the following ideas for simplifying this. 1. I think that the use of VLMs (defined as multi-word messages) as opposed to SCE-MI 1.0 messages fixed (single) word messages (FLMs) could be separated from the zero/non-zero time issue as I'll describe next. Zero time and non-zero time operations equally applies to both. 2. I view zero time as an operation in the SCE-MI environment that simply does not consume simulation time. In SCE-MI 1.x, clock control was used as the mechanism to accomplish zero time communication across the SCE-MI interface and thus this operation was 'visible'. As discussed in the context of SCE-MI 2.0, zero time operation could potentially be 'hidden' by the SCE-MI infrastructure, and thus won't be visible. 3. Non-zero time operation is one that simply consumes simulation time. However many operations that the BFM (aka transactor in SCE-MI 1.x terms) can take place concurrently with the wiggling of DUV clock and the progression of simulation. Such operations do not cause by themselves advancement of the DUV clock and thus are implicitly 'hidden'. 4. SCE-MI in general does not want the BFMs to conduct communication or any internal operations that causes (by itself) advancement of the DUV clock and simulation time. The option whether to use zero-time operations or non-zero time operations concurrently with the wiggling of DUV clock is left to the BFM modeler. This principle still holds even if zero time operations will be 'hidden' by the infrastructure (possibly in SCE-MI 2.0) or visible (as per SCE-MI 1.x clock control paradigm). 5. To link this back to the VLM vs. FLM issue. Visible or explicitly/ implicitly hidden zero time operations equally applies to both VLMs and FLMs, and so does the principle that the BFM should conduct communication or internal operations such that it does not cause advancement of the DUV clock. Would you agree that zero and non-zero time could be dealt separately from the issue of variable length messages? Does the above help in simplifying some of the definitions? Or was there a different point that you wanted to convey (that I missed). Thanks, Shabtay >-----Original Message----- >From: owner-itc@eda.org [mailto:owner-itc@eda.org] On Behalf Of Bojsen, Per >Sent: Wednesday, March 23, 2005 8:03 PM >To: 'itc@eda.org' >Subject: Variable Length Messaging Revised > >Hi, > >I rewrote a central section of my note on variable length >messaging and streaming to avoid talking in terms of uclock and >cclock and instead talk about zero time and non-zero time. The >new text is as follows: > >------- Start of rewrite >** Zero Time > >In this mode, all message words are transferred at the same simulation >time. It can be assumed that message words are transferred >sequentially (not necessarily in order, if random access is >supported), because otherwise this would be a traditional SCE-MI 1.x >fixed-length message. Processing of the words is also done at least >in part using zero-time sequential operations. > >** Non-Zero Time > >In the non-zero time mode, the message transfer consumes simulation >time. There are at least two possibilities that fit within this >category: > > Clocked: individual message words are transferred on the edge of a > user clock. > > Unclocked: message words are transferred using a mechanism similar > to the zero time mode, except that the message is not transferred > completely at a given simulation time. > >In the clocked scenario, for simplicity it can be assumed that words >clock out on the rising edge of the user clock, because one can always >construct a user clock that allows this given the constraints of the >application, e.g., if the application requires words to be clocked out >on the falling edge of some user clock, one can construct a clock that >is the inverse of this clock and use that to clock the words out. > >Further, message words do not have to transfer on every rising edge of >the user clock. Using appropriate control mechanisms the message >word transfer can be delayed to some future time. > >The unclocked scenario can be seen as a generalization of the >non-zero time mode. In this scenario, the number of message words >transferred at any given simulation time is variable, i.e, it could be >0, 1, or more than 1. In other words, this is like the zero time >mode, except time is allowed to pass after only some of the words have >transferred. > >As a special case of the unclocked scenario, a sub-scenario where >times message word transfers happens coincide with the rising edges of >a user clock can be considered. In other words, message word >transfers do not happen at completely arbitrary times. At any given >rising edge of the user clock 0, 1, or more messages may be >trasnferred, but no messages transfer at any other time. > >Russ defined one type of VLMs as large messages transferred in zero >simulation time. The above extends this concept to the non-zero time >case as well. Russ' definition of streaming applies to the non-zero >time case, but is not identical to it. Streaming will be discussed in >the next section. >------- End of rewrite > >I have enclosed the updated document. > >The section on streaming still has a couple of references to cclock >and uclock but I don't think they confuse too much. > >-- >Per Bojsen Email: <bojsen@zaiqtech.com> >Zaiq Technologies, Inc. WWW: http://www.zaiqtech.com >78 Dragon Ct. Tel: 781 721 8229 >Woburn, MA 01801 Fax: 781 932 7488 >Received on Thu Mar 24 18:23:48 2005
This archive was generated by hypermail 2.1.8 : Thu Mar 24 2005 - 18:23:53 PST