FPGA 和 MCU 結合的開發板不多,而 Pico2?ICE 則把小巧、靈活和易上手完美結合。搭載 RP2350 雙核 RISC-V MCU + Lattice iCE40UP5K FPGA,配合官方 SDK,你可以一步步跑通各種示例,從 LED 到 VGA,再到 MCU 與 FPGA 協作應用。
下面就來詳細看看 官方 SDK 的實際歷程。

官方歷程地址:
https://github.com/tinyvision-ai-inc/pico2-ice
零、硬件
硬件開源地址(暫無Pico2):
https://github.com/tinyvision-ai-inc/pico-ice
https://pico2-ice.tinyvision.ai/


一、準備開發環境
克隆 SDK 倉庫
git?clone?https://github.com/tinyvision-ai-inc/pico-ice-sdk.git
cd?pico-ice-sdk
git submodule update --init
選擇目標板
官方 SDK 支持 pico_ice 和 pico2_ice,構建時通過 cmake 指定:
mkdir build &&?cd?build
cmake -DPICO_BOARD=pico2_ice ..
編譯示例
make -j8
生成 .uf2 文件后,直接拖入 Pico2-ICE 板子,即可燒錄。
類比:就像拿到房子鑰匙后,把家具和燈都搬進去。
二、LED 閃爍示例:FPGA 入門
進入 examples/led_blink,這是最基礎的 FPGA 示例。
核心 Verilog:
module top(input clk,output reg led
);reg [23:0] counter;always @(posedge clk) begincounter <= counter + 1;if(counter == 24'd0)led <= ~led;end
endmodule
操作歷程:
編譯生成 bitstream。
用 MicroPython 或 TinyUF2 拖拽燒寫到 FPGA。
上板觀察 LED 閃爍。
小結:讓新手從零感受 FPGA 的硬件邏輯跑起來的過程。
三、串口回環示例:MCU 與 FPGA 協作
進入 examples/pico_usb_uart:
歷程步驟:
MCU 通過 USB?CDC 接口收數據。
MCU 將數據通過 SPI 或內存共享傳給 FPGA。
FPGA 將數據原樣送回 MCU。
Python 演示代碼:
import serialser = serial.Serial('COM3', 115200)
ser.write(b"Hello Pico2-ICE")
print(ser.read(16)) ?# 接收 FPGA 回傳的數據
功能效果:發送一句話,立即被回顯,驗證 MCU ? FPGA 橋接邏輯。
四、VGA 彩條示例:FPGA 直接驅動外設
在 examples/vga_colorbar:
歷程步驟:
FPGA 生成行列計數信號。
根據計數輸出 RGB 信號。
連接 VGA 顯示器即可看到彩條畫面。
簡化 Verilog:
always @(posedge clk) beginif?(hcount == HMAX) beginhcount <= 0;if(vcount == VMAX) vcount <= 0;else?vcount <= vcount + 1;end?else?beginhcount <= hcount + 1;end
end
五、MicroPython 控制 FPGA
官方 SDK 提供 examples/micropython_fpga,使用 MicroPython 調用 ice 模塊加載 bitstream:
from machine import Pin
import icefpga = ice.fpga(cdone=Pin(40), clock=Pin(21), creset=Pin(31),cram_cs=Pin(5), cram_mosi=Pin(4), cram_sck=Pin(6), frequency=48)
with open("bitstream.bin",?"br") as f:fpga.start()fpga.cram(f)
操作歷程:
通過 Python 打開 bitstream。
FPGA 開始加載。
加載完成后可直接執行邏輯。
六、USB?SPI 示例:外部數據橋接
在 examples/pico_usb_spi,可以把 USB 數據通過 SPI 傳給 FPGA 內部模塊,支持 SRAM、Flash 操作。
歷程步驟:
MCU 收到 USB 命令。
FPGA 接收 SPI 數據并寫入內部 RAM。
MCU 讀取結果,完成回傳。
總結
Pico2-ICE + 官方 SDK 的歷程,提供了從 硬件跑燈 → MCU ? FPGA 通信 → 外設驅動 → MicroPython 控制 的完整體驗。
新手可以從 LED 和串口回環入手,逐步嘗試 VGA 彩條和 MicroPython 控制。老玩家則可以快速驗證 FPGA + MCU 協作原型。