|
|
虚拟JTAG(xilinx也有类似的工具,但是不知道叫什么名字 囧 )就是利用FPGA自身的JTAG口建立对设计课件的调试手段,只要通过例化虚拟JTAG模块,就能通过FPGA器件本身的JTAG引脚对FPGA中的CPU或者逻辑进行调试。 M: v. r1 ~$ W5 s, x
虚拟JTAG的核心包括两部分:(1)直接在HDL代码中例化SLD_VIRTUAL_JTAG宏功能,使FPGA器件的JTAG接口能够访问FPGA设计指定的部件或者接口信号;(2)通过TCL控制界面以及Quartus_stp.exe接口,实现数据读写操作。其中第二部分还可以利用启动Quartus_stp.exe( U2 g6 s' ?$ s, `
端口映射实现基于虚拟串口的调试(可以绕过Quartus_stp.exe,直接对VJTAG操作的方法,具体参见github上的open-sld项目)。虚拟JTAG功能与FPGA本身的SIgnal-TAP以及JTAG下载是并行时分复用的。
0 k9 r, R5 d0 U' g- ]5 A# e 虚拟JTAG可以通过TCL脚本在线地把PC机的数据写入到FPGA内部或者从FPGA内部读出并传到PC机。这样,在调整算法参数(如PID的参数整定)的时候,无需多次综合。此外,只要你会用TCL的TK图形库,就能利用虚拟JTAG做上位机。! W0 w5 j) ^) {- D) Y. c2 k8 Q% ]6 t
2 ?2 u( B, I+ A' v, h J0 ?
6 Y7 N/ @: q8 F8 t |
|