Hi
if you'd like it to be a commercially successful chip, you will need
- without a shadow of doubt - a pinmux. a pinmux allows a chip to be
targetted at multiple simultaneous markets at a reduced package cost, by permitting software-controlled redirection of up to four times (or even eight times if you are Texas Instruments) as many peripherals as there are actual physical pins on the chip.
by targetting multiple markets the chip sells more units. by selling more units the quantities increase. by increasing the quantities the foundries have time to tune the fab in order to increase yields. by increasing yields the price of the chip comes down. by decreasing the price, the chip sells more units.
if you're not familiar with what a pinmux is, here are some resources:
http://bugs.libre-riscv.org/show_bug.cgi?id=8 hands.com/~lkcl/pinmux_chennai_2018.pdf https://elinux.org/images/b/b6/Pin_Control_Subsystem_Overview.pdf http://libre-riscv.org/shakti/m_class/pinmux/ http://git.libre-riscv.org/?p=pinmux.git;a=summary
I'm familiar with pinmuxing :-)
please note: a *commercially viable* 100% completed libre pinmux does NOT EXIST. SiFive's IOF is *NOT* suitable for general-purpose use (it does not do priority in-muxing).
Mohammed from eFabless promised me to put Tim (also on this list) and the others at the problem as soon as we get there. eFabless will design us a LibreSilicon muxing pad cell, which will essentially be a big analog switch with multiple contacts wired to of which only one is analog switched out at a single time.
Cheers David