【PicoRV32】RISC-V學習筆記:從PicoRV32到SoC實戰

部署运行你感兴趣的模型镜像

施工中!!! 持續更新

文件結構規劃(4~5 頁)

第 1 頁:學習背景與目標

  • 背景簡述

    • 學習動機

    • 為什麼選擇 PicoRV32 與 PicoSoC 作為學習對象

  • 學習目標

    • 理解 RISC-V 指令集(RV32I/M/C/E)

    • 熟悉 CPU 與外設互連(native memory interface、AXI4-Lite、Wishbone)

    • 實作與驗證 SoC firmware + testbench 流程

  • 工具環境

    • GNU RISC-V toolchain (riscv32-unknown-elf-)

    • Icarus Verilog、GTKWave

    • Makefile 驅動編譯與模擬

    • Vivado(若有 FPGA 實測)


第 2 頁:PicoRV32 架構與關鍵模組

  • PicoRV32 核心特色【可用表格呈現】

    功能說明
    ISARV32IMC(可配置)
    介面Native Memory / AXI4-Lite / Wishbone
    中斷系統內建 32 路 IRQ,支援 q-register 快速中斷
    協處理器PCPI(支援 MUL/DIV 擴展)
    可配置參數ENABLE_IRQ、COMPRESSED_ISA、TWO_CYCLE_ALU...

  • 重要檔案

    • picorv32.v → CPU 主體 RTL

    • custom_ops.S → 自訂 IRQ/Timer 指令

    • start.S → 啟動與中斷處理流程

    • irq.c → C 語言中斷處理

  • IRQ 處理流程圖(可畫出 q0 保存 PC、q1 保存 IRQ mask、IRQ handler 儲存暫存器的流程)


第 3 頁:PicoSoC 系統架構

  • PicoSoC 架構圖

    • PicoRV32 核心

    • SRAM / ROM

    • SPI Flash 映射

    • Memory-mapped I/O

  • Memory Map 範例

    位址範圍功能
    0x0000_0000 ~ 0x0000_FFFFSRAM
    0x1000_0000 ~ 0x1000_00FFUART
    0x2000_0000 ~ ...GPIO

  • 模擬與外設互動

    • 使用 firmware 寫入 UART、GPIO 驗證 SoC


第 4 頁:Firmware 與 Build 流程

  • Firmware 開發流程

    1. 編寫 C/ASM 程式(hello.c, irq.c, start.S

    2. 使用 GNU toolchain 編譯 → .elf

    3. makehex.py 轉為 .hex

    4. Testbench 載入 .hex 進行模擬

  • Linker Script(riscv.ld / sections.ld)作用

    • .text.data.bss 段落配置

    • 起始位址設定(如 0x10000)

  • Testbench 驗證項目

    • 指令正確性(riscv-tests)

    • IRQ 觸發與回應

    • 記憶體存取與外設讀寫


第 5 頁:學習成果與心得

  • 成果

    • 完整分析 PicoRV32 與 PicoSoC 架構

    • 實作中斷服務程式與多檔案 firmware

    • 建立可重複的模擬與編譯流程

  • 技術收穫

    • 深入理解 RISC-V 指令集與硬體實作對應

    • 熟悉 SoC 記憶體配置與外設映射

    • 掌握從 C/ASM 程式到 Verilog 硬體模擬的流程

  • 未來應用

    • 延伸至自訂外設設計

    • 與 FPGA 實測結合


 

  1. 文字 + 圖表 搭配(架構圖、流程圖、表格),讀起來更容易。

  2. 關鍵字粗體(如 IRQ, PCPI, AXI4-Lite)方便快速掃讀。

  3. 每頁都有小結,讓不必看完整份文件就能抓重點。

  4. 最後一頁加 技術關鍵字索引,。


正文開始

一、學習背景與目標

背景簡述

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值