3 ms·
A softcore is a CPU to run on an FPGA. Microwatt fits in a Lattice ECP5 FPGA with 85,000 LUTs (plus some block ram). Not sure how you'd get to transistors from
by mkj 3y ago
A softcore is a CPU to run on an FPGA.
Microwatt fits in a Lattice ECP5 FPGA with 85,000 LUTs (plus some block ram). Not sure how you'd get to transistors from that, wild guess times by 15 maybe? (But then the FPGA also has other special hardware blocks intended for interfacing with DDR RAM and other things, so those would be more as well).
You can see how the Power instruction decode is implemented https://github.com/antonblanchard/microwatt/blob/master/decode1.vhdl#L74 https://github.com/antonblanchard/microwatt/blob/master/deco...
- robinsonb5 3y ago> A softcore is a CPU to run on an FPGA. It's also an unwise search term on the web. Ask me how I know! The big thing that complicates figuring out a transistor count for a soft CPU core is that FPGAs have hardware multipliers, which would be pretty big if you had to build them yourself.
- mlyle 3y agoTimes 10-20 is a good way to get to gates from LUT4 (and some number of flip-flops). In turn, multiply by 4 to get transistors. Of course, this is all very approximate.
- RetroTechie 3y ago> Microwatt fits in a Lattice ECP5 FPGA with 85,000 LUTs There goes "tiny"...
- adrian_b 3y agoThat is indeed a small FPGA. There are big FPGAs that cost many thousands of $. Medium-size FPGAs, which may cost a few hundreds of $, have a few hundred thousand LUTs. An evaluation board for the medium-to-small ECP5 FPGA is $100.
- Farmadupe 3y agoFWIW, 85k 4-input luts is huge by the standards of any softcore with "micro" in the name. It comfortably surpasses the capacity of most of the Actel aerospace FPGAs that I tend to work with. And I think it's so "micro" that the majority of all of Lattice's FPGAs wouldn't fit it either. And the Lattice ECP5 is advertised with 85k LUTs, which would seemingly limit its use to edification as instantiating this softcore would consume the entire chip. For any other purpose if you wanted a chip that was only a CPU, you would buy a CPU.
- adrian_b 3y agoThe Lattice ECP5 must have been just an example, because in the Github repository there is another example about how to run Linux on it on a 33000 logic cell Artix FPGA board, so I assume that the core must take significantly less than 30000 cells. Any PowerPC core, even a relatively small one like this, is much more powerful than the soft cores that are used in FPGAs when minimum size is desired. There are also a few other bigger open-source POWER cores, which can be used for higher performance.
- Farmadupe 3y ago...could be named for how much space is left after that soft core has been instantiated.
- ajb 3y ago>A softcore is a CPU to run on an FPGA. Technically it's a core that's supplied as RTL (code). There's nothing stopping you using it in custom silicon instead of on an FPGA. Whereas a "hard IP" core is already compiled down to a specific technology and can only be used there. It's possible for a hard macro to be for an FPGA, but it would be for a specific product line. A "hard macro" for custom silicon would be specific to a particular fab process.