Lattice iCE40 UltraPlus 转接板的基础入门演示。这款开发板定位入门级 FPGA 开发,同时性能强大,能够满足多种应用场景的需求,套件内还配备了用于连接电脑主机的 USB 数据线。
在本次演示中,我们将展示如何使用 APIO 机制在 Linux 主机上开发该板卡。正如我们之前提到的,APIO 本质上是一个封装工具,它为 yosys、nextpnr、icepack 等工具提供了一个非常易用的操作界面。
第一步:安装 APIO
首先,在 Linux 主机上安装 APIO。按如下步骤创建一个 Python 虚拟环境:
使用以下命令安装 apio:
DigiKey_Coffee_Cup (venv) # pip install apio
安装所有 APIO 工具包:
DigiKey_Coffee_Cup (venv) # apio install -a
启用 ftdi 驱动程序:
DigiKey_Coffee_Cup (venv) # apio drivers --ftdi-enable
验证安装是否成功,检查版本:
DigiKey_Coffee_Cup (venv) # apio --version
若安装无误,终端会输出 APIO 的当前版本号。
第二步:编写代码与配置
在项目文件夹中保存以下 Verilog HDL 演示代码 blink.v。这是一个计数器程序,用于让 Lattice iCE40 UltraPlus 转接板上的绿色 LED 灯闪烁:
module rgb_test (input clk, output led_green);
localparam N = 21;
reg [N:0] counter;
always @(posedge clk) counter <= counter + 1;
assign led_green = counter[N];
endmodule
在文件夹中定义项目配置文件 apio.ini:
;APIO configuration file
[env:default]
board = ice40-up5k
top-module = rgb_test
最后,为该板卡创建引脚定义文件 up5k.pcf:
set_io -nowarn clk 35
set_io -nowarn led_green 40
第三步:构建与烧录
APIO 提供了一系列功能命令。在本次演示中,我们将使用最基础的命令。首先是使用 lint 验证 Verilog 代码:
DigiKey_Coffee_Cup (venv) # apio lint
这会检查 HDL 语法错误。如果没有错误,则开始构建项目:
DigiKey_Coffee_Cup (venv) # apio build
现在,使用套件自带的 USB 线将 Lattice iCE40 UltraPlus 转接板连接到 Linux 计算机,然后上传(烧录)项目:
DigiKey_Coffee_Cup (venv) # apio upload
程序烧录完成后, Lattice iCE40 UltraPlus 转接板上的绿色 LED 灯将进入高频闪烁状态。
至此,基于 APIO 工具链开发 Lattice iCE40 UltraPlus 转接板的流程演示完毕。APIO 还提供了多种测试类功能,可满足更多开发需求。
Lattice iCE40 UltraPlus 转接板是一款高性价比的 FPGA 开发板,板载原型开发区域,适用场景丰富,目前可在 DigiKey(得捷电子)平台选购。

