I used to have a formally verified correct RISC-V core. With the release of v2.3 it will be out of spec. What happened to no backwards incompatible changes after v2.0? What happened to spike is the executable golden reference? It's all lies..
-
Show this thread
-
Rocket of course used to be out of spec up to and including v2.2 of the spec. Starting with v2.3 rocket will magically be in spec and every other implementation that did it correct before will suddenly be in violation of the spec. Nothing matters.
2 replies 6 retweets 2 likesShow this thread -
For what it's worth:https://groups.google.com/a/groups.riscv.org/forum/#!topic/isa-dev/oT1r-owKicY …
2 replies 0 retweets 4 likesShow this thread -
Replying to @oe1cxw
Just a side issue: I believe you have “no incompatible changes” backwards. The goal is for old software to work on new CPUs, not for old CPUs to run new software. Reserved opcodes are always intended to be able to be used in later specs, not illegal forever.
1 reply 0 retweets 0 likes -
Replying to @BruceHoult
What you mean is for new extensions. E.g. RV32I code should run on an RV32IM machine. But within an extension backward compatibility goes both ways. If I make a RV32I core now it should be able to execute RV32I code generated by a compiler 10 years from now.
2 replies 0 retweets 0 likes -
Replying to @oe1cxw
I don’t think that’s true. v3 RV32I can include opcodes not present in v2 RV32I. You’ll need to tell your future compiler to restrict itself to v2 opcodes.
1 reply 0 retweets 0 likes -
Replying to @BruceHoult
A jump from v2 to v3 may do that. That's because RV32I2 and RV32I3 are different ISAs, thus have different ISA subset names. But 2.2 and 2.3 are both RV32I2 and they may only differ in resolving ambiguities and holes. That is the promise given by the foundation to implementers.
1 reply 0 retweets 0 likes -
-
Replying to @BruceHoult
It's literally on the first page of the spec. :)pic.twitter.com/sl9AQ2Wwp2
2 replies 0 retweets 0 likes -
Replying to @oe1cxw
There are a very small number of RISC-V cores in the wild. They are either FPGA (malleable), deeply embedded (code will never change), or SiFive. The impact of even an incompatible change right now would be small. Not so in a year or two.
1 reply 0 retweets 0 likes
The whole reason for freezing the ISA is to encourage more implementations. Making changes to the frozen ISA is counterproductive. Especially if it is such a pretty thing.
-
-
Replying to @oe1cxw
I totally agree. And working around some minor imperfection in the spec is better than having incompatible versions.
0 replies 0 retweets 1 likeThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.