RVfpga:了解 FPGA 上的 RISC-V 架構和實施

網路研討會報名:

註冊

網路研討會錄影:

待設定

總結

加入 DigiKey,深入了解 RISC-V 處理器核心的內部工作原理以及在目標(Xilinx)FPGA 裝置中實施 RISC-V 處理器軟體核心的方法。RVfpga 網路研討會涵蓋了下一代程式設計師和工程師需要掌握的 RISC-V 潛力的基礎知識。 DigiKey 很榮幸與 Imagination Technologies 合作,成為本次網路研討會的贊助方,研討會的主講人是 Sarah Harris 教授(UNLV)。網路研討會的參與者將學習以下內容:

  • 將商用 RISC-V 核心和系統單晶片(SoC)定向到 FPGA
  • 程式設計 RISC-V SoC
  • 在 RISC-V SoC 增加更多功能
  • 分析和修改 RISC-V 核心和記憶體層次結構

完成 RVfpga 網路研討會後,參與者將對商業 RISC-V 處理器、SoC 和生態系統形成紮實的理解。

如果你無法參加直播網路研討會,請務必註冊,我們將在結束後向你發送會議錄影!本次網路研討會將僅以英語進行。

講者

Sarah L. Harris
內華達大學拉斯維加斯分校電子與電腦工程副教授

Sarah L. Harris 是內華達大學拉斯維加斯分校的電子與電腦工程副教授。 她在史丹佛大學獲得了碩士和博士學位。 在 2014 年加入內華達大學拉斯維加斯分校之前,她曾是哈維默德學院的教職員(2004-2014)。 她也曾任職於惠普、英偉達和達姆施塔特工業大學,並與西南研究所、英特爾和 Imagination Technologies 等公司進行合作。 她是三本廣受歡迎的教科書的合著者:《Digital Design and Computer Architecture, 2nd Edition》(2007年)、《ARM Edition》(2015年)和《RISC-V Edition》(2021年)。 Harris 博士目前也領導或共同領導兩項由美國國家科學基金會資助的關於智慧城市和在 STEM 教育中整合家庭支持的計畫。 她的研究興趣包括電腦體系結構、嵌入式系統和機器學習在生物醫學工程和機器人技術中的應用。

軟體

VSCode 下載Visual Studio Code - Mac、Linux、Windows
Git:Git - 下載
PlatformIO 擴充程式(VSCode內)一個專業的嵌入式開發協作平台 · PlatformIO
Digilent 開發板檔案:檔案下載
Zalidg - USB驅動程式安裝程式 網站-下載

Vivado 下載

Vivado 下載 – Windows

Vivado 下載 – Linux

Vivado 設置

  • Vivado HL WebPACK
    image

  • Nexys A7開發板驅動程式(可選)

Vivado 安裝 Digilent 開發板文件

Vivado → 工具 → 設定:

硬體

Nexys A7-100T Artix-7 系列 FPGA 評估板

指南

指南:培訓和教學資源 - Imagination 大學項目

論壇:Imagination 大學計畫論壇 – Imagination 大學項目

網路研討會問答環節(Q&A)

在無需進行合成和實施設計的情況下,PlatformIO 是如何做到直接在 NEXYS A-7 上建立位元流的?

  • 我們提供了基準 SoC 的位元流,可供你直接使用。 我們還提供了 SoC 的源代碼,便於你在 Vivado 中進行構建,如需了解詳細資料,請參見實驗課5。

好的,但如何使用 PlatformIO 更新基準 SoC 上的新指令記憶體內容?

  • 我們在 PlatformIO 上安裝了由 Chips Alliance 提供的平台,其中包含工具鏈 - openocd。

如何存取這些實驗課文件? 它們會發佈在 Github 上嗎?

貴方是否會提供 RVfpga 的原始碼? 還是只提供位元流?

  • 兩者都提供。

從現在起一個月內是否會支援 Basys3 開發板?

  • 我們暫時未有確實的時間,但應該會在接下來的幾個月內提供支援。 請直接聯絡我們,我們會分享更多細節。

網路研討會標題是誤導人,會議與 RISC-V 架構完全無關,只是展示如何使用開發板! 簡直是浪費時間!

  • 非常抱歉,大約在會議進行到一半的時候,Sarah 將介紹如何為核心附加 CPU 指令並與通風設備配合運作。

關於問答環節:簡報結束後是否會提供投影片資料?

  • 會,我們將在今天的網路研討會結束後提供會議錄影和投影片。

假設我有一個類似 Nexys7(Arty7)的開發板,並且非常熟悉 Vivado,那麼編輯開發環境以支援我的可用開發板是否容易?

  • 你好,你的開發板上使用的是哪一種 FPGA? 設計大約佔用 A100-T 的55%…(A35-T 可能太小了)。 問題是 SoC 可能不適合 FPGA。 我們近期將提供一個更小的基於 EL2 的 RVfpga 版本,適用於 Basys 3 或 Arty A7。

A100-t

  • 我也有那種開發板,也希望在上面運行 RVFpga……我不太確定還缺少什麼,需要花很多時間來研究。

這課程提供遠距嗎?

看不到更新的投影片了。

  • 如果螢幕卡住了,請刷新瀏覽器。

有關編譯器呢?講義材料中會有提供嗎?

  • 這實際上是 gcc,透過 PlatformIO 提供。

imgtec 的超連結無效,怎麼辦?

是否包含位元指令?

  • 它們不包含在 EH1 中,但我們在實驗課 18 中提供了練習,要求使用者加入位元指令。

我可以在 VS Code 中使用 C++ 嗎?

  • 使用 gcc-RISC-V 工具鏈可支援 C++。

我能在目前的 STM32 晶片上使用嗎?

  • 很遺憾,不能…要運行此版本的 RVFpga,你需要使用 FPGA。

我以為 RISC-V 的硬體程式碼是 VHDL,而不是 Verilog? 你只是把它當作工具使用嗎?

  • SweRV EH1 和 SweRVolf(也就是 RVfpga 的基礎)是用 Verilog 寫的。

Gshare BP 是否會產生時間成本,還是可與執行並行?

  • BP 是 Fetch 階段的一部分。

我可以假設 Visual Studio IDE 有一個設定文件,對嗎? 我總是會花很多時間來解決這些設定問題。

  • 在這種情況下,我們可以使用 Platformio 來完成此設計的專案設定工作。

2020 版上會出現哪些問題? 無法編譯? 還是其他配置變數不匹配等?

  • 有人已經在 2020(某個版本)上進行了測試,證實了可行性,只需進行一處細微的更改即可,有關詳細說明請參閱 Imagination 論壇。

是否可以關閉字幕?

  • 我們今天不提供關閉字幕。

是否大家都遇到了連線問題?

  • 嗨,我們其他系統上的播放一切正常。 你可以嘗試刷新瀏覽器窗口,看看是否有幫助。

是否可以使用除了 Nexys A7 之外的 FPGA 開發板?

  • 可以,不過 Sarah 會在問答環節中詳細介紹!

Digilent Basys3 開發板可以使用嗎? 這是與 Nexys 相似的開發板。

  • 目前,這需要使用 A100T 一半以上的資源,35T 可能有些困難…

你們使用的 C 編譯器是什麼? gcc 還是 LLVM 後端?

  • 目前,platfomio 使用的是 gcc。

這些實驗課可以下載嗎? 我找到了一些可用的實驗課程工具,但沒有看到實驗課 RVfpga:了解 FPGA上的 RISC-V 架構和實施

RISC-V 的本機匯流排是什麼?

  • SweRV EH1 包含 AXI4 和 AHB 匯流排。 在 RVfpga 中,我們使用 AXI4,並使用 Wishbone 來連接週邊。

請問我在本科最後一年的畢業課程可以使用 RISC-V 做些什麼?

  • 任何需要處理後台任務的項目都可以,例如觸控螢幕、與其他裝置進行介面連接、系統監控等。 FPGA 最適合用於平行運算任務。

能簡要介紹一下如何進行觸控螢幕處理器專案嗎?

  • 網路上已經有很多這樣的專案了,涵蓋了許多處理器類型,很可能也包括 RISC-V。 透過搜尋引擎很容易找到這些項目。

這開發板是特定的嗎? 例如我們能不能將此範例轉移到其他開發板上,例如 Nexys 200T?

  • 這完全取決於目標裝置上的資源可用性。 比較一下 FPGA 與 Nexys A7 上的裝置。 如果 200T 上的裝置更大,那麼應該可以轉移。

對於所使用的建議開發板,完全實作處理器需要使用多少資源?

  • 目前的實施佔用了 Nexys A7 Artix-7 FPGA 的 50%。 如添加其他功能,可能會佔用更多的資源。

不好意思,您剛剛說使用的是 Wishbone 匯流排,而不是使用 AXI 匯流排,是嗎?

  • 我們的核心使用的是 AXI4 匯流排,週邊使用的是 Wishbone 匯流排。

有幾個問題,我有點困惑。這似乎只是非常基本的嵌入式 RISC C/ASM 程式設計。 FPGA 是在什麼時候運作的? VHDL 是什麼時候使用的?

  • 實驗課 1-4 是關於 C/ASM 程式設計的。 實驗課 6-10 是關於使用和增加週邊的,這需要存取 Verilog 程式碼。 實驗課 11-20 是分析修改處理器,也需要存取 Verilog 程式碼。

在討論虛擬調試和提到使用 VMWare 時,是否必須使用 VMWare,還是可以使用 VirtualBox 來託管虛擬機器?

在下載和運行 RVFPGA 時,是否必須與學術機構有關? 個人可以自行註冊嗎?

  • 不需要,只要是最終用戶就好。 所有提交內容均由 Imagination 的兩個使用者審核。 雖然問題主要與教育有關,但他們完全能理解。

RISC-V 的指令集是由 32 位元和 16 位元指令組成,類似 Cortex-M 處理器? 還是只包含 32 位元指令?

  • 包括 32 位和 16 位指令。

是否可以建立新指令或修改現有指令? 是否所有內容都是開源的?

  • 是的,所有內容都是開源的。 實驗課 18 展示了新增指令的方法。

能拼寫一下您剛剛提到的安裝板的名稱嗎?

與矽基 RISCV 相比,在 FPGA 上使用虛擬 RISCV 的優勢是什麼?

  • 你可以檢視和分析 SoC,還可以更改 SoC(使用其他配置,擴充微體系結構,加入週邊等)。

為什麼選擇使用 SweRV 核心而不是具有 3 或 5 個管線的簡化核心?

  • SweRV EH1 是一個非常強大的核心,包含了有趣的微體系結構特性。 我們計劃以 EL2 為基礎添加一個具有 4 個流水線的較小版本的 RVfpga。

如何存取這些資料? 教學材料是否可以透過「培訓和教學資源 - Imagination大學計畫」下載?

  • 是的,可以在那裡下載,但需要進行註冊。有兩位 Imgtec 開發人員會人手批准存取請求…

下載 imgtec 大學教材需要先申請註冊,並提供包括項目細節和人數等詳細資料,為什麼需要這些?

  • Imgtec 一般希望大學教授使用這些材料來建構課程。 只要誠實回答,兩位 Imgtec 用戶會批准請求的,我們完全理解這對普通開發人員來說似乎有些奇怪。

您好,只能使用 Verilog 語言嗎?

  • 是的。

是所有 20 個實驗課都可以訪問,還是只有第一部分?

  • 整個項目,包括全部 20 個實驗課都可以存取。

RVFpga 核心能夠在 Artix7 FPGA 上以多大的時脈速度運作?

  • 我們使用 50MHz 的時脈。

Imagination Technologies 如何透過開發此核心獲利? 透過銷售培訓嗎? 很難弄清其中的緣由及其可持續性。

  • RVFpga 其實是「新型」SGX 核心中使用的 IP…Imagination Technologies 認為支援 RISC-V 可以創造更多使用其 IP 的機會。

是否會提供參與證書?

  • 感謝詢問。 本網路研討會不提供證書。

RVFPGA 課程是否對在職工程師開放? 如果是,可以在哪裡參加?

無法取得存取權限。 頁面中到處都是「大學」字樣。

  • 只需填寫為最終用戶即可…該頁面主要面向大學,但其實由 imgtec 的兩名開發人員負責進行批准…

是否提供可在大學課程中使用 rvfpga 材料的許可證?