RE: [sv-bc] configurations and parameters

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Tue Aug 14 2007 - 00:24:49 PDT
Some advantages of configs over tool switches:

1. standard, portable (in theory)
2. A file is easier to save and transfer than a command line.

> Going back to the debug issue, I could only suggest that 
> design teams make a very careful methodology decision to 
> either train their team about configs (so they know where to 
> look if a parameter value doesn't seem right) or banning 
> configs in the model, but allowing them to use it for exploration.

Currently, many tools still do not support configs well, and many people
do not understand them well. I certainly don't.

 
> So my next question would be about how we resolve the literal 
> values used in the parameter overrides.  Designers are going 
> to want something like this as Gordon suggests
> 
> >>    module top ();
> >>      parameter WIDTH = 16;
> >>      adder a1 (...);
> >>    endmodule
> >>
> >>    config cfgl;
> >>      design rtlLib.top;
> >>      instance top.a1 #(.size(WIDTH));
> >>    endconfig
> 
> I am not the tool expert, but wouldn't this be a simple 
> string replacement operation like we do with macro's.  
> Instead of replacing the literal value we just replace the 
> string value of "WIDTH" and let the compiler do its job when 
> it evaluates what "WIDTH" is within the RTL code.  My point 
> is that we don't have to know what the value of WIDTH is at 
> the time we see the config.

I don't think a simple string substitution would work.
   
> Finally, I am not sure if this would conflict with having 
> localparams and params within configs?  If the parameter is 
> already defined within the RTL, I am going to want to just 
> use that RTL parameter value.  But if I create another params 
> or localparams in the config, we open up a big can of worms. 
> The config must take precedence clearly with the parameters 
> seen in the config, but what if the params is already defined 
> in the RTL and we are overidding that value.  Do we only 
> override it within the config or does it override all the 
> parameter values in the RTL model? 

I would think it would be only in the config until we have a config line
that overrides it in the design. Then it would be like any other
parameter in the design and its value propagates to wherever it is used.

Shalom

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Aug 14 00:25:09 2007

This archive was generated by hypermail 2.1.8 : Tue Aug 14 2007 - 00:25:44 PDT