RE: [sv-bc] Implicit generate block for loop construct inside conditional construct

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Wed Apr 22 2009 - 08:48:19 PDT
Daniel,

This is a Verilog-2005 enhancement.  See the attachments in

   http://boydtechinc.com/etf/archive/etf_2004/2566.html

My experience is that most designers don't want to omit the begin-end, and my opinion is that they'd be safer not to.

-- Brad


________________________________
From: owner-sv-bc@eda.org [owner-sv-bc@eda.org] On Behalf Of Surya Pratik Saha [spsaha@cal.interrasystems.com]
Sent: Wednesday, April 22, 2009 2:35 AM
To: Daniel Mlynek
Cc: 'Bresticker, Shalom'; 'sv-bc@eda.org'
Subject: Re: [sv-bc] Implicit generate block for loop construct inside conditional construct

No Daniel. As per LRM, if begin-end is missing for loop generate construct, an implicit begin-end scope is created.

Regards
Surya



-------- Original Message  --------
Subject: Re:[sv-bc] Implicit generate block for loop construct inside conditional construct
From: Daniel Mlynek <daniel.mlynek@aldec.com><mailto:daniel.mlynek@aldec.com>
To: 'Bresticker, Shalom' <shalom.bresticker@intel.com><mailto:shalom.bresticker@intel.com>, 'Surya Pratik Saha' <spsaha@cal.interrasystems.com><mailto:spsaha@cal.interrasystems.com>, 'sv-bc@eda.org<mailto:sv-bc@eda.org>' <sv-bc@eda.org><mailto:sv-bc@eda.org>
Date: Wednesday, April 22, 2009 3:02:02 PM

Is there begin missing inside for loop - as far as I know this begin end in
generate for loop is obligatory:

 module top;
     if (1) // Will it create an implicit named block or not
         for (genvar g = 1; g < 10; g++) begin
             reg x;
         end
     int b;
 endmodule

-----Original Message-----
From: owner-sv-bc@server.eda.org<mailto:owner-sv-bc@server.eda.org> [mailto:owner-sv-bc@server.eda.org] On
Behalf Of Bresticker, Shalom
Sent: 22 kwietnia 2009 10:15
To: Surya Pratik Saha; sv-bc@eda.org<mailto:sv-bc@eda.org>
Subject: RE: [sv-bc] Implicit generate block for loop construct inside
conditional construct

You understand correctly.

Shalom



-----Original Message-----
From: owner-sv-bc@server.eda.org<mailto:owner-sv-bc@server.eda.org>
[mailto:owner-sv-bc@server.eda.org] On Behalf Of Surya Pratik Saha
Sent: Wednesday, April 22, 2009 11:05 AM
To: sv-bc@eda.org<mailto:sv-bc@eda.org>
Subject: [sv-bc] Implicit generate block for loop construct inside
conditional construct

Hi,
If we consider the case:
module top;
    if (1) // Will it create an implicit named block or not
        for (genvar g = 1; g < 10; g++)
            reg x;
        end
    int b;
endmodule

LRM mentioned for conditional construct directly nested inside another
conditional construct does not create separate scope. I think then
looping construct directly nested inside another conditional construct
should create then a separate scope. Can you please confirm. If the
answer is yes, then also for that block, name will be generated as per
name generation scheme for unnamed generate block mentioned in the
LRM.

--
Regards
Surya




--
This message has been scanned for viruses and dangerous content by
MailScanner, and is believed to be clean.




---------------------------------------------------------------------
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.








--
This message has been scanned for viruses and
dangerous content by MailScanner<http://www.mailscanner.info/>, and is
believed to be clean.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Apr 22 08:49:06 2009

This archive was generated by hypermail 2.1.8 : Wed Apr 22 2009 - 08:51:00 PDT