FPGA远程烧录bit流
Vivado支持远程编译并下载bit流到本地xilinx开发板。具体操作就是在连接JTAG的远程电脑上安装hw_server.exe。比如硬件板在实验室或者是其他地方,开发代码与工程在本地计算机,如何将bit流烧录到实验室或者远程开发板?
vivado IDE具备了远程访问开发板的功能。vivado提供了一个远程烧录的服务hw_server.exe,实际上,可以把hw_server.exe理解为一个映射本地xilinx设备到tcp上的中转工具,通讯端口默认为3121,hw_server界面打开如下:
也就是说我们远程的开发板与电脑无需下载完整版本的vivado,只需要安装hw_server.exe。那么本地电脑中的vivado如果能够访问到实验室连接了开发板的电脑的3121端口,通过hw_server.exe通信,从而获取远程设备,vivado远程连接界面如下:
还有个问题,首次安装hw_server.exe不带驱动,无法识别xilinx板卡。这样,vivado即使能远程连接到实验室电脑的hw_server进程,但是却显示无设备,此时只需要在远程电脑安装一个驱动——install_digilent.exe即可识别xilinx器件。安装vivado 与科学使用开发工具,大家自行网上搜寻,这边主要说一下如何寻找hw_server.exe与install_digilent.exe。
本地电脑的完整vivado安装目录下, 将“Vivado\2018.3\bin\unwrapped\win64.o”里的hw_server.exe和“Vivado\2018.3\data\xicom\cable_drivers\nt64\digilent” 里的install_digilent.exe远程传输至实验室电脑,完成IP映射工具与驱动安装。后重启远程电脑,连接好JTAG,给FPGA上电,并打开hw_server.exe即可。在本地vivado起始页open hardwell manager-> open target-> open new hardware target,输入远程电脑IP,端口默认3121,即可连接多个开发板。后面program device,即可找到本地FPGA工程生成的bit与ltx文件。
需要注意的是,由于所有命令和数据传输都将通过互联网执行,所有任务(如开发板编程、查看 ILA 数据等)耗时可能都比本地环境更长。
当远程电脑不需要访问共享开发板时需要正确终止hw_server应用,否则可能导致打开其它“硬件管理器 (Hardware Manager)”实例和连接到其它器件时出现问题。
在 Windows 上:
打开命令提示符 (CMD) 并运行以下命令:
netstat -aon | find “3121”
此命令将查找正在侦听端口 3121 的所有进程。找到 hw_server 应用的进程 ID (PID)。在本例中,PID 为 xxxxx。将此 PID 用于以下命令。
taskkill /F /PID xxxxx
在 Linux 上:
打开终端ternimal并运行以下命令:
ps aux | grep hw_server
此命令将查找描述中包含 hw_server 名称的所有进程。或者也可以使用以下命令:
pidof hw_server
用kill命令即可终止进程:kill -9 xxxxx