Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > transaction vs event

Reply
Thread Tools

transaction vs event

 
 
canadianJaouk
Guest
Posts: n/a
 
      11-03-2006
Does anyone know what the difference between <signal>'event and
<signal>'transaction is? Anyone has a precise definition of these
keywords?

Thanks
-Jake

 
Reply With Quote
 
 
 
 
Jonathan Bromley
Guest
Posts: n/a
 
      11-03-2006
On 3 Nov 2006 11:31:10 -0800, "canadianJaouk"
<> wrote:

>Does anyone know what the difference between <signal>'event and
><signal>'transaction is? Anyone has a precise definition of these


<sig>'event is a boolean value that is TRUE in a delta cycle when
<sig> has just changed, and FALSE at other times. You can test
'event in an IF statement. Take, for example, the not-very-pretty
traditional form of clocked process:

process(clk, rst)
begin
if rst='1' then
-- do reset actions
elsif clk='1' and clk'event then
-- clk has just changed to '1', and
-- that change triggered the process
-- so do clocked actions

<sig>'transaction allows you to check whether some assignment was
made to the signal, even if that assignment didn't change the
signal's value. <sig>'transaction is a completely new signal,
of type BIT, that toggles from '0' to '1' or back again in each
delta cycle when one or more assignment is made to <sig>.
This is occasionally useful if you have a data structure representing
a transaction, and you would like to detect when someone puts
a new value on that data structure - even if it's the same as
the existing value. Because it's a new signal in its own right,
you can use it in a sensitivity list...

wait on thing'transaction;
-- someone has written to "thing"
-- so we need to process the new value

Fairly obviously, 'transaction is not synthesisable. 'event is
synthesisable in a few special cases.
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK

http://www.MYCOMPANY.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
 
Reply With Quote
 
 
 
 
canadianJaouk
Guest
Posts: n/a
 
      11-16-2006
Thanks very much. That's exactly what i was looking for. I have
further questions however.

I have seen the 'transaction used in a statement that looks like this:

wait on <sig>'transaction until <some condition>

what does the until <some condition> means in this context?

On Nov 3, 4:54 pm, Jonathan Bromley <jonathan.brom...@MYCOMPANY.com>
wrote:
> On 3 Nov 2006 11:31:10 -0800, "canadianJaouk"
>
> <jaou...@yahoo.ca> wrote:
> >Does anyone know what the difference between <signal>'eventand
> ><signal>'transactionis? Anyone has a precise definition of these<sig>'eventis a boolean value that is TRUE in a delta cycle when

> <sig> has just changed, and FALSE at other times. You can test
> 'eventin an IF statement. Take, for example, the not-very-pretty
> traditional form of clocked process:
>
> process(clk, rst)
> begin
> if rst='1' then
> -- do reset actions
> elsif clk='1' and clk'eventthen
> -- clk has just changed to '1', and
> -- that change triggered the process
> -- so do clocked actions
>
> <sig>'transactionallows you to check whether some assignment was
> made to the signal, even if that assignment didn't change the
> signal's value. <sig>'transactionis a completely new signal,
> of type BIT, that toggles from '0' to '1' or back again in each
> delta cycle when one or more assignment is made to <sig>.
> This is occasionally useful if you have a data structure representing
> atransaction, and you would like to detect when someone puts
> a new value on that data structure - even if it's the same as
> the existing value. Because it's a new signal in its own right,
> you can use it in a sensitivity list...
>
> wait on thing'transaction;
> -- someone has written to "thing"
> -- so we need to process the new value
>
> Fairly obviously, 'transactionis not synthesisable. 'eventis
> synthesisable in a few special cases.
> --
> Jonathan Bromley, Consultant
>
> DOULOS - Developing Design Know-how
> VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services
>
> Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
> jonathan.brom...@MYCOMPANY.comhttp://www.MYCOMPANY.com
>
> The contents of this message may contain personal views which
> are not the views of Doulos Ltd., unless specifically stated.


 
Reply With Quote
 
Jim Lewis
Guest
Posts: n/a
 
      11-16-2006
canadianJaouk wrote:
> I have seen the 'transaction used in a statement that looks like this:
>
> wait on <sig>'transaction until <some condition>
>
> what does the until <some condition> means in this context?


Whenever the signal "<sig>'transaction" changes, "<some condition>"
is evaluated and when "<some condition>" is true, the
wait statement wakes up.


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~
Jim Lewis
Director of Training private.php?do=newpm&u=
SynthWorks Design Inc. http://www.SynthWorks.com
1-503-590-4787

Expert VHDL Training for Hardware Design and Verification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~
 
Reply With Quote
 
canadianJaouk
Guest
Posts: n/a
 
      11-17-2006
Here is a transcript of the evolution of a signal through time. The
value clearly changes, but the signal's transaction signal is always ?
Should it not go to 1 as soon as the signal value changes? Any ideas?

time delta value value'transaction
0 +0 -1e+308 ?
0 +2 -1e+100 ?
0 +3 400 ?
10 +4 -1e+100 ?
10 +5 2.4 ?

On Nov 15, 9:17 pm, Jim Lewis <J...@SynthWorks.com> wrote:
> canadianJaouk wrote:
> > I have seen the 'transactionused in a statement that looks like this:

>
> > wait on <sig>'transactionuntil <some condition>

>
> > what does the until <some condition> means in this context?Whenever the signal "<sig>'transaction" changes, "<some condition>"

> is evaluated and when "<some condition>" is true, the
> wait statement wakes up.
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~
> Jim Lewis
> Director of Training mailto:J...@SynthWorks.com
> SynthWorks Design Inc. http://www.SynthWorks.com
> 1-503-590-4787
>
> ExpertVHDLTraining for Hardware Design and Verification
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Win2003 SP1 error: "New transaction cannot enlist in the specified transaction coordinator" Vencz Istv?n ASP General 2 05-02-2005 05:53 AM
long time transaction Eitan ASP .Net 3 04-11-2005 03:46 PM
Error in OLEDB Transaction Eitan ASP .Net 4 04-10-2005 02:56 AM
Questions about sending 'transaction attribute behavior across entities. R Paley VHDL 2 11-20-2004 02:37 PM
Is transaction-based debugging useful ? ben cohen VHDL 0 08-20-2003 02:03 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57