以下文章來源于OpenFPGA,作者碎碎思
FPGA 和 MCU 結(jié)合的開發(fā)板不多,而 Pico2?ICE 則把小巧、靈活和易上手完美結(jié)合。搭載 RP2350 雙核 RISC-V MCU + Lattice iCE40UP5K FPGA,配合官方 SDK,你可以一步步跑通各種示例,從 LED 到 VGA,再到 MCU 與 FPGA 協(xié)作應(yīng)用。
下面就來詳細看看 官方 SDK 的實際歷程。
官方歷程地址:
https://github.com/tinyvision-ai-inc/pico2-ice
零、硬件
硬件開源地址(暫無Pico2):
https://github.com/tinyvision-ai-inc/pico-ice
https://pico2-ice.tinyvision.ai/
一、準備開發(fā)環(huán)境
克隆 SDK 倉庫
gitclonehttps://github.com/tinyvision-ai-inc/pico-ice-sdk.git cdpico-ice-sdk git submodule update --init
選擇目標板
官方 SDK 支持 pico_ice 和 pico2_ice,構(gòu)建時通過 cmake 指定:
mkdir build &&cdbuild cmake -DPICO_BOARD=pico2_ice ..
編譯示例
make -j8
生成 .uf2 文件后,直接拖入 Pico2-ICE 板子,即可燒錄。
類比:就像拿到房子鑰匙后,把家具和燈都搬進去。
二、LED 閃爍示例:FPGA 入門
進入 examples/led_blink,這是最基礎(chǔ)的 FPGA 示例。
核心 Verilog:
module top( input clk, output reg led ); reg [23:0] counter; always @(posedge clk) begin counter <= counter + 1; ? ? ? ??if(counter == 24'd0) ? ? ? ? ? ? led <= ~led; ? ? end endmodule
操作歷程:
編譯生成 bitstream。
用 MicroPython 或 TinyUF2 拖拽燒寫到 FPGA。
上板觀察 LED 閃爍。
小結(jié):讓新手從零感受 FPGA 的硬件邏輯跑起來的過程。
三、串口回環(huán)示例:MCU 與 FPGA 協(xié)作
歷程步驟:
MCU 通過 USB?CDC 接口收數(shù)據(jù)。
MCU 將數(shù)據(jù)通過 SPI 或內(nèi)存共享傳給 FPGA。
FPGA 將數(shù)據(jù)原樣送回 MCU。
Python 演示代碼:
import serial ser = serial.Serial('COM3', 115200) ser.write(b"Hello Pico2-ICE") print(ser.read(16)) # 接收 FPGA 回傳的數(shù)據(jù)
功能效果:發(fā)送一句話,立即被回顯,驗證 MCU FPGA 橋接邏輯。
四、VGA 彩條示例:FPGA 直接驅(qū)動外設(shè)
在 examples/vga_colorbar:
歷程步驟:
FPGA 生成行列計數(shù)信號。
根據(jù)計數(shù)輸出 RGB 信號。
連接 VGA 顯示器即可看到彩條畫面。
簡化 Verilog:
always @(posedge clk) begin if(hcount == HMAX) begin hcount <= 0; ? ? ? ??if(vcount == VMAX) vcount <= 0; ? ? ? ??else?vcount <= vcount + 1; ? ? end?else?begin ? ? ? ? hcount <= hcount + 1; ? ? end end
五、MicroPython 控制 FPGA
官方 SDK 提供 examples/micropython_fpga,使用 MicroPython 調(diào)用 ice 模塊加載 bitstream:
from machine import Pin import ice fpga = 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 開始加載。
加載完成后可直接執(zhí)行邏輯。
六、USB?SPI 示例:外部數(shù)據(jù)橋接
在 examples/pico_usb_spi,可以把 USB 數(shù)據(jù)通過 SPI 傳給 FPGA 內(nèi)部模塊,支持 SRAM、Flash 操作。
歷程步驟:
MCU 收到 USB 命令。
FPGA 接收 SPI 數(shù)據(jù)并寫入內(nèi)部 RAM。
MCU 讀取結(jié)果,完成回傳。
總結(jié)
Pico2-ICE + 官方 SDK 的歷程,提供了從 硬件跑燈 → MCU FPGA 通信 → 外設(shè)驅(qū)動 → MicroPython 控制 的完整體驗。
新手可以從 LED 和串口回環(huán)入手,逐步嘗試 VGA 彩條和 MicroPython 控制。老玩家則可以快速驗證 FPGA + MCU 協(xié)作原型。
-
FPGA
+關(guān)注
關(guān)注
1650文章
22204瀏覽量
626684 -
mcu
+關(guān)注
關(guān)注
147文章
18375瀏覽量
378582 -
接口
+關(guān)注
關(guān)注
33文章
9257瀏覽量
155403 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5990瀏覽量
109922
原文標題:Pico2?ICE FPGA 開發(fā)板:從開箱到跑通示例的全歷程
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
pico-ice:RP2040 plus Lattice iCE40UP5K FPGA 開發(fā)板 介紹
【LuckFox Pico Plus開發(fā)板免費試用】+開發(fā)板初體驗
【LuckFox Pico 開發(fā)板免費試用】開箱初體驗
【LuckFox Pico 開發(fā)板免費試用】+ 系統(tǒng)燒寫
Altium推出智能FPGA開發(fā)板NanoBoard 300
樹莓派Pico開發(fā)板硬件擴展接口及電源模塊解析

利用FPGA開發(fā)板進行ASIC原型開發(fā)的技巧
米爾ARM+FPGA架構(gòu)開發(fā)板PCIE2SCREEN示例分析與測試

評論