Virtual Jtag初探 续(1)
0赞1、什么是SLD?
SLD即System Level Debugging
2、Instruction Register端口即VIR的并行输出
3、例化好VJI以后,必须创建好与用户逻辑之间的VDR接口
4、由Virtual Instruction输出决定哪条VDR链路为当前活动链路
1)、译码VIR
2)、根据译码结果确定活动VDR链路
3)、连接用户逻辑和VDR链路
5、VIR的译码应该指示所以TDI-TDO的链路,Altera建议用bypass寄存器作为任何未映射到的IR值
6、TCK为VJI的输出时钟,Altera电缆最高支持10Mhz,注意VJI和用户逻辑其他部分之间跨时钟域通信引起的亚稳态问题
7、所有有关Jtag的tcl命令只能在quartus_stp下解析,其他如quartus_sh等均无法解析
8、用户VJI的tcl命令:
1)、Device_virtual_ir_shift
-instance_index <instance_index>
-ir_value <numeric_ir_value>
-no_captured_ir_value
-show_equivalent_device_ir_dr_shift
说明:对“instance_index”指定的VJI执行IR移位操作,numeric_ir_value只能是数字。
2)、Device_virtual_dr_shift
-instance_index <instance_index>
-dr_value <dr_value>
-length <data_register_length>
-no_captured_dr_value
-show_equivalent_device_ir_dr_shift
-value_in_hex
说明:对相应VJI执行DR移位操作,dr_value 为二进制或者十六进制字符串,不要使用十进制数。
3)、Get_hardware_names
说明:查询所有的编程电缆
4)、Open_device
-device_name <device_name>
-hardware_name <hardware_name>
说明:选择一个器件作为Jtag链上当前活动的器件
5)、Close_device
说明:终止与Jtag链上当前活动器件的通信
6)、Device_lock
-timeout <timeout>
说明:给Jtag通信设置一段专用时段
7)、Device_unlock
说明:释放Device_lock
8)、Device_ir_shift
-ir_value <ir_value>
-no_captured_ir_value
9)、Device_dr_shift
-dr_value <dr_value>
-length <data register length>
-no_captured_dr_value
-value_in_hex
9、使用Altera电缆通过VJ链进行一次简单的DR shift操作基本分为以下几步:
1. Query for the Altera programming cable and select the active cable.
2. Target the desired device in the JTAG chain.
3. Obtain a device lock for exclusive communication to the device.
4. Perform a VIR shift.
5. Perform a VDR shift.
6. Release exclusive link with the device with the device_unlock command.
7. Close communication with the device with the close_device command.