RE: [sv-ac] notes from SV-AC meeting 2007-09-25

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Thu Sep 27 2007 - 13:48:34 PDT
Erik,

I looked at this a little, not too much. I have some problems:
 
> Here's another draft of the proposal...  Tell me what you think. 

1.

"integer my_ints[2] = {123, 456};
always @(posedge clk) begin
  foreach (my_ints[i]) begin : b1
    foo[i] <= somefunction(my_ints[i]);
    a1: assume property (foo[i] != `BAD_VAL);
  end
end

The assumptions b1[0].a1 and b1[1].a1 in this example are logically
equivalent to the assumptions in the example below:"

First, the initialization array literal to my_ints requires an
apostrophe before the left curly bracket.

Second, there is no b1[0].a1 and b1[1].a1, as I tried to explain
earlier. There is only b1.a1. An array of scopes is created by a
generate for-loop, but not by a regular for-loop.


2. The proposal says, "If the loop is a foreach loop, the generate block
will use a for loop that iterates over the indices used in the foreach
statement."

The problem is that if the foreach is over an associative array, the
indices may be non-contiguous, and then you can't recreate them using a
generate for-loop.

Regards,
Shalom
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Sep 27 13:49:21 2007

This archive was generated by hypermail 2.1.8 : Thu Sep 27 2007 - 13:49:48 PDT