[Libre-soc-dev] MUX was Re: Daily Kanban 2020aug10
whygee at f-cpu.org
whygee at f-cpu.org
Mon Aug 10 23:03:01 BST 2020
On 2020-08-10 23:46, Luke Kenneth Casson Leighton wrote:
> On Monday, August 10, 2020, <whygee at f-cpu.org> wrote:
>
>> You know i've been working on optimising MUX trees right ?...
> is that to be part of yosys? or is it a "general technique"?
i'm not touching yosys.
It's a general technique, portable, that solves large problems
such as what you encouner.
It's a published technique :
https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-218/Quelques-applications-des-Arbres-Binaires-a-Commande-Equilibree
And I recently experimented with a simple MUX64 where the gain
is as expected (lower fanout => faster, less power draw)
https://hackaday.io/project/27280-ygrec8/log/181058-the-art-of-large-muxes
https://hackaday.io/project/27280-ygrec8/log/87415-mux-trees
The method has positive benefit starting with MUX8, and I think Power
has banks of32 regs so the gain is a no-brainer.
The only "cost" is to shuffle the register numbering internally.
with that : you can avoid having a wire that must drive 16×64 MUX2
and eats up a clock network, just for example.
And that's only with considering a single MU32.
When you have parallel MUX32s, you can spread the costs even more.
I believe the french article is easy to translate
and the pictures speak for themselves :-)
> l.
yg
More information about the Libre-soc-dev
mailing list