From: Adam Krolnik (adamk@cyrix.com)
Date: Mon Apr 06 1998 - 21:35:54 PDT
Good morning:
I'm adding the BNF and text changes to speed the process if we like this idea.
Adam Krolnik
Verification Engineer
Cyrix, Corp.
Richardson TX. 75083
<p>Begin forwarded message:
From: Adam Krolnik <adamk@eng.cyrix.com>
Date: Tue, 9 Sep 97 16:22:53 +0600
To: 1364core@galaxy.nsc.com (IEEE-1364 Core Group Reflector)
Subject: Transport delay for events
Cc: adamk@eng.cyrix.com
<p>It would be helpful to trigger events using transport delay. With nonblocking
assignments, you can get this effect, but events are a little cleaner
when they are used.
A proposed syntax for adding transport delay is:
-> timing_control event;
<p>E.g.
-> #100 event_a;
-> @(posedge clk) event_a;
-> repeat (2) @(posedge clk) event_a;
Motivation:
With the addition of nonblocking assignments, events have less value. One
must use delay expressions relative to the current time with each event,
or enclose all events within a parallel block. Use of nonblocking assignments
is cleaner when mixed with other procedural statements. However nonblocking
assignments require code to reset the value, or use without an edge specified.
E.g.
...
state <= address;
-> repeat (`START_CYCLE) @(posedge clk) start_address;
if (do_retry)
begin
amt = Random(`MAX_RETRY_DELAY);
$display("Retrying transaction %0d cycles after request.", amt);
-> repeat (`RESP_CYCLE+amt) @(posedge clk) retry_request;
end
-> repeat (`RESP_CYCLE) @(posedge clk) send_response;
end // always ()
Proposed text:
Add to 9.7.3 "Named events", in the 2nd last paragraph, this sentence.
"If a delay_or_event_control is included within the event trigger, the
trigger will be scheduled after the timing control finishes. But the scheduling
will not block the procedural flow. This is the same as non-blocking assignments
with intra-assignment timing controls (See sections 9.2.2 and 9.7.6).
BNF:
event_trigger ::=
-> event_identifier ;
| -> delay_or_event_control event_identifier ;
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:52:47 PDT
and
sponsored by Boyd Technology, Inc.