From: Adam Krolnik (adamk@cyrix.com)
Date: Sun Sep 13 1998 - 22:29:33 PDT
Good morning Tom:
You write:
>B32 - Transport Delay for Events
>I'm awaiting a reply from Ted Elkind about this one. Doesn't seem like a
>high priority, since you could do pretty much the same thing either with
>PLI (as was pointed out) or with a fork/join.
You can't accomplish transport delay with a fork join. E.g.
<p>always @(posedge clk)
if (new_stuff)
begin
-> start_trans;
repeat (2) @(posedge clk);
-> start_data;
repeat (2) @(posedge clk);
-> start_response;
end
<p>You have to use nonblocking registers, or something else.
always @(posedge clk)
if (new_stuff)
begin
start_trans <= 1;
start_data <= repeat (2) @(posedge clk) ~start_data;
start_response <= repeat (2) @(posedge clk) ~start_response;
end
Yes, I know that one could use PLI for this kind of thing. We could
say that for many things - that is why this is an enhancement. I
don't think writing PLI to do this is any better - it's more painful
that using nb assignments.
<p> Adam Krolnik
Verification Engineer
Cyrix - NSC.
Richardson TX. 75085
<p><p><p>
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:52:59 PDT
and
sponsored by Boyd Technology, Inc.