On Tue, 2016-03-15 at 00:40 +0100, Adrien Prost-Boucle wrote: > Hi, > > I had another idea. > > Re-evaluating the entire mux expressions is a heavy task. > So would it be possible to re-evaluate only the sub-expressions that > have changed? Including, for function calls, only those that have no > side-effects ("pure" functions), and whose arguments have changed? If > such an optimization is possible, it may improve speed for many other > designs.
Seems to me an easy way to do this would be to generate a tree of sqrt(N) sized muxes (for a tree of depth 2) then you are evaluating 2 small muxes instead of one huge one. Might be easy to change this part of the code generator to test the idea (for muxes of large N) and tune the heuristics (depth, when to start splitting muxes) later. -- Brian _______________________________________________ Ghdl-discuss mailing list Ghdl-discuss@gna.org https://mail.gna.org/listinfo/ghdl-discuss