HiFive Unmatched – A RISC-V Linux development platform
sifive.com
sifive.com
However, the "HiFive Unmatched HW Reference Manual" mentioned on the SiFive web page (https://www.sifive.com/boards/hifive-unmatched) is still not available, so bare-metal programming (or porting other operating systems) requires lots of Linux code reading.
One thing PC has going for it, is that you can install one Linux distro into any PC board. This is not the same for ARM boards.
The good news is that the foundation is defining various platform specs. For servers it'll include a standard firmware spec plus open source firmware implementation and a few other bits. Maybe working UEFI one day. (https://lists.riscv.org/g/tech-unixplatformspec https://github.com/riscv/riscv-platform-specs https://github.com/riscv-non-isa/riscv-sbi-doc)
Aside from that people can argue whether UEFI is bloated and how their favorite is the perfect alternative, but as a user who would want to boot a RISC-V based desktop platform (and someone who has supported RISC-V, implemented their own designs, etc) I don't care and it doesn't matter; it actually does the job, and is a known quantity to aim for i.e. familiar and at least nominally understood by developers, users, and manufacturers. And I say that as someone who actually likes U-Boot and has patched it on a few occasions myself for my own targets.
you can not care, but it does matter
RISC-V is meant to be flexible and you can create CPUs that look very very different. Furthermore, some early chips used own solutions in some areas as a standard way of doing things was yet not available (e.g. memory protection).
So we have a hardware landscape with extreme fragmentation. If people cannot agree on the hardware, I have hard time seeing them agreeing on the firmware.
The problem is that you need a moment where the market switches from "hardware drives software advancement" to "software drives hardware standardization."
Think of the x86 architecture-- in 1979, if you were designing a new 8086 computer, you'd want to design the best disc controller, memory map, and graphics modes you could, and build software to show them off. By 1986, you wanted to design ones that looked exactly like an IBM 5150 so that Lotus 1-2-3 and Flight Simulator would run out of the box.
What specifically would be the comparable trigger for ARM or RISC-V?
You need killer apps that sit close to the hardware, and are closed-source. It can't just be something that runs on top of Linux/BSD/Android/etc. because then vendors will cheat by building an unsupportable hairball of custom bootcode and drivers to get you to an ABI-compatible OS and say "that's compatible enough." It can't be open-source because vendors will cheat by hacking it to fit into their custom hardware and firmware designs.
I'm not sure it's feasible today. Today's killer apps are not built with the 70s/80s mindset of writing directly to device registers for 1% more speed.
The numbers are of course terrible because these chips don't perform very well and I guess also no one has tried to optimize this benchmark for RV.
Thank you.
What convinced you to get not one but two of them? What do you run on it, was it hard to bring up the system?
hat convinced you to buy not one
The flow is something like: ZSPL -> uBoot SPL -> OpenSBI -> uBoot -> kernel
Everything is open source except (maybe?) ZSPL which I think is stored in ROM and just loads the SPL off the MMC card.
https://hackerboards.com/boards/nezha/
Not sure how easy they are to get ... but $99 is a great price.
These are very slow with limited RAM. It's possible to run Linux but it won't be much fun.
The bigger problem with the board above is the single core.
They're a lot of fun though - I have PicoRV32 in a very low end Lattice FPGA which cost, like $30 I think? It can only run single C programs, not even an embedded kernel, but I love playing around with it.
https://commons.wikimedia.org/wiki/File:SanDisk_Fusion_ioMem...
It's basically useless for SoC development, though, as there's no memory on board, no I/Os other than PCIe, and no practical way to add any.
https://pine64.com/product/pinecone-bl602-evaluation-board/
The Ali Express boards look equally intriguing. And the price is right!
Swift might survive at Apple, but by the link appears already dead at Google.
He went to Tesla first, by the way.
I guess any GPU that works on x8 PCIe gen 3 and can power itself from that or supply its own external power? (Datasheet says the fully loaded board is 150W btw.) You'd probably have to limit yourself to whatever has open source drivers for Linux.
The bottleneck here is SoC, not the GPU. With HW decoding on the GPU I can play 4K 60fps trailers on Unmatched just fine.
The getting started guide has a few specific model suggestions: https://starfivetech.com/uploads/hifive-unmatched-getting-st...
Nevertheless it is a useful board for testing software on RISC-V, e.g. I mostly use it to test the OCaml compiler and related programs on it.
[1] https://lore.kernel.org/lkml/mhng-423e8bdb-977e-4b99-a1bb-b8...
I understand that, someday, higher-end realizations will begin to ship with various "B" subsets implemented, but "portable" builds will tend to avoid relying on those for an appallingly long time after. (E.g. MSVC and Gcc still do not generate POPCNT instructions, on amd64, unless you specifically identify a post-2004 target.)
I will nonetheless be excited to learn of the first chip that does ship with the full raft of B instructions.
Because it's not ratified the BitManip extensions are not listed in any RISC-V Profiles as supported (or required). Platforms specification is also not requiring it.
Note that the next Profiles will be for 2022, thus any extension ratified before that most likely will appear in a new profile (i.e. as supported, non-conflicting extension) in some set.
There is also a vector extension, crypto extension and even a 128-bit computer (Q-extension)!
See the thread here: https://groups.google.com/a/groups.riscv.org/g/isa-dev/c/YiK...
Order of magnitude improvement.