On 01/10/15 21:22, Adrien Prost-Boucle wrote:
Hi Tristan,

Now the -g options are implemented and work at run time, I tend to love it, and 
use it.

I often design with large number of generics in order to be able to investigate 
impact on design efficiency / latency / throughput.
I compile all VHDL files with the gcc version of GHDL, and obtain an executable.
Then I launch many runs in parallel with different parameters (with -g 
options), and in different folders with different data files.
This is extremely convenient.

Ok, this usage makes sense.
How do you proceed with commercial simulators ?

With -g options applying only at elaboration, I would have to do re-elaboration 
for each tested configuration.

Yes.

I suspect I would need to generate N versions of the simulator, in different 
directories, which could make GHDL usage more complicated.
Elaboration take time (at least with the gcc version).
Olof Kraigher suggested using --elab-run but measuring simulation time gets 
strongly biased this way.

Well, --elab-run is really -e followed by -r, so this is like generating many versions.

On one hand, I think being able to set some generics with -g at elaboration 
time can have a positive impact,
on the generated simulator speed and on the generated executable size.

Yes, that's the idea.

But on the other hand, the disappearance of ALL generics for run time would be 
painful.

Yes, I understand that.

But I haven't seriously investigated : what I wrote above is only assumption,
please correct me if I'm wrong!

No, this is correct.  But at this time, this is only a plan.

The ideal flow would be, from my point of view:
- all -g options set at elaboration time make the corresponding generic value 
be hard-set in the generated simulator,
- -g options for remaining generics are still available at run time
Such a flow would be very generic and this is guaranteed to fit any serious or 
fancy user need.

Is -g support at run time really hard to maintain for current and future GHDL 
developments?

This is not really a maintainance issue but a way to speed-up simulation.
Did you try the mcode version ? With it, code is generated only with -r (or with --elab-run).

Thank you for your feedback.  I will think about that.
Tristan.


_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to