What does HackerNews think of ibex?
Ibex is a small 32 bit RISC-V CPU core, previously known as zero-riscy.
However, RISCV cores abound. In pretty much any HDL known to man with varying design trade-offs and capabilities. It's extremely difficult to differentiate at the RTL level at this time. Not impossible, but it would be a significant investment, which is I guess SiFive's business model. Sell IP at prices cheaper than that.
Here is a high quality, well documented, SystemVerilog version intended for embedded applications that I know has been included in multiple ASIC and FPGA designs successfully.
Performance isn't that important maybe (depends on the application), but energy often is, size is, having lots of vendors is, having a large software base is.
> So I'm really not sure how or why RISC-V would break into the uC world / low end.
If by lower end you mean 8-bit, then no it wont. But one of the large adopters of RISC-V are actually places where there used to be tiny 8-bit cores and now people want more substantial 32-bit cores and RISC-V is really good there.
And it has already broken into that market as there are already lots of RISC-V products shipping, lots of them in lots of consumer electronics from China.
RISC-V will continue to grow in that market, if you were a MIPS costumer for example, you are likely gone move on to RISC-V?
> If anywhere, they have a chance at the higher level, like at Rasp Pi level chips or stronger.
At the very low end being very cheap, not involving as many lawyers actually matters quite a bit because volumes are high. Specially when there are very competitive verified opensource cores as well.
Ibex: https://github.com/lowRISC/ibex
Used by Google in the OpenTitan Project
Open Hardware Group:
Chips Alliance:
Not to mention all the commercial offerings (or commercial offerings that support those open-cores). They might not be open, but its easy to get up and running with RISC-V compared to commercial stuff.
There is just so much education moving to RISC-V. Lots of people will be educated in RISC-V and lots of people will look at some of these OpenSource cores to learn. When places like Berkley, Stanford and ETH embrace something it usually trickles down to most universities.
But, the similarly minimal Arm Cortex M0 is, drumroll, 12k gates.
Not saying this means Arm is better than RISC-V, such a small difference can probably be explained by some microarchitectural feature or lack of it. Just that you can scale down Arm as well.
But yes, I can see tiny chips like these putting a squeeze on 8 and 16 bit microcontrollers.
I've been looking at this one for high end (1.9 DMIPS/MHz!):
https://github.com/ultraembedded/biriscv
Google/lowRISC has this one:
https://github.com/lowRISC/ibex
I'm using picorv32 right now on Lattice ECP5- running code out of SPI-flash, but I added an instruction cache for speed.
It's amazing how many RISC-V things are happening all at once right now.
Anybody know of any free RISC-Vs with floating point? It would be helpful to have something similar to ARM Cortex-M4F.
Edit:
From the "riscv-cores-list" I see WARP-V, which I'm not interested in due to "TL-Verilog". But its FPU is this:
http://www.jhauser.us/arithmetic/HardFloat.html
So all of these RISC-Vs should have optional FPU support based on HardFloat :-) (not that I have any idea of the size of HardFloat).
It's got an extensive verification environment (though relies on UVM so you need closed tools to run it, we have a verilator setup for running RISC-V compliance and arbitrary binaries), good documentation and we're pushing the performance up (you can get 3.09 CoreMark/MHz with the current master and that will increase with some branch prediction work I'm currently doing). It's configurable so you can choose your own trade offs between size and performance. Plus we've got support for the B (bitmanip) extension, which our verification environment also tests.
All cores have their pros and cons and Ibex is no exception but if you're looking for an open CPU core I think it's well worth a look.
Implementing something like the story talks about is obviously far more complex.
If you're mostly interested in putting together existing processors that can again can vary in complexity, there are some things with 'batteries included' where you can just spin up an FPGA image that works then go poking around, others where there will be significant work in integrating things into a working system.
I'll give a plug to Ibex (https://github.com/lowRISC/ibex) which is the core I work on, it doesn't have an MMU and is targetted at embedded applications. It's a 'real' core, in that it's suitable for taping-out into a real system but still quite simple to understand. OpenTitan (https://github.com/lowRISC/opentitan) is a notable project we're also working on that uses it, it's an open source root of trust and will give you a working RISC-V SoC you can put on an FPGA, you can easily carve out the security things leaving you with a RISC-V core, some SRAM and various useful peripherals.