Remix.run Logo
dmitrygr 12 hours ago

For anyone else curious: custom FPGA-based CPU code but not a custom architecture. This is an RV32I core. The article takes along time to give up this fact.

kryptiskt 10 hours ago | parent | next [-]

Deciding on an ISA like RV32I only sets constraints on your architecture, it doesn't give you any of it for free. So I think it's entirely valid to say that it's a custom architecture if they didn't use any pre-existing CPU design.

Basically, they had the API interface and implemented everything behind it. I think saying that "it's an RV32I core" vastly underrates the design work that goes into actually implementing an RV32I core from scratch.

Dylan16807 9 hours ago | parent | next [-]

Making a particularly good core is hard. Making a core to the minimum risc-v spec is what you do in a single college course. It's what the ISA was designed for.

voidUpdate 10 hours ago | parent | prev | next [-]

It's a custom implementation of an existing architecture

ahartmetz 8 hours ago | parent | next [-]

It's common to call the instruction set just "architecture", or ISA (instruction set architecture) to be more precise. The implementation is commonly called "microarchitecture".

speed_spread 7 hours ago | parent | prev [-]

RV32I doesn't define any architecture, it's just an ISA i.e. a software contract that happens to be implementable in hardware. The CPU could run on outer space goop and still be RV32I.

Brian_K_White 2 hours ago | parent [-]

"RV32I doesn't define any architecture, it's just an ISA."

My friend...

speed_spread an hour ago | parent [-]

You are right, 'A' stands for Architecture. _Instruction Set_ Architecture that is. Not CPU architecture. I should have been more clear:

> RV32I doesn't define the hardware architecture

FTFM - satisfied?

dmitrygr 10 hours ago | parent | prev [-]

The *architecture* is RV32I_Zmmul which is unambiguously neither new nor custom.

What you describe (the specific implementation details of a core) is *microarchitecture*. In this case clearly a lot of work was done and it is cool, but the *architecture* is indeed RV32I and not custom

I was not undermining anything. I was helping others find the info I sought and took a while to find. This is why i left my comment. Everyone has their own interests. As an example, my thoughts were "whoa... a new architecture... did they write a new compiler or rewrite doom in assembly?" and for that "it is rv32i" would have been a quick answer.

zuzululu 11 hours ago | parent | prev | next [-]

thanks for saving me the time but it is pretty cool to see i'd love to learn more about fpga my goal is to run very old rare consoles

ahk-dev 9 hours ago | parent | prev [-]

[dead]