使用的是STEMlab 125-14,又称火龙果板。记录一下通过Vivado结合火龙果板完成Helloworld的历程,即点亮了其中一个小灯泡。
主要参考资料为官网:Redpitaya官网.
火龙果开发板配有一个STEMlab 125-14,一根网线,一根电源线,四种电源插头,一个4g大小的SD卡和一个网卡(Adapter),外观如下:
安装Vivado
其实在Windows10中使用Vivado生成的bit文件烧录进去也可以,但是官网中的示例是以Ubuntu18.04为例演示的,用Windows10会有些不同,这里也以Ubuntu18.04.6为例。
错误示范:一开始我装的Ubuntu16.04,然后装Vivado2020.2,结果打开示例工程时显示版本冲突(示例工程是用Vivado2020.1写的),在点击综合时就报错了;于是我卸载了Vivado2020.2,安装Vivado2020.1,结果显示Vivado2020.1不支持Ubuntu16.04.7,没有splash screen显示界面,无法安装。然后,我又下载Vivado2020.1的gz压缩包,大小30多g,结果安装到一半空间不够(给了虚拟机80g)。最后不得不重新安装Ubuntu18.04.6。
1. 下载Vivado2020.1
下载链接: Vivado Design Suite 2020.1 - HLx Editions - Linux Self Extracting Web Installer。
可以注册一个Xilinx账号,免费下载Vivado和后面注册Web版本许可证。
2. 安装Vivado
打开终端,进去Downloads文件夹(如果下载在其他文件夹则相应打开),执行下面两句语句。第一句使得文件可执行,第二句执行bin文件安装。
chmod +x ./Xilinx_Unified_2020.1_0602_1208_Lin64.bin
sudo ./Xilinx_Unified_2020.1_0602_1208_Lin64.bin
正常安装就行,注意填入刚刚注入的Xilinx账号和密码。
三个都勾上Agree。
安装版本选择Vivado HL WebPACK。
安装哪些板块根据自己需要。
安装到/opt/Xilinx文件夹下。
开始安装。
3. 许可证文件
注册了Xilinx账号后,点击contact now进行生成lic文件,如果没有反应就点击save link as,再打开存的html文件,生成的lic文件放在Downloads文件夹下。点击左侧Load License,将刚刚的lic文件选中即可完成许可认证。
通过Vivado进行FPGA编程
首先在github上下载工程文件, 链接.。
1. 创建工程
cd Downloads/
cd RedPitaya/
cd fpga/
. /opt/Xilinx/Vivado/2020.1/settings64.sh
make project PRJ=v0.94 MODEL=Z10
将inout改成output。
注释掉这一行。
把这段代码写到最后的部分。
reg [27:0]counter = 28'd0;
reg led = 1'b0;
always @ (posedge adc_clk) begin
counter = counter+1;
if (counter == 28'd256000000) begin // 256e6 periods of clock of 128 MHz
led = ~led; // led will blink with a period of 2 sec
counter = 28'd0; // start again
end
end
assign led_o[0] = led; // assign the register to the led output
合成、实现、生成比特流文件。
2. 烧写比特流文件
通过SSH连接火龙果板并以root用户进入,rw设置可读可写。
ssh root@your Red Pitaya IP
redpitaya> rw
在另一个终端进入生成比特流文件的目录下,impl_1,再用scp命令把.bit文件复制到火龙果的/tmp文件夹下。
cd Downloads/RedPitaya/fpga/prj/v0.94/project/repitaya.runs/impl_1
scp red_pitaya_top.bit root@your Red Pitaya IP:/tmp
在已经连接火龙果的终端下进入/tmp文件夹,使用cat命令把比特流文件拷到/dev/xdevcfg里,这样就实现了烧写。
redpitaya> cd /tmp
redpitaya> ls
redpitaya> cat /tmp/red_pitaya_top.bit >/dev/xdevcfg
最后结果如下: