Re: [sv-bc] how to access an interface paramter

From: Paul Graham <pgraham_at_.....>
Date: Wed Mar 29 2006 - 08:29:18 PST
> > I wonder if a reference to an interface parameter can be
> > used in a constant expression.  For instance:
> I don't think so.  See --
> 
>     http://www.eda.org/sv-bc/hm/3348.html

So a hierarchical reference to an interface parameter is not
considered to be a constant, but a roundabout reference
through a type is constant:

    interface bustype();
	parameter DW = 8;
	typedef bit [DW-1:0] DW_type;
	...


    module cpu(bustype.master bus);
        parameter \bus.DW  = $bits(bus.DW_type);
	reg [\bus.DW -1:0] scratch;
	// reg [bus.DW-1:0] scratch;
	...

If you can get in through the back door you then might as
well leave the front door open.  So I'd like to propose that
a hierarchical reference to an interface parameter, where
the prefix denotes an interface port or an interface
instance label, be considered a constant primary.

Paul
Received on Wed Mar 29 08:29:20 2006

This archive was generated by hypermail 2.1.8 : Wed Mar 29 2006 - 08:29:32 PST