/
2025-01-31 Extension Logic Interface Workshop (ordinary meeting) Notes

2025-01-31 Extension Logic Interface Workshop (ordinary meeting) Notes

Date

Jan 31, 2025

Disclosures

RVI_Disclosures_Female_Short.mp4

Participants

Name

Affiliation

Name

Affiliation

Jan Gray

Individual

Darius Rad

Bluespec

Jerry Zhao

UC Berkeley

Christian Herber

NXP

Andreas Koch

TU Darmstadt

Florian Meisel

TU Darmstadt

Mihaela Damian

TU Darmstadt

Guy Lemieux

Individual

Al Martin

Akeana

Anton Kuzmin

Individual

Christopher Dunn

 

Ciarian Lappin

Microchip

Cyril Koenig

ETH Zurich

David Donofrio

Tactical Computing Labs

Domingo Benitez

ULPGC

Juan

 

Liulu

 

Navaneeth Kunhi Purayil

ETH Zurich

Nick Brown

EPCC

Prasanth Mundkur

RISC-V International

Shing Wai Pun

 

Shinichi

 

Agenda and Presentations Slides

  • 7:00a: Introduction

  • 7:05a: Jerry Zhao, UC Berkeley, RoCC (20 mins + 5 mins Q&A)

  • 7:30a: Christian Herber, NXP, CV-X-IF

  • 7:55a: Andreas Koch, TU Darmstadt, SCAIE-V

  • 8:20a: Jan Gray, Individual, CXU-LI

  • 8:45a: All, Discussion and synthesis (up to 75 mins)
    (again)

  • 10:00a: End

Meeting Recordings / Transcripts

  • Meeting video recording (2h35m): YouTube video.

  • Zoom meeting video recording website (2h35m): Zoom meeting link.

  • Zoom meeting transcript (VTT, raw)

  • Zoom meeting transcript (lightly edited)

Discussion

During the “compare & contrast” open discussion segment of the meeting we considered (or tabled for later) these general aspects of the various extension logic interfaces:

  1. How much of the extension hardware & software is fixed at system and/or software build-time and how much occurs at runtime?

  2. What support for arbitrary, or fixed, custom instruction encodings? What are the implications of the interface on the ISA?

  3. Where does pipeline scheduling & hazard detection go?

  4. Value of "modular composability“? Stable CPU & CXU RTL? Does the processor core and/or the extension unit core change when combined together?

  5. What is the state model? How are multiple harts within a core handled? Can software on a thread access multiple state contexts of the same extension?

  6. What support for R or W access to hart state? (X? F? V? CSRs? Memory? Control flow? Exceptions?)

  7. Behavior of shared memory accesses by custom instructions?

  8. Support for composition of custom extensions?

  9. Simplicity vs. complexity / support for optional or "pay as you go" capabilities?

  10. What system topologies? 1 CPU :: 1 CXU, or clusters, or many :: NoC :: many?

  11. Reuse and verification ecosystem?

  12. Might you bridge one interface to another?

  13. What is the support for speculative execution? For out-of-order execution?

  14. What support for dynamically (at run-time) changeable extensions?

Notes & Action Items


Standard_2.png

Related content

2025-01-27 Ordinary Meeting Notes
2025-01-27 Ordinary Meeting Notes
Read with this
2025-02-14 Ordinary Meeting Notes
2025-02-14 Ordinary Meeting Notes
More like this
Participation and Voting Rights
Participation and Voting Rights
Read with this
Ratification Plan Milestone Review
Ratification Plan Milestone Review
More like this

RISC-V International