8 ms·
Nios V – Intel's RISC-V Processor
- Ericson2314 5y agoThis is a misleading headline. It's a little FPGA program that's implemented 1990 style.
- tux3 5y agoIt's a soft-CPU. It's not that it was designed 30 years ago, those just aren't meant to be deep and wide OoO cores.
- 0xTJ 5y agoJust like Nios II, it's a processor. It doesn't have to be "hard" silicon. Calling it a "little FPGA program" seems very dismissive. I don't know what you mean by "1990 style".
- hulitu 5y agoSo it is not a processor it's a soft core. If you want a processor with this, you need to program an FPGA from intel.
- Ericson2314 5y ago> I don't know what you mean by "1990 style". They said "5 stage", which sounds to me like no out-of-order fancy stuff of the sort we've been used to. > Calling it a "little FPGA program" seems very dismissive. Well, I wrote a little 5 stage CPU FPGA program once (In Haskell compiled to Verilog :), but that's another story). It wasn't very hard. I haven't made a production IC, but I'm told that's much harder. I would be awesome if Intel made a RISC-V chip, even a slow one just good for arduino-type toys, but that's not what happened here.
- repiret 5y agoI think that level of sophistication is typical of soft cores. If you need a high performance CPU you don’t use a soft core. You use a soft core when part of your FPGA project can be more easily expressed as a CPU, but still needs tight coupling with the rest of the FPGA. This is meant to compete with Cortex-M1 and MicroBlaze, not with Cortex-A78 or Core i9 or something.
- sbierwagen 5y ago>arduino-type toys Intel has a terrible track record with maker-ish stuff. They routinely launch products, sell them for a year, then discontinue them. (Intel Euclid vision SBC, Intel Edison x86 microcontroller, the realsense stuff, etc) You can't build an ecosystem around a product if you kill it after a few months. Arudino is only Arduino because they actually stuck around.
- hajile 5y agoIntel owns Altera. Providing a good FPGA CPU to run all the custom stuff is a great way to sell more chips. This isn't aimed at makers so much as aimed at huge corporations with loads of money to burn on FPGA hardware, circuit design, and custom software.
- pjmlp 5y agoIt is the margins, the maker market is not the way server market works, and their management lacks patience.
- guerrilla 5y agoWell, lately anyway. The 386EX [1] was supported from 1994 to 2006 with many interesting and "cheap" third party SBCs, replaced in 2007 by the Tolpai SOC line which was killed the following year. It's been all churn since then it seems. You can still buy tons of 386EX chips and boards on eBay and even a couple first-hand (JK Flashlight) and there's a few modern homebrew designs out there. 1. https://en.wikipedia.org/wiki/Intel_80386EX https://en.wikipedia.org/wiki/Intel_80386EX
- monocasa 5y ago> They said "5 stage", which sounds to me like no out-of-order fancy stuff of the sort we've been used to. There's a lot of processors out there. The vast, vast majority being shipped are in order and a handful of stages. > Well, I wrote a little 5 stage CPU FPGA program once (In Haskell compiled to Verilog :), but that's another story). It wasn't very hard. > I haven't made a production IC, but I'm told that's much harder. I would be awesome if Intel made a RISC-V chip, even a slow one just good for arduino-type toys, but that's not what happened here. The FPGA vendor provided soft cores have about the same amount of engineering rigor as a hard core. They have enough customers for the designs to have enough reach to have the same financial implications for bugs.
- gricardo99 5y agoThe FPGA vendor provided soft cores have about the same amount of engineering rigor as a hard core. I'm not sure what you mean by engineering rigor, but there is indeed plenty of engineering to get from a soft core to a hard core, let alone a fabricated, working chip: synthesis, layout, place and route, timing closure, pads, PLL/DLL, clock tree insertion, BIST, thermal, packaging, etc...
- monocasa 5y agoHigh end soft cores do most of that. Particularly when you consider that most of what isn't automated these days is equally applicable to soft cores that aren't just Verilog or VHDl. Floor planning FPGA cores these days can be nutty compared to the recent past (far past interestingly enough was similar before you had higher level tools). And the fact that stuff like packaging, DLLs/PLLs are equally applicable to hard cores. That's outside of what they care about on nearly every core design I've seen (albeit I'm only in my mid 30s).
- mhh__ 5y ago> which sounds to me like no out-of-order fancy stuff of the sort we've been used to. Probably completely overkill for a soft-core. On top of that, designing and verifying a core that people actually want to use is obviously much more difficult to do than going through HLS.
- _chris_ 5y ago> They said "5 stage", which sounds to me like no out-of-order fancy stuff of the sort we've been used to. That's inefficient for an FPGA softcore; wires are too expensive, CAMs are straight up awful, and memory latencies aren't too far off relative to the core clock frequencies to justify OOO stuff in the normal case. > Well, I wrote a little 5 stage CPU FPGA program once (In Haskell compiled to Verilog :), but that's another story). It wasn't very hard. Writing a 5 stage is easy. Writing a 5 stage with no bugs is much harder. Writing a 5 stage that talks industry standard busses and provides Debug/JTAG Support at high frequency and small gate counts is, well, an actual job. Not saying you can't do better, but it's not a trivial effort.
- JoachimS 5y agoYou don't have that fancy stuff in really low cost, embedded systems, or as part of the control path in a large, complex FPGA or ASIC design. Look at ARM Cortex M0+, M3, M4 or numerous RISC-V cores for microcontroller applications. You get the core you need that meets the processing budget with as little cost, area/resources needed and with as little power consumption. That was true then and it is just as true today.
- temp0826 5y agoThis is out of my realm, isn't it at least a little relevant to vet a (logical) design with an fpga before doing the full process? Or are those worlds things worlds apart?
- duskwuff 5y agoThe FPGA was the final target for this design. It isn't intended to go anywhere else -- its predecessor, Nios II, was also FPGA-only.
- Unklejoe 5y agoLittle soft core CPUs like this are often incorporated into larger FPGA designs to handle sub-tasks that would otherwise be annoying to implement with pure logic. Think something like a simple CLI console to configure low level board functionality, etc.
- Ericson2314 5y agoYou could make a physical chip out of this, but there are lot of O(1) costs that mean I am not just going to download Quartus, call up my local fab, and get me a toy CPU from this for fun.
- JoachimS 5y agoIn general yes. ASIC designs are prototyped using FPGAs. You often can't run at full clock speed. But can do orders more test cycles than in a simulator. But FPGAs are also used as final target technology. When volume is too low, time to market too tight, where flexibility is important, FPGAs are used. Building an ASIC takes 12-15-24 months (depending on design complexity, target process), and a respin (due to an error) of parts of the design adds months before the product can be released. Base stations for 3G/LTE/5G is a good example. They used to be built with a combination of ASICs and DSPs. But this took too long to develop, and was to rigid to handle upgrades (soft upgrade from 3G to LTE was/is a great selling point). Using FPGAs reduced development time, and provided generational upgrade in a much better way. Don't replace boards, just SW and FPGA bitstreams.
- JoachimS 5y agoIf you want to see some FPGA emulator monsters, look at Cadence Palladium, or Mentor/Siemens Veloche. https://www.cadence.com/en_US/home/tools/system-design-and-verification/emulation-and-prototyping.html https://www.cadence.com/en_US/home/tools/system-design-and-v... https://eda.sw.siemens.com/en-US/ic/precision/ https://eda.sw.siemens.com/en-US/ic/precision/ They contain hundreds up to many thousands of FPGAs. Using support dev tools, you can take a large ASIC design and partition it over these FPGAs. We once used four interconnected machines like these to emulate a large superscalar, OOO CPU design. It took a few days, but could go from release of reset to loaded OS. Something impossible with a SW simulation. Fun times.
- monocasa 5y agoI mean, it's a soft core like Nios I through IV. I know Altera would sell you a license if you wanted to dump it into a hard flow for some reason. I assume Intel will too? The Altera division seems fairly independent post acquisition. Also Intel's not intimidated by the gate count niche of classic five stage RISCs; they gave that market up decades ago.
- vzidex 5y agoYes, Intel will still sell you a license for NIOS if you want to harden it into your product.
- synergy20 5y agoNever heard about Nios III or IV, I feel only Nios II was in use, Nios V here means RISC-V core actually? Xilinx has Microblaze which is similar to Nios II, both can boot 32-bit linux.
- monocasa 5y agoOh, you're totally right. It was almost ten years ago that I used a Nios II, so I read the state space wrong without bothering to look it up. Lol, classic mistake on the internet.
- deleted 5y ago[deleted]
- vvikas01 5y agoA processor design in a HDL like Verilog or VHDL is not really a "program". It is a textual representation of physical hardware configuration. Seeing it as a program is usually the the root of problems faced by amateur HDL designers.
- JoachimS 5y agoSo true. The code describes real hardware - wires, gates, registers, memory macros. And those are finite resources. The FPGA tools allocate resources and map them to specific instances on the FPGA chip. In an ASIC there are more freedom, but the chip area, number of metal layers to route signals and delay, power sets constraints. Understanding that writing something in SystemVerilog, VHDL actually allocates physical, electrical objects is very important. It is not bit patterns stored in a memory and interpreted, executed by something as a sequence of instructions. Routing congestion for example doesn't exist as a concept in SW.
- JoachimS 5y agoIt is not a program. It is a hardware design tuned to be efficiently mapped onto the primitives/resources in the specific FPGA fabric of the target devices. I'm fairly sure the actual source code is far from little. But the number of resources needed is quite low. Given a clock and access to memory it will execute programs.
- JoachimS 5y agoCould you elaborate on the "1990 style"? What do you mean? Is it that it is a moderately pipelined, single issue, RISC like (explicit load/store, fixed width instructions, fairly large register file) CPU design? Why then, all RISC-V, ARM etc cores targeted for low cost embedded, IoT systems are 1990 style.
- lxe 5y agoWhat happened to Nios 3 and 4?
- wyldfire 5y agoThose soft cores are handy to drop in on an FPGA design.
- deleted 5y ago[deleted]
- bane 5y agoDoes anybody have informed opinions about the future of RISC-V? The pace of development in the space seems frantic (though early) and the IP situation seems like it's ripe to eventually become a major force in processor ISAs.
- mhh__ 5y agoI'm optimistic but not particularly bothered as long as X86 goes the way of the dodo i.e. people have argued that ARM could be the better ISA for the processor in your laptop. One thing that we will have to see about is whether the extension model they have now actually holds in the future e.g. will we see a high performance fork of RISCV in the future, or simply (say) a chinese-only company who don't particularly care using parts of the instruction encoding space for their own purposes.
- cable2600 5y agoIt is the Post-X86 era now. That doesn't mean that X86 is gone, it means that alternatives to it exist and are on the rise.
- FullyFunctional 5y agoHigh performance RISC-V is orthogonal to those extensions. There is nothing stopping an M1-class implementation with the existing ISA.
- 5y ago
- hajile 5y agoIt's a pretty smart decision for them. They save who knows how many millions/billions in supporting a very proprietary ISA and the resulting proprietary software stack.
- tverbeure 5y agoI have no idea how you arrived at a millions/billions number. The Nios II family has existed for years, with very little ongoing development. FPGA soft cores don't go above the ~1.5 Dhrystone MIPS per MHz because the increased complexity to go above the 5-stage pipeline doesn't play well with FPGA-style logic. The Nios II/f already occupied that space.
- hajile 5y agoNios II is more than hardware. How do you run code on it? They have to maintain all the compiler stuff, all the libraries, all the related OS kernel and library changes. The core also needs updates to keep it current with newer hardware interfaces. With just a team of 50 people to do all these things, that's a minimum of 10-20 million per year. That's not including the initial development team being much larger. Over a decade or two, hundreds of millions or more is not unlikely.
- tverbeure 5y agoLike I wrote, the Nios II is old. There’s barely any development going on. The compiler has a few bug fixes here and there. The libraries are all in C, CPU agnostic, and primarily there to support various Intel Platform Designer modules (you can easily verify that by looking at the BSP). None of that goes away when switching to RISC-V. I have no idea what you mean with “newer hardware interfaces”, especially in the context of reducing cost: when using RISC-V, you’ll have these newer hardware interfaces (whatever you mean by it) just the same. It’s not about how much money it costs to maintain the Nios infrastructure, its about how much they’ll save by adding(!) an extra CPU to support. Somewhat aside: most FPGA IP development of Intel happens in Malesia, so don’t assume US salaries… But if you estimate it at $10M-$50M, shall we agree that writing “billions” was more than a bit over the top? Intel will save a tiny bit on not having to maintain a custom GNU toolchain. That’s about it.
- fucksamsung 5y agoCOMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE COMPILE DANCE
- tverbeure 5y agoIntel compares the performance to a Nios II/e (it's 4x faster!), but at 6 cycles/instruction, no multiplier, one bit per clock shifter (IOW: no barrel shifter), the II/e is about the worst little CPU you can imagine. It will be interesting to see how it compares against the VexRiscv, an open source RISC-V CPU that's quite popular in the FPGA world with excellent performance (at ~1 Dhrystone MIPS/MHz it's roughly double that of the Nios V) for a very little resources. An incomprehensible decision is to make the Nios V only support uncompressed 32-bit instructions. This is a CPU that will live inside an FPGA and that will often be paired with a single FPGA block RAM to store instructions and data. By not including 16-bit compressed instructions, they'll add some 30% bloat to the code. A major negative of Intel's offering is that the Nios V is only available for the Pro version of Intel's Quartus toolchain. The biggest benefit of the Nios V is that its debugger logic will seamlessly integrate with Intel FPGA's virtual JTAG infrastructure. This means that, as long as you stay within Intel's development ecosystem, embedded SW debugging should be a breeze. With other CPUs, there are additional hoops to make that work. (I wrote about that here: https://tomverbeure.github.io/2021/07/18/VexRiscv-OpenOCD-and-Traps.html https://tomverbeure.github.io/2021/07/18/VexRiscv-OpenOCD-an...)
- ChuckMcM 5y agoYeah, this was weird: A major negative of Intel's offering is that the Nios V is only available for the Pro version of Intel's Quartus toolchain. I mean people can import the VexRISCV verilog and get a faster and better chip for "free" so where does Intel think the value add is here? It is quite curious. Now it would be interesting if they made hard-logic versions to compete with say the Cortex-M series from ARM or something but this seems like it isn't in the cards.
- tverbeure 5y agoIf the middling performance and lack of compressed instructions aren't an issue, then the automatic BSP generation, the Platform Builder integration, and the debugger ease of use can be a pretty strong arguments. The Nios II/e was good enough for many slow control tasks.
- tlamponi 5y agoIn semi-related news: Initial RISC-V KVM (think fast virtual machines) support for Linux has been pulled by the KVM Maintainer and queued for inclusion in the 5.16 release. [0]: https://lore.kernel.org/kvm/82568eff-1eff-5e63-4264-ef0c25f79fc3@redhat.com/T/#t https://lore.kernel.org/kvm/82568eff-1eff-5e63-4264-ef0c25f7...
- unwind 5y agoMeta: I have nothing against FPGA development news, but I really with the title included the word "Soft" instead of just calling it a processor.
- marcodiego 5y agoHope they don't infect it with IME.