Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - transaction vs event

 
Thread Tools Search this Thread
Old 11-03-2006, 07:31 PM   #1
Default transaction vs event


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

Thanks
-Jake



canadianJaouk
  Reply With Quote
Old 11-03-2006, 10:54 PM   #2
Jonathan Bromley
 
Posts: n/a
Default Re: transaction vs event
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.


Jonathan Bromley
  Reply With Quote
Old 11-16-2006, 12:52 AM   #3
canadianJaouk
 
Posts: n/a
Default Re: transaction vs event
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.




canadianJaouk
  Reply With Quote
Old 11-16-2006, 03:17 AM   #4
Jim Lewis
 
Posts: n/a
Default Re: transaction vs event
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~


Jim Lewis
  Reply With Quote
Old 11-17-2006, 11:29 PM   #5
canadianJaouk
 
Posts: n/a
Default Re: transaction vs event
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
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~




canadianJaouk
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Event Viewer question bootmgr MCITP 0 10-10-2008 02:22 PM
master page does not change due to preinit event not firing franchise63 General Help Related Topics 0 02-13-2008 09:18 AM
RIP HD-DVD? - HD-DVD CES Event Canceled Air Raid DVD Video 0 01-05-2008 03:06 AM
How do find out if a button was clicked before the textchanged event of textbox fires Jack General Help Related Topics 0 10-27-2006 10:19 AM
SUPER BOWL GALA EVENT, tickets available TheLeiterSideYGB DVD Video 1 01-06-2004 11:55 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

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