fpga xvc 调试实现,支持多端口同时调试多颗FPGA芯片
xilinx 推荐的实现结构方式如下:
通过一个ZYNQ运行xvc服务器,然后通过zynq去配置其他的FPGA,具体参考设计可以参考手册xapp1251,由于XVC运行的协议是标准的TCP协议,这种方式需要ZYNQ运行TCP协议,也就需要运行操作系统,可移植性差;
本方案考虑到XVC协议本身是非常简单的协议,V1.0加一起就3条指令,可以将XVC服务器运行在PC机上,QT直接运行即可,同时QT上位机完成XVC协议栈的数据payload的分发即可,分发协议为了平台移植性强,可以换成UDP协议,将数据分发给一个普通的FPGA,比如A7,A7上只需要实现UDP传输协议,这里设计了一个多端口UDP,设计种设计了10个端口,10个端口占用一个网口,可以做到一个A7同时调试10颗芯片,此外A7需要实现JTAG时序即可;
通过qt可以任意设置JTAG速率;实际测试下来,UDP的效率可以达到96%的效率,同时调试哪怕10台电脑同时调试也完全可以满足,硬件成本大大降低