What are the main differences between the E310 and the previous generation E300 cores? And the performance improvements (Coremark and Dhrystone) are due to what features? Thanks.
I believe the cores are basically the same, but implemented on different devices. The E300 is for implementation on the Xilinx “Arty” FPGA fabric, and the E310 is implemented on the ASIC chip produced by SiFive. The difference in performance stems from the different hardware, i.e. FPGA vs. ASIC.
Anyone correct me if I am wrong.
Thanks for the question and sorry for the confusion!
Our intention is that E300 is a more generic name, analogous to “E3xx”. The Freedom E300 platform name indicates RV32 (Thats the 300), no Supervisor mode (that’s the E). The other two digits indicate presence of FPU, size of performance enhancing features, etc. In general the higher the number the more performant the core, the lower the number the more area-efficient the core. In contrast, the U500 Platform is 64-bit and has Supervisor mode.
The FE310-G000 is a chip which is a specific instance of the E300 Platform. The Arty Dev Kit allows you to try out lots of different E300 variations, which is why we often refer to it as the “E300 Arty Dev Kit”, but the MCS files we release are labeled as E310, because they come from the same source as the FE310-G000 chip.
That being said, we have some cleanup to do to avoid future confusion with the naming, so thanks for pointing this out!