湘攸客

Virtual Jtag初探 续(1)

0
阅读(29469)

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.