This invention relates generally to the use of emulation units to perform test and debugging operations on a digital signal processor target system and, more particularly, to providing a method for optimizing JTAG (Joint Test Action Group) transfers between a test and debug unit and target processor. The present invention improves the performance of the test and debug unit in boundary scans.
In the past, test and debug procedures on digital signal processors was done using a scan control unit that converts parallel information from a test and debug unit into a serial data stream. The data values to be scanned out needed to be loaded each time a scan was executed, unless all of the data values were identical.
In a high performance scan controller, the number of times the test and debug unit must load the registers in the scan control unit can become a limiting factor of the performance of the testing procedure. This problem is compounded by the increasing speed of the test clock, which is the speed at which data is serialized and sent to the target processor.
There are two efficiency factors that govern the performance of a test and debug system. These factors are the inherent efficiency of the target processor itself, and the efficiency of the scan control unit. The efficiency of the target processor relates to how many bits of information and control signals must be sent to the target processing unit to perform an operation such as a single step operation, memory access operation, or register access operation. This factor is ignored by this invention since the digital signal processor efficiency cannot be altered by the scan control unit implementation.
The efficiency of the scan control unit relates to how many bits must be loaded into the scan control unit to cause it to send out the required number of bits for the digital signal processor to perform an operation with no dead time between operations. For certain types of operations, the information to be scanned out consists of a fixed value, possibly an opcode, and a variable value, possibly address or data value.
If a scan control unit has a 16-bit interface with the test and debug unit, and the test clock rate is 32 MHz, the scan control unit must be provided with a data value every 500 ns in order to run at 100% efficiency. In addition, the test and debug unit must load control information into the scan control unit to control the scans and the target processor JTAG interface, as well as access status from the scan control unit related to the scan operations. If the scan control unit access time and test and debug unit memory access times are on the order of 100 ns, then 40% of the bus bandwidth is consumed just by data transfers to the target signal processor. If the target processor is also returning information, then data transfers will be consuming 80% of the bus bandwidth. If the test and debug unit must access the scan controller to determine if a data value can be loaded or read, the remaining 20% of the bus bandwidth is used up, leaving no time for loading control information into the scan controller, or execution of instructions by the test and debug unit.
These limitations can be addressed in 3 ways, widen the data path between the test and debug unit and the scan control unit and memory, reduce the access time, and reduce the number of times the scan control unit must be accessed. Widening the data path requires additional pins on the scan controller device, the debug unit and the memory, and may not always be possible. Reducing the access time of the scan control unit or memory might be possible, but is limited by the particular implementation of both. Reducing the number of accesses of the scan control unit provides a means of improving the efficiency, which can be applied in conjunction with the other two techniques.
Referring to
Referring to
Referring to
In the past, configurations employing a JTAG emulation unit to test and debug a digital signal processor have had to issue a transaction, such as a read memory command, and then issue additional commands to retrieve the data or to determine if the original transaction was successful. The delay between the commands was usually sufficient to allow the target system the opportunity to complete the transaction. Transactions are usually initiated when the JTAG state (machine) transitions through “Update IR” to “Idle” or Pause. (The state diagram for the JTAG test and debug procedure is shown in
A need has been felt for apparatus and an associated method having the feature of being able to increase the rate of transfer of information from a test and debug unit to a target processing unit. It would be another feature of the apparatus and associated method to reduce the number of accesses of the test and debug processing unit with the scan control unit. It would be yet another feature of the apparatus and associated method to provide for fixed and for variable transfer of signal groups by the JTAG apparatus. It would be a still further feature of the present invention to provide for a mixed fixed/variable transfer of signal groups in a JTAG system. It is a more particular feature of the present invention to provide one group of storage locations for fixed length signal groups to be transferred to the target processing unit. It is another more particular feature of the present invention to provide a buffer storage unit for the storage of variable length storage groups in the scan controller prior to the transfer to the test processor.
The aforementioned features are accomplished, according to the present invention, by providing a storage unit accessible to the scan controller of a JTAG test and debug unit. The storage unit includes storage locations for storing fixed length signal groups and storage locations (first-in first-out or FIFO memory) for storing variable-length signal groups. The scan control unit, in response to command signals from the test and debug processing unit, can either apply the fixed-length signal groups to the shift register out, apply the variable-length signal groups to the scan register out, or can apply a combination of fixed- and variable-length signal groups to the shift register out.
Other features and advantages of present invention will be more clearly understood upon reading of the following description and the accompanying drawings and the claims.
Referring next to
Referring to
The invention allows the software to select the source of a data scan. The software can select the registers, the buffers or a combination of both. Using the mixed mode scan allows the software to load the fixed portion of data into the registers and then repeatedly issue the same scan command, only supplying the variable portion of the data on all of the scans after the first scan.
Examples of mixed mode scans include a fixed opcode, such as read memory, and a variable address. When the scan is repeated, the processor simply provides a series of address values. Another example is a memory fill operation. In this case, a fixed opcode for memory write is used, with a variable write address, and either fixed or variable fill data depending upon the type of memory fill. Control bits in the scan command register select the mixed mode scan.
The scan controller designed using this invention implements storage unit with two sets of four 16-bit data registers used to supply the fixed data values for two separate, combinable scans, and a single 16-bit wide FIFO to supply the variable portion of the data. In normal scan mode, two variable data values (32-bits) are scanned out followed by an opcode value from the third register. In streaming scan mode, the order is reversed, a 16-bit opcode value is scanned out, followed by two variable data values (32-bits).
While the invention has been described with respect to the embodiments set forth above, the invention is not necessarily limited to these embodiments. Accordingly, other embodiments, variations, and improvements not described herein are not necessarily excluded from the scope of the invention, the scope of the invention being defined by the following claims.
This application claims priority under 35 USC §119(e)(1) of Provisional Application No. 60/517,457 (TI-36184P) filed Nov. 5, 2003.
Number | Date | Country | |
---|---|---|---|
60517457 | Nov 2003 | US |