Microsemi AC490 RTG4 FPGA:構建 Mi-V 處理器子系統
修訂歷史
修訂歷史記錄描述了文件中實施的變更。變更按修訂版列出,從最新出版物開始。
修訂版3.0
以下是此次修訂中所做更改的摘要。
- 更新了 Libero SoC v2021.2 的文檔。
- 更新了第 1 頁圖 3 到第 3 頁圖 5。
- 替換了第 4 頁的圖 5、第 5 頁的圖 7 和第 18 頁的圖 17。
- 更新了第 2 頁的表 6 和第 3 頁的表 7。
- 添加了附錄 1:使用 FlashPro Express 對器件進行編程,第 14 頁。
- 添加了附錄 3:運行 TCL 腳本,第 20 頁。
- 刪除了對 Libero 版本號的引用。
修訂版2.0
以下是此次修訂中所做更改的摘要。
- 在設置硬件(第 9 頁)中添加了有關 COM 端口選擇的信息。
- 在第 11 頁的運行演示中更新瞭如何選擇合適的 COM 端口。
修訂版1.0
該文件的首次發布。
構建 Mi-V 處理器子系統
Microchip 提供 Mi-V 處理器 IP、32 位 RISC-V 處理器和軟件工具鏈,用於開發基於 RISC-V 處理器的設計。 RISC-V 是一種由 RISC-V 基金會管理的標准開放式指令集架構 (ISA),具有眾多優勢,包括使開源社區能夠以比封閉式 ISA 更快的速度測試和改進內核。
RTG4® FPGA 支持 Mi-V 軟處理器運行用戶應用程序。 本應用筆記介紹瞭如何構建 Mi-V 處理器子系統以從指定的結構 RAM 或 DDR 存儲器執行用戶應用程序。
設計要求
下表列出了運行演示的硬件和軟件要求。
表 1 • 設計要求
軟體
- Libero® 片上系統 (SoC)
- FlashPro 快遞
- 軟件控制台
筆記: 參考readme.txt file 在設計中提供 file用於此參考設計的軟件版本。
筆記: 本指南中顯示的 Libero SmartDesign 和配置屏幕截圖僅用於說明目的。
打開 Libero 設計以查看最新更新。
先決條件
開始之前:
- 下載並安裝 Libero SoC(如 web此設計的站點)從以下位置在主機 PC 上: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
- 用於演示設計 filel 下載鏈接: http://soc.microsemi.com/download/rsc/?f=rtg4_ac490_df
設計說明
RTG4 μPROM 的大小為 57 KB。 不超過 μPROM 大小的用戶應用程序可以存儲在 μPROM 中並從內部大型 SRAM 存儲器 (LSRAM) 中執行。 超過 μPROM 大小的用戶應用程序必須存儲在外部非易失性存儲器中。 在這種情況下,需要從 μPROM 執行的引導加載程序使用來自非易失性存儲器的目標應用程序來初始化內部或外部 SRAM 存儲器。
該參考設計展示了引導加載程序將目標應用程序(大小為 7 KB)從 SPI 閃存複製到 DDR 存儲器並從 DDR 存儲器執行的能力。 引導加載程序從內部存儲器執行。 代碼部分位於μPROM中,數據部分位於內部大型SRAM(LSRAM)中。
筆記: 有關如何構建 Mi-V 引導加載程序 Libero 項目以及如何構建 SoftConsole 項目的更多信息,請參閱 TU0775:PolarFire FPGA:構建 Mi-V 處理器子系統教程
圖 1 顯示了設計的頂層框圖。
圖 1 • 頂層框圖
如圖 1 所示,以下幾點描述了設計的數據流:
- Mi-V 處理器從 μPROM 和指定的 LSRAM 執行引導加載程序。 引導加載程序通過 CoreUARTapb 塊與 GUI 交互並等待命令。
- 當從 GUI 接收到 SPI 閃存編程命令時,引導加載程序使用從 GUI 接收到的目標應用程序對 SPI 閃存進行編程。
- 當從 GUI 接收到引導命令時,引導加載程序將應用程序代碼從 SPI 閃存複製到 DDR,然後從 DDR 執行它。
時鐘結構
設計中有兩個時鐘域(40 MHz 和 20 MHz)。 板載 50 MHz 晶體振盪器連接到生成 40 MHz 和 20 MHz 時鐘的 PF_CCC 塊。 40 MHz 系統時鐘驅動整個 Mi-V 處理器子系統,μPROM 除外。 20 MHz 時鐘驅動 RTG4 μPROM 和 RTG4 μPROM APB 接口。 RTG4 μPROM 支持高達 30 MHz 的時鐘頻率。 DDR_FIC 被配置為 AHB 總線接口,其運行頻率為 40 MHz。 DDR 內存以 320 MHz 的頻率運行。
圖 2 顯示了時鐘結構。
圖 2 • 時鐘結構
重置結構
POWER_ON_RESET_N 和 LOCK 信號進行與運算,輸出信號 (INIT_RESET_N) 用於復位 RTG4FDDRC_INIT 塊。 釋放 FDDR 復位後,FDDR 控制器被初始化,然後 INIT_DONE 信號被置位。 INIT_DONE 信號用於重置設計中的 Mi-V 處理器、外設和其他模塊。
圖 3 • 復位結構
硬件實現
圖 4 顯示了 Mi-V 參考設計的 Libero 設計。
圖 4 • SmartDesign 模塊
筆記: 本應用筆記中顯示的 Libero SmartDesign 屏幕截圖僅用於說明目的。 打開 Libero 項目以查看最新的更新和 IP 版本。
IP 區塊
圖 2 列出了 Mi-V 處理器子系統參考設計中使用的 IP 塊及其功能。
表 2 • IP 塊1
所有 IP 用戶指南和手冊均可從 Libero SoC -> Catalog 獲得。
RTG4 μPROM 最多可存儲 10,400 個 36 位字(374,400 位數據)。 在器件編程後,它僅支持正常器件操作期間的讀取操作。 MIV_RV32_C0 處理器內核包括指令獲取單元、執行流水線和數據存儲系統。 MIV_RV32_C0 處理器內存系統包括指令緩存和數據緩存。 MIV_RV32_C0 內核包括兩個外部 AHB 接口——AHB 內存 (MEM) 總線主控接口和 AHB 內存映射 I/O (MMIO) 總線主控接口。 高速緩存控制器使用 AHB MEM 接口重新填充指令和數據高速緩存。 AHB MMIO 接口用於對 I/O 外設進行非緩存訪問。
AHB MMIO接口和MEM接口的內存映射分別是0x60000000到0X6FFFFFFF和0x80000000到0x8FFFFFFF。 處理器的複位向量地址是可配置的。 MIV_RV32_C0 的複位是低電平有效信號,必須通過復位同步器與系統時鐘同步取消斷言。
MIV_RV32_C0 處理器使用 AHB MEM 接口訪問應用程序執行內存。 CoreAHBLite_C0_0 總線實例配置為提供 16 個從插槽,每個插槽大小為 1 MB。 RTG μPROM 存儲器和 RTG4FDDRC 塊連接到該總線。 μPROM 用於存儲引導加載程序應用程序。
MIV_RV32_C0 處理器將地址 0x60000000 和 0x6FFFFFFF 之間的數據事務定向到 MMIO 接口。 MMIO 接口連接到 CoreAHBLite_C1_0 總線,以與連接到其從插槽的外設進行通信。 CoreAHBLite_C1_0 總線實例配置為提供 16 個從插槽,每個插槽大小為 256 MB。 UART、CoreSPI 和 CoreGPIO 外設通過 CoreAHBTOAPB1 橋和 CoreAPB0 總線連接到 CoreAHBLite_C3_3 總線。
記憶體映射
表 3 列出了存儲器和外設的存儲器映射。
表 3 • 內存映射
軟體實施
參考設計 file包括包含以下軟件項目的 SoftConsole 工作區:
- 引導程式
- 目標應用
引導程式
引導加載程序應用程序在器件編程期間在 μPROM 上編程。 引導加載程序實現以下功能:
- 使用目標應用程序對 SPI 閃存進行編程。
- 將目標應用程序從 SPI 閃存複製到 DDR3 內存。
- 將程序執行切換到 DDR3 內存中可用的目標應用程序。
引導加載程序應用程序必須從以 LSRAM 作為堆棧的 μPROM 執行。 因此,鏈接描述文件中的 ROM 和 RAM 地址分別設置為 μPROM 和指定 LSRAM 的起始地址。 代碼部分從 ROM 執行,數據部分從 RAM 執行,如圖 5 所示。
圖 5 • 引導加載程序鏈接描述文件
鏈接器腳本 (microsemi-riscv-ram_rom.ld) 可在
設計的SoftConsole_Project\mivrv32im-bootloader文件夾 files.
目標應用
目標應用程序使板載 LED 1、2、3 和 4 閃爍並打印 UART 消息。 目標應用程序必須從 DDR3 內存執行。 因此,鏈接描述文件中的代碼和堆棧部分被設置為 DDR3 存儲器的起始地址,如圖 6 所示。
圖 6 • 目標應用程序鏈接描述文件
鏈接描述文件 (microsemi-riscv-ram.ld) 位於設計的 SoftConsole_Project\miv-rv32imddr-application 文件夾中 files.
設置硬件
以下步驟描述瞭如何設置硬件:
- 使用 SW6 開關確保電路板已斷電。
- 連接RTG4開發套件上的跳線,如下表所示:
表 4 • 跳線跳線 銷自 固定到 評論 J11、J17、J19、J23、J26、J21、J32 和 J27 1 2 預設 J16 2 3 預設 J33 1 2 預設 3 4 - 使用 USB 電纜將主機 PC 連接到 J47 連接器。
- 確保自動檢測到 USB 到 UART 橋接驅動程序。 這可以在主機 PC 的設備管理器中進行驗證。
- 如圖7所示,COM13的端口屬性顯示它連接的是USB Serial Converter C,因此本例選擇COM13amp樂。 COM 端口號是系統特定的。
圖 7 • 設備管理器
筆記: 如果未安裝 USB 轉 UART 橋接驅動程序,請從以下位置下載並安裝驅動程序 www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip. - 將電源連接到 J9 連接器並打開電源開關 SW6。
圖 8 • RTG4 開發套件
運行演示
本章介紹了使用參考設計對 RTG4 設備進行編程、使用目標應用程序對 SPI 閃存進行編程以及使用 Mi-V 引導加載程序 GUI 從 DDR 存儲器引導目標應用程序的步驟。
運行演示涉及以下步驟:
- 對 RTG4 設備進行編程,第 11 頁
- 運行 Mi-V 引導加載程序,第 11 頁
對 RTG4 設備進行編程
可以使用 FlashPro Express 或 Libero SOC 對 RTG4 設備進行編程。
- 使用作業對 RTG4 開發套件進行編程 file 作為設計的一部分提供 file如果要使用 FlashPro Express 軟件,請參閱附錄 1:使用 FlashPro Express 對設備進行編程,第 14 頁。
- 要使用 Libero SoC 對設備進行編程,請參閱附錄 2:使用 Libero SoC 對設備進行編程,第 17 頁。
運行 Mi-V 引導加載程序
成功完成編程後,請執行以下步驟:
- 運行 setup.exe file 可在以下設計 file位置。
<$下載目錄>\rtg4_ac490_df\GUI_Installer\Mi-V Bootloader_Installer_V1.4 - 按照安裝嚮導安裝引導加載程序 GUI 應用程序。
圖 9 顯示了 RTG4 Mi-V 引導加載程序 GUI。
圖 9 • Mi-V 引導加載程序 GUI - 選擇連接到 USB 串行轉換器 C 的 COM 端口,如圖 7 所示。
- 單擊連接按鈕。 連接成功後,紅色指示燈變為綠色,如圖 10 所示。
圖 10 • 連接 COM 端口 - 單擊“導入”按鈕並選擇目標應用程序 file (。垃圾桶)。 導入後的路徑 file 顯示在 GUI 上,如圖 11 所示。
<$下載目錄>\rtg4_ac490_df\Source_files
圖 11 • 導入目標應用程序 File - 如圖 11 所示,單擊 Program SPI Flash 選項以在 SPI Flash 上編程目標應用程序。 如圖 12 所示,在對 SPI 閃存進行編程後會顯示一個彈出窗口。單擊“確定”。
圖 12 • SPI 閃存編程 - 選擇 Start Boot 選項將應用程序從 SPI Flash 複製到 DDR3 內存並開始從 DDR3 內存執行應用程序。 從 DDR3 內存成功啟動目標應用程序後,應用程序打印 UART 消息並使板載用戶 LED1、2、3 和 4 閃爍,如圖 13 所示。
圖 13 • 從 DDR 執行應用程序 - 應用程序從 DDR3 內存運行,演示到此結束。 關閉 Mi-V 引導加載程序 GUI。
使用 FlashPro Express 對器件進行編程
本節介紹如何使用編程作業對 RTG4 設備進行編程 file 使用 FlashPro Express。
要對器件進行編程,請執行以下步驟:
- 確保板上的跳線設置與UG3的表0617中列出的相同:
RTG4 開發套件用戶指南。 - 或者,當使用外部 FlashPro32、FlashPro2 或 FlashPro3 編程器時,跳線 J4 可以設置為連接引腳 5-6,而不是使用嵌入式 FlashPro5 的默認跳線設置。
筆記: 進行跳線連接時,電源開關 SW6 必須關閉。 - 將電源線連接到電路板上的 J9 連接器。
- 打開電源開關 SW6。
- 如果使用嵌入式 FlashPro5,將 USB 電纜連接到連接器 J47 和主機 PC。
或者,如果使用外部編程器,則將帶狀電纜連接到 JTAG 接頭 J22 並將編程器連接到主機 PC。 - 在主機 PC 上,啟動 FlashPro Express 軟件。
- 單擊新建或從項目菜單中選擇 New Job Project from FlashPro Express Job 創建一個新的作業項目,如下圖所示。
圖 14 • FlashPro Express 作業項目 - 在來自 FlashPro Express 作業的新建作業項目對話框中輸入以下內容:
- 編程工作 file:單擊瀏覽,然後導航到 .job 所在的位置 file 位於並選擇 file. 默認位置是: \rtg4_ac490_df\Programming_Job
- FlashPro Express 作業項目位置:單擊瀏覽並導航到所需的 FlashPro Express 項目位置。
圖 15 • 來自 FlashPro Express 作業的新作業項目
- 單擊確定。 所需的編程 file 被選中並準備在設備中進行編程。
- FlashPro Express 窗口如下圖所示。 確認程序員編號出現在程序員字段中。 如果沒有,請確認電路板連接並單擊 Refresh/Rescan Programmers。
圖 16 • 對設備編程 - 單擊運行。 當設備燒錄成功後,會顯示 RUN PASSED 狀態,如下圖所示。
圖 17 • FlashPro Express——運行通過 - 關閉 FlashPro Express 或單擊“項目”選項卡中的“退出”。
使用 Libero SoC 對設備進行編程
參考設計 files 包括使用 Libero SoC 創建的 Mi-V 處理器子系統項目。 可以使用 Libero SoC 對 RTG4 設備進行編程。 Libero SoC 項目從綜合、佈局佈線、時序驗證、FPGA 陣列數據生成、更新 μPROM 存儲器內容、比特流生成、FPGA 編程完全構建和運行。
Libero設計流程如下圖所示。
圖 18 • Libero 設計流程
要對 RTG4 設備進行編程,必須在 Libero SoC 中打開 Mi-V 處理器子系統項目,並且必須重新運行以下步驟:
- 更新 uPROM 存儲器內容:在此步驟中,μPROM 使用引導加載程序應用程序進行編程。
- 比特流生成:在這一步中,工作 file 為 RTG4 設備生成。
- FPGA 編程:在這一步中,使用作業對 RTG4 設備進行編程 file.
請依照下列步驟操作:
- 從 Libero Design Flow 中,選擇 Update uPROM Memory Content。
- 使用“添加”選項創建客戶端。
- 選擇客戶端,然後選擇編輯選項。
- 從中選擇內容 file 然後選擇 Browse 選項,如圖 19 所示。
圖 19 • 編輯數據存儲客戶端 - 導航到以下設計 files 位置並選擇 miv-rv32im-bootloader.hex file 如圖20所示。<$Download_Directory>\rtg4_ac490_df
- 設定 File 鍵入 Intel-Hex (*.hex)。
- 選擇使用項目目錄中的相對路徑。
- 按一下“確定”。
圖 20 • 導入內存 File
- 按一下“確定”。
μPROM 內容已更新。 - 雙擊 Generate Bitstream,如圖 21 所示。
圖 21 • 生成比特流 - 雙擊 Run PROGRAM Action 對器件進行編程,如圖 21 所示。
RTG4 器件已編程。 請參閱運行演示,第 11 頁。
運行 TCL 腳本
設計中提供TCL腳本 fileTCL_Scripts 目錄下的 s 文件夾。 如果需要,可以重現設計流程,從設計實施到作業生成 file.
要運行 TCL,請按照以下步驟操作:
- 啟動自由人軟件。
- 選擇項目 > 執行腳本…。
- 單擊瀏覽並從下載的 TCL_Scripts 目錄中選擇 script.tcl。
- 單擊運行。
成功執行 TCL 腳本後,將在 TCL_Scripts 目錄中創建 Libero 項目。
有關 TCL 腳本的更多信息,請參閱 rtg4_ac490_df/TCL_Scripts/readme.txt。
有關 TCL 命令的更多詳細信息,請參閱 Libero® SoC TCL 命令參考指南。 接觸
運行 TCL 腳本時遇到的任何問題的技術支持。
Microsemi 對此處包含的信息或其產品和服務對任何特定目的的適用性不作任何保證、陳述或保證,Microsemi 也不承擔因應用或使用任何產品或電路而產生的任何責任。 在此銷售的產品和 Microsemi 銷售的任何其他產品都經過了有限的測試,不應與任務關鍵型設備或應用程序一起使用。 任何性能規格都被認為是可靠的,但未經驗證,買方必須單獨、與任何最終產品一起或安裝在任何最終產品中進行並完成產品的所有性能和其他測試。 買方不得依賴 Microsemi 提供的任何數據和性能規格或參數。 買方有責任獨立確定任何產品的適用性並對其進行測試和驗證。 Microsemi 在此提供的信息是“按原樣、在哪裡”提供的,並且存在所有錯誤,與此類信息相關的全部風險完全由買方承擔。 Microsemi 沒有明確或暗示地向任何一方授予任何專利權、許可或任何其他知識產權,無論是關於此類信息本身還是此類信息所描述的任何內容。 本文檔中提供的信息是 Microsemi 的專有信息,Microsemi 保留隨時對本文檔中的信息或任何產品和服務進行任何更改的權利,恕不另行通知。
關於 Microsemi
Microsemi 是 Microchip Technology Inc.(納斯達克代碼:MCHP)的全資子公司,為航空航天和國防、通信、數據中心和工業市場提供全面的半導體和系統解決方案組合。 產品包括高性能和抗輻射模擬混合信號集成電路、FPGA、SoC和ASIC; 電源管理產品; 計時和同步設備和精確的時間解決方案,設定世界時間標準; 語音處理設備; 射頻解決方案; 分立元件; 企業存儲和通信解決方案、安全技術和可擴展的反tamp呃產品; 以太網解決方案; 以太網供電 IC 和中跨; 以及定制設計能力和服務。 了解更多信息 www.microsemi.com.
微半導體總部
一個企業,Aliso Viejo,
CA 92656美國
美國境內:+1 800-713-4113
美國境外:+1 949-380-6100
銷售額:+1 949-380-6136
傳真:+1 949-215-4996
電子郵件: sales.support@microsemi.com
www.microsemi.com
©2021 Microsemi,Microchip Technology Inc. 的全資子公司。保留所有權利。 Microsemi 和 Microsemi 徽標是 Microsemi Corporation 的註冊商標。 所有其他商標和服務標記均為其各自所有者的財產
文件/資源
![]() |
Microsemi AC490 RTG4 FPGA:構建 Mi-V 處理器子系統 [pdf] 使用者指南 AC490 RTG4 FPGA 建構 Mi-V 處理器子系統, AC490 RTG4, FPGA 建構 Mi-V 處理器子系統, Mi-V 處理器子系統 |