联合开发或者跑多策略工程的时候,一般都使用多核的服务器进行FPGA设计。这个时候如果板卡在本地电脑上应该怎么进行调试呢?
( j3 ]$ [( ^* ?$ l3 C4 y
今天就简单讲讲《如何在服务器上调试本地FPGA板卡?》。
! _8 K1 F B$ |+ @1 h
6 H8 e: T$ A* p. c
b5 ~, `0 g- b. R$ Z5 M+ j
+ `' d+ j% N3 |9 e" |
: p) u6 l( I* Q; r' u
简介
# f1 l" B4 h+ U) k$ y
# F: ^2 V9 p' T. a O! d( x
Vivado 可以在功能更强大的服务器上远程运行,同时可以在本地PC上连接的 FPGA 板卡上进行开发调试。在此配置中,服务器和工作站必须安装相同版本的 Vivado(不同版本未测试)。在 Windows (本地PC)中,可以使用 MobaXterm 或类似的替代方案。在 Linux (服务器)中,open-ssh 可以工作。本地电脑和服务器应位于同一局域网中。在本地PC上,启动 Vivado HLS 命令提示符并在启动后键入“hw server”。一旦实现设计并生成比特流,用户将启动 Vivado HW管理器。首次使用时,输入工作站 IP 地址。就应该找到连接到本地板卡的 FPGA。之后的调试不需要重复连接。
1 \3 A' t( a' h' p6 J* G2 E* I5 N' ^
本教程使用 Xilinx Kintex-7 FPGA KC705 评估套件,如图 1 所示。
, D1 R+ J+ b4 x6 G: Y
4 C9 w5 A, \8 A, l4 `0 f" e9 j图一 KC705 评估套件
2 \# B8 ]+ v3 l, e2 l+ |0 `
详细步骤
n& c9 e' U. m; d8 W8 w) P
本地PC通过JTAG连接 FPGA 板卡,然后启动硬件服务器(启动 Vivado Tcl Shell 或 Vivado HLS 命令提示符,输入“hw server”并按 Enter 键)。这将在本地PC上启动 Vivado 的硬件服务器。硬件服务器启动后就允许局域网内其他 Vivado 通过网络连接到该计算机上的FPGA板卡。参见图 2。
1 d" m& ~* v; C
1 B4 s3 s/ ^9 \1 F* ? f1 F, ?
3 X) h8 X2 R) U, z: \5 c
图二 本地PC上运行的 Vivado 硬件服务器
) }! h- F; R* r* X. p i% x
6 H3 d9 i. \6 `2 K
运行服务器上Vivado
# \8 B0 _. X3 ~0 l) i& \
要远程运行服务器上的Vivado,可以通过SSH或者VNC连接到服务器。
2 s. B( s! q1 h% v9 Z8 B: L. D$ c E
* ^2 E3 I. M0 M+ J
4 F3 A+ N/ c g5 x6 P. d0 a# k2 C
9 M( b! C0 E1 N b* D$ J- u( {! n
图三 转发到本地PC的 Vivado 窗口
) M+ F9 P8 d. ?: y7 l# |
3 Q- ?5 Q* [) M' |1 B& e
FPGA板卡的编程和调试
5 h3 V! O7 W" @% r3 g; q
$ h9 i: o) z% g1 f" g3 d% F! j
现在 Vivado 已远程运行,最后一步是对 FPGA 板卡进行编程和调试。Vivado 的硬件服务器应用程序必须按照上述说明在本地PC上运行。FPGA 还应通过其 JTAG 端口插入本地PC上。
+ k: t5 {9 F Y0 l: p* S
打开 Vivado 中的硬件管理器,照常选择“Open target”。如果这是第一次设置连接,转到“Open New Target...”,而不是经常使用的自动连接。然后将打开一个新菜单。
& D9 E6 C( [' |, U
! k0 R' j' M" \* N) G
9 ?: m* r( w2 o7 |9 }/ g H8 Q7 [2 \! O0 b# Q
单击“下一步”,然后将“Connect to:”选项设置为“Remote server远程服务器”。设置本地PC的IP地址。端口号保留为默认值即可。
6 }( L8 C# Z+ K8 n0 x( i
& y7 G Z: g" p! ^6 b
1 n3 I/ `, \9 ~
单击“下一步”尝试连接到 FPGA。这应该需要几秒钟的时间才能识别连接到本地PC上的 FPGA 板卡,如下图所示。选择,点击“Next”,然后“Finish”。
) L5 q8 g5 s2 T @
* {# m/ x$ I$ v' T
5 a, S5 d* |5 ]$ E3 k/ g
如果以前在相同配置中使用过该板卡,直接使用Recent Targets,之前的配置应该保存在列表中。如下图所示。
, O+ s0 e7 j" }* r, M
$ F/ v- `- l4 I' P# W/ q
6 U2 M1 `% `2 z# {! T. Z
如下图所示连接后,即可正常使用 Vivado。FPGA 器件可以使用 ILA 内核进行编程和调试,就像在本地PC上操作一样,同时获得更强大的服务器处理器的综合和实现优势。
# R6 U4 [$ H2 k$ ^