This Application claims priority of Taiwan Patent Application No. 97127916, filed on Jul. 23, 2008, the entirety of which is incorporated by reference herein.
The disclosure relates to a test device and method for the SoC test architecture.
System-on-a-Chip (SoC) devices are widely used for many applications. With combining cores from different sources, the fault coverage of a core-based SoC has been decreased. Therefore, IEEE 1500 test standard, i.e. the test standard for core-based design, has been approved by the IEEE (Institute of Electrical and Electrical and Electronic Engineers) to reduce the test complexity of a SoC device, and reuse the test architecture.
A test wrapper conforming to IEEE 1500 standard is wrapped around a core. The test wrapper includes an n-bit wrapper instruction register (WIR) (not shown) for storing a test instruction, a 1-bit wrapper bypass register (WBY) (not shown), a wrapper boundary register (WBR) for storing test data, a serial interface layer and a set of standard wrapper serial control (WSC), wherein WIR and WBY are included in the serial interface layer. The test circuit can also access data registers inside the core for testing requirement. This type of data register is called a core data register (CDR).
The architecture of the IEEE 1149.1 standard, as shown in
A data register and corresponding test instructions can be self-defined based on the IEEE 1149.1 standard in addition to mandatory and optional instructions and registers predefined in the specification. A test process and test data paths of an integrated circuit (IC) can be controlled using the TAP controller. The IEEE 1149.1 standard can be applied to either testing on a PCB or testing and debugging on a core within a SoC.
However, when more cores are integrated into a SoC, control signals complying with the IEEE 1500 standard inside cores of respective wrappers and the total length of the test registers of the cores are linearly and multiply increased, costing much time for inputting wrapper instruction registers complying with the IEEE 1500 standard while changing test instructions is performed. Thus, a test device and method for the SoC test architecture is desirable, managing controllers of cores and saving test time.
An exemplary embodiment consistent with the invention, there is provided a test device for the SoC test architecture comprises plural test groups, an output multiplexer, and a test flag controller. Test inputs and a set of control signals of the test groups are parallel-connected, each test group is composed of one or more cores, and test inputs and test outputs of the cores in the same test group are serial-connected (i.e. the test output of a core is connected to the test input of the next core) while controls of the cores are parallel-connected. The test outputs of the test groups are connected to input ports of the output multiplexer respectively and the output of the output multiplexer serves as the test output of the SoC test architecture. A test input port is connected to the input of the test flag controller and the test inputs of the test groups. The test flag controller receives the test data from the test input port and determines which one of the test groups under test, and which cores of the test group need to be changed test instructions. Output ports of the test flag controller are connected to the control signal ports of the output multiplexer for selecting one of the test outputs of the test groups as the output of the output multiplexer, and inputted to the test groups for selecting which cores need to be changed the test instructions.
Another exemplary embodiment consistent with the invention, there is provided a test device for the SoC test architecture comprises a single test group and a test flag controller. The single test group is composed of plural cores, wherein test inputs and test outputs of the test group are serial-connected and control signals of the test group are parallel-connected. A set of output port of the test flag controller is connected to the cores of the test group and is composed of a set of plural test control flags to be inputted to the test groups for selecting which cores of the test group need to be changed the test instruction.
An exemplary embodiment consistent with the invention, there is provided a test method for the SoC test architecture comprises the following. The test architecture is composed of plural test groups which are parallel-connected, a test flag controller, and a test controller, wherein each of the test groups comprises plural cores, the test flag controller comprises a test-control flag register, and a data register of the test controller comprises a boundary scan register, a bypass register, an instruction register (IR) decoder, and an instruction register. The instruction register is programmed. A test instruction is set to the instruction register to determine whether the test input data is inputted to the test-control flag register, the boundary scan register, or the bypass register. The test-control flag register is set according to the test data received from the test input port. A core test instruction is set to the instruction register. The wrapper instruction register is programmed and a core test process is performed. Test data is transmitted to wrapper boundary registers/scan chain registers selected by the test-control flag register. The test process is terminated if the core test process has been completed.
A detailed description is given in the following embodiments with reference to the accompanying drawings.
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Several exemplary embodiments consistent with the invention are described with reference to
The exemplary embodiment consistent with the invention discloses a test device and method for the SoC test architecture.
An embodiment of a test flag controller can manages wrappers complying with the IEEE 1500 and 1149.1 test standard to achieve high efficiency for a testing mechanism.
An exemplary embodiment of the method controls testing processes of the overall ICs using a FSM of a TAP complying with the boundary scan standard for the IEEE 1149.1. A new control circuit and test process can be added to a test controller so that wrappers complying with the IEEE 1500 standard can be tested in parallel without changing the FSM of the test controller. Configurable instructions for a test-control flag register and configurable test instructions for a core are added to the test controller so re-programming a core instruction register in which test instructions should be changed is allowed. Thus, under the parallel test architecture, the purpose of inputting less instructions and saving test time can be achieved.
Under the test architecture of a SoC, the Test-Data-In (TDI) port or Wrapper-Serial-Input (WSI) port/Test-Data-Out (TDO) port or the Wrapper Serial Output (WSO) port of a test wrapper complying with the IEEE 1149.1/1500 standard can be parallel- or serial-connected. Parallel connection indicates test-data input ports (TDI or WSI) of each core under test are connected to an internal test-data input port which is provided by the test controller for propagating the test-data from external test data input port (TDI) to the cores which are tested, and test-data output ports (TDO or WSO) of each core under test are respectively connected to plural internal test-data output ports which are provided by the test controller. Since there is only one external test data output (TDO), the test-data outputs from each core under test are connected to plural input ports of a multiplexer in the test controller, and the output of multiplexer is controlled by the test controller through a test instruction. Serial connection indicates each core under test provides a test-data input port (TDI or WSI) and a test-data output port (TDO or WSO), and only one test-data input port (TDI or WSI) of a core under test is connected to the internal test-data input port (TDI or WSI) of the test controller and the test-data output port of the core is connected to the test-data input port of the next core, thus serial-connecting all the cores under test one by one. Finally, the test-data output port for the last core is connected to an internal test-data output port of the test controller.
There is only one test controller in the parallel connection architecture. Since every core is tested independently, it needs a unique control circuits for the test controller to control the test inputs and test outputs (WSI/WSO) of each cores respectively. When instructions are inputted into multiple cores, under the parallel connection architecture of the test controller, cores under test (Select_Core_1, Select_Core_2, . . . ) are selected by sequentially inputting the instructions and the instructions are shifted into an instruction register (WIR) of the selected core. Thus, the testing time based on the parallel connection may not much less than that based on the serial connection, and test instructions and control circuits of the test controller may be substantially increased. In other words, the area of test hardware is increased and the manufacturing cost is also increased, then the total production cost may not be reduced. Thus, compared with the parallel connection, the serial connection is acceptable for the test architecture.
The architecture of the register of the TAP controller based on the IEEE 1149.1 standard is shown in
As shown in
Thus, the time for shifting the test instructions is increased when the number of serial-connected cores is increased. However, considering power consumption when testing, only few cores are tested during the test process and other cores are set to be bypassed (IRs or WIRs are set to the BYPASS/WS_BYPASS instructions) for preventing chip damaged by overheating due to great testing power consumption during the test process. Most of the cores are still set to be bypassed, even when changing the target core that will be tested during the next test process, such that the instruction should not be updated.
The exemplary embodiment consistent with the invention provides a method for not changing the wrapper instruction register of the core that are set to be bypassed, and rapidly updating test instructions for the cores need to be tested.
Referring to
A core test (Core_Test) instruction is set to the instruction register (step S3) and WIR instructions are set to be shifted to the wrapper instruction registers of the cores which test instructions need to be changed (step S4). Thus, if there only few WIR need to be changed, it can cave lot of test clock cycles for shifting the test instructions. The steps S3 and S4 are implemented via the Shift-IR, Exit1-IR, Update-IR, Select-DR-Scan, Select-IR-Scan, Capture-IR, and Shift-IR states or via the Shift-IR, Exit1-IR, Pause-IR, Exit2-IR, and Shift-IR states.
The test data is shifted to the wrapper boundary register (WBR)/scan chain register shown in
When many cores are included in the system chip, if the cores are serial-connected for testing, the test time may be long. Thus, all the cores are grouped that identical groups are serial-connected for testing while different groups are parallel-connected and tested at different time segments so the number of cores which are serial-connected can be reduced, as shown in
For example, If there are 4 test groups in the SoC, and 8 cores in each group, then it needs a 2-bit group identification register (stands for group 0˜group 3) and a 8-bit core identification register (every core has its own bit). When the 5th core and 8th core of test group 3 need to be tested, the group identification register is set to 11, and the core identification register is set to 00001001. Thus it only needs to shift 2 instructions into these 2 cores and bypasses the other 6 cores.
It will be appreciated that the present invention is not limited to the exact construction that has been described above and illustrated in the accompanying drawings, and that various modifications and changes can be made without departing from the scope thereof. It is intended that the scope of the invention only be limited by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
97127916 | Jul 2008 | TW | national |