First, for each oy you who tried to work on my vhd files, I'm ver sorry
about the impossible line lengths!!! Indeed vhd files need to remain
humanly readable and editable (I've myself read and manually corrected
many of the huge vhd files I generate, with my favorite editor (geany)
without any problem... but as I'm somewhat still the only developer (and
user) of my tools I tended to forget basic formatting rules, sorry xD)
Tomorrow (France time) I'll edit my testbench generator and re-generate
a human-readable and editable tb.vhd.
On Thu, 2013-11-28 at 20:18 +0000, Brian Drummond wrote:
> Again another data point: Editing out both the aggregates and replacing
> them with (others => (others => '0')), "tb" analyses, elaborates and
> runs fine - in under a second for each phase.
>
> So I see no evidence whatsoever for a problem with initialising these
> large arrays with (others => (others => '0'));
> and plenty that the ridiculous line lengths were causing problems; but
> not necessarily for ghdl.
Actually, I meant _appending_ this "(others => (others => '0'))" at the
end of the values already present, not replace the entire line. Like
this:
... := (
X"00", X"01", ..., X"AB", (others => (others => '0'))
);
Originally, this was the easiest solution to make the array
instantiation syntactically correct when there is only one cell. So this
"(others => (others => '0'))" addition isn't meant to actually fill any
cell with any '0'. It is meant to remain unused, and unuseful, except
for making ghdl parse the vhdl code in the specific case where the array
has only one cell.
(yes this purpose doesn't deserve all the attention of ghdl-discuss...
but the result (crash) does)
I'll send a patched human-formatted tb.vhd tomorrow (in ~20h because
sending mails from my personal email address is refused by laboratory's
network...)
Or this "others" thing could be appended to my currently huge line like
this:
... := (
X"00", X"01", ... <400k other values>
, (others => (others => '0'))
);
Don't know if this comma at the beginning of the line is syntactically
correct, it sure isn't pretty, but if it works for now...
David, I didn't send the rest of the application because it is another
mountain of vhdl, and because my ghdl crash happens right at analysis
the tb.vhd file, so the rest is not needed.
My tools are under heavy development so right now, without manual
constraints, the generated circuits tend to be unrealistic, for the
bigger apps I use as testbenches. Making all this realistic is one of my
top goals, to get there I use big apps, consider how they are
transformed by the tools, observe every bit of the generated vhdl,
launch simulations / logic synthesis / place&route to test everything...
work in progress.
BTW, when manually applying transformation we can get very realistic
circuits with my tools. It is the automatic mode that produces little
insanities like fsm.vhd.
Best regards,
Adrien
_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss