[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA: Verilog 19990529 snapshot
Stefan.Thiede@sv.sc.philips.com said:
> playing with vbpp 1.01 I found that I had to put a
> #define YYMAXDEPTH 1000000
> in line 2 of the vpp.y to make it work on one of our chip rtl's.
Oops.
I tool a closer look at the vpp.y file, and sure enough the grammer is
so structured that the parse stack grows linearly with the size of the
input file. Ugh, that will not do at all. I might wind up writing a
preprocessor after all.
(The trick is that rules such as ``a : b a'', which recurses on the right,
will cause the parse stack to grow until input or memory is exhausted
whereas rules such as ``a : a b'' will reduce immediately. The vpp.y
grammer violates this trick at the top level. Yikes!)
Stefan.Thiede@sv.sc.philips.com said:
> Should ivl read the `timescales now or should vbpp remove them ?
ivl should read the `timescales directives. There are other directives
that ivl should read as well. Specifically, any directive that is not
specifically a textual substitution or conditional compilation is up
to ivl to deal with. I'll look into convincing ivl to at least parse the
directives it should handle.
Things like `include, `ifdef, `define, et al. should be handled in a
separate program. There is no need to include these directly in the
ivl program.
Stefan.Thiede@sv.sc.philips.com said:
> And so I'd really would like to see the preprocessor to be included
> in ivl to give the tool the acceptance and usability it deserves.
After you pointed out the above glitch in VBPP, and I looked into
the cause, I see that vbpp is only a stopgap measure. I agree that a
good preprocessor is very important, though I think that vbpp will do
for now. Something better will eventually have to come along, even if I
have to write it.
--
Steve Williams "The woods are lovely, dark and deep.
steve@icarus.com But I have promises to keep,
steve@picturel.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."