Re: B32, B33 and some other stuff

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.