[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gEDA-user: iverilog: Nonstandard Macro Expansion
I recently found out (painfully) that an intuitive
and excellent feature of iverilog is nonstandard.
The OVI reference manual states:
The text specified for <MACRO_TEXT> must not be split across the
following lexical tokens:
* comments
* numbers
* strings
* identifiers
* keywords
* double or triple character operators
However, iverilog supports "splitting" across at
least identifiers. For instance, the following is
possible with iverilog:
`define Name IsTerrible
module Verilog`Name(...);
...
endmodule
which is preprocessed before compilation into:
module VerilogIsTerrible(...);
...
endmodule
Such code is impossible in commercial tools like
Xilinx's synthesizer.
Should iverilog continue to support this kind of
behavior?
>> The burden is on the programmer, not
>> the tools.
This is another classic example.
>> However, the lack of such a feature shows
>> the poor thought of Verilog's designers.
>
> This is a bit too glib for my tastes.... I don't think it's quite
> fair for you
> to assume you know so much more (or are so much smarter then) the
> people who were there.
I don't care what anybody says. These people didn't think much.
_______________________________________________
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user