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