Hi,

I'm answering to David's message from the webmail in the hope that my message 
is sent correctly this way...

Thanks a lot David for your analysis of the VHDL code I sent.
I can comment on several points.

1) About possibility to reduce the number of remaining concatenantions

The current coding style contains a lot of concatenations instead because 
before VHDL generation, the multiplexer components were still manipulated as 
components by the HLS tool. So the style of the expression that feeds the input 
ports is tailored to be used as port assignation in VHDL, in particular I can't 
use repeat-like functions there.

But here the code of the muxes is "inlined" in the top.vhd entity to reduce the 
number of separate components. So I could let the repeat-like operations on the 
expressions on the inlined components.
In fact it's already on my todo-list (but low priority because I thought it 
only had an impact on readability).

2) About the fact that these large muxes could be splitted and simplified

That's true indeed.
However I tended to let that optimization task to the back-end logic synthesis 
tools. These tools would do a much better jobs at this task. Also often it's 
not a good idea to systematically split the muxes (bitwise for example), so 
that simplification would need to first evaluate how well this or that mux or 
part of mux is appropriate for splitting. This is more complicated code to 
maintain and it's not critical for the HLS tool point of view.
But I keep that idea in mind, maybe one day I'll find a clean way to perform a 
kind of pre-simplification of some muxes...

3) About the fact that many mux inputs are only width extensions

Yes, for debug purposes, it's useful to keep the muxes "flatten" and 
"full-width" the current way because we read what we expect to read. The 
extension may be signed, unsigned with '0' or with don't care bits when 
appropriate. The current mapper of the HLS tool currently don't generate don't 
care bits there, but that'll come.
The synthesis tools take good care of that.

Adrien

_______________________________________________
Ghdl-discuss mailing list
Ghdl-discuss@gna.org
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to