Conversation

Jarkko Sakkinen

Edited 1 year ago

Some learnings of RISC-V, at least from CVA6 perspective:

  1. If there is any SATP or PTE sync issue, sprinkle first sfence.vma together with fence.i. It is not optimal but usually ensures stability. Once things are functionally together sync points can be reduced.
  2. Might be CVA6 specific issue but I’ve sometimes had issues with W PTE’s created without having also D, causing odd crashes. So again, I’ve taken the habit of first binding these together and later on reduce.

I’ve yet use ASIC boards, have only used FPGA so far and development versions of CPU’s. I guess these sort of fail-safe practices are more important in early development

#riscv #fpga #note

1
0
0

Jarkko Sakkinen

Edited 1 year ago
I like in RISC-V that it is pretty fast to build kernel alike environments for S-mode because it has the cleanest state transformations I've seen so far in any CPU, It is a "unikernel first" CPU architecture. And different subsets of the specification scale from CPU cores to application cores, such as GPU cores as demonstrated recently: https://www.tomshardware.com/pc-components/cpus/imagination-and-ventana-to-build-a-risc-v-cpu-gpu-platform
2
1
2

Jarkko Sakkinen

Edited 1 year ago
My SATP and PTE issues might have been just ignorance. I've learned the ISA so far almost purely by trial and error. Should look at the spec but it is good to learn to swim first...
0
0
0
@hasheddan The only thing I've read with thought is your "RISC-V Bytes" series. Salute and huge appreciation for writing those! Sound stuff.
1
1
1

@jarkko appreciate the kind words! Hoping to continue the series, feel free to reach out if you have any suggestions for topics I haven’t covered!

0
0
1