FW: [riscv/riscv-platform-specs] RVM platform requirements (#25)


Greg Favor
 

On Mon, Jun 28, 2021 at 2:03 PM Kumar Sankaran <ksankaran@...> wrote:

Is it realistic to require RV32G in order to comply with the RVM platform? It seems like a more natural choice would be RV32IMAF, as RV32D is pretty heavy on the floating-point for small microcontrollers (most Cortex-M devices don't even have double precision support in hardware, that's only available in the M55 and M7).


Keep in mind the distinction between RVM ISA profile specs and M platform specs.  I would expect that the M platform spec would require the RVM ISA profile spec.  But all the individual FP and C extensions are "Optional" in RVM20 and RVM22.  The M profile specs generally take the approach of setting a low "Required" bar and specify many extensions as supported but "Optional".

So the M 2022 platform spec can either simply accept that through its requirement for RVM22, or it can add on requirements for the F and C extensions (and possibly some other extensions).  Essentially the M platform spec can choose to require everything that constitutes RV32GC/RV64GC, or to stop a bit short (e.g. not requiring D), or stop way short.

I don't have a horse in this race, but I can imagine there being people on both sides of the argument as to whether the M platform spec should require more than what is required in the M profile spec, and if so how much more.

Greg


Kumar Sankaran
 

Forwarding to tech mailing list.

 

Regards

Kumar

From: Torbjørn Viem Ness <notifications@...>
Sent: Monday, June 28, 2021 1:34 PM
To: riscv/riscv-platform-specs <riscv-platform-specs@...>
Cc: Subscribed <subscribed@...>
Subject: [riscv/riscv-platform-specs] RVM platform requirements (#25)

 

Great initiative!
I do however have questions about the requirements for the RVM platform, specifically the 32-bit version;

Is it realistic to require RV32G in order to comply with the RVM platform? It seems like a more natural choice would be RV32IMAF, as RV32D is pretty heavy on the floating-point for small microcontrollers (most Cortex-M devices don't even have double precision support in hardware, that's only available in the M55 and M7).

Also the C extension would make sense to include as embedded applications are quite sensitive to code size, but that's probably a different discussion worthy of its own issue...


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.