Of all the stages of synthesis, the mapping stage has the
greatest effect on the results. That's why we often write
such strange code... it's the only way to make the tools
start in the right place. Once an initial choice has been
made for implementing an hdl construct, there is often little
the optimization stage can do (muxes often can't be recognized).
Having said that, I believe we should make it clear that
compiler directives such as `synthesis_map_to_mux are not
supposed to force a mux to be implemented... they are
supposed to force the tool to *start* with a mux. If after
mapping the design, the optimization stage notices that it's
faster to implement the mux with two input and & or gates
that's ok.
Perhaps some of the directives that would stick around
during optimization are outside the scope of what this
working group wants to standardize, but directives that
aid the mapping are valuable.
Regards,
Stefen
--------------------
Stefen Boyd
__
| \ ____
|_/_ |
| \ |__
|___/oyd |
|___nterprises
stefen@boyd.com
(408)739-BOYD
(408)481-9658 (fax)