Reliable Boundary Scan Insertion Methodology For Multi-Chip Module Based Designs Shiva Kumar. K Mtech (IV Sem ) Dept. of Electronics and Communication BNMIT, Bangalore, INDIA shivakmtech@gmail.com Yasha Jyothi M Shirur Asst.Professor Dept. of Electronics and Communication BNMIT, Bangalore, INDIA yashamallik@gmail.com Veena S. Chakravarthi, IEEE Member Professor Dept. of Electronics and Communication BNMIT, Bangalore, INDIA scveena@bnmit.org Abstract- With the limited accessibility in the Multi Chip Figure 1 shows the MCM scenario with four cores considered. Module (MCM) based design circuitry, Boundary scan plays a key role in testing of MCM. With advance in MCM technology, more and more cores are being integrated in the design. This poses challenges in making MCM, an IEEE 1149.1 JTAG standard [1] compliant device. A reliable Boundary scan insertion methodology for a MCM environment with two cores is presented. The methodology is further extended to four cores MCM design and its testability using Boundary scan test logic is examined .The design issues with the proposed methodology for two cores MCM [2] under certain scenarios are revealed and further the methodology is modified with a generic solution (i.e. the methodology can be extended to any number of cores in MCM) to overcome the issues and make the MCM core, IEEE 1149.1 JTAG compliant. Figure1: MCM with four cores scenario Keywords: MCM (Multi Chip Module), JTAG, Boundary scan, TAP (Test Access Port), IR (Instruction Register), BSDL (Boundary Scan Description Language) I. INTRODUCTION The emerging technologies in VLSI demand for high performance resulting from reduced signal delays, improved signal quality between chips, reduced overall size and reduced number of external components. This everlasting demand for high circuit speed and low die area has lead to the development of Multi-chip-Module (MCM). With the limited accessibility of the internal circuitry in MCM, testing of internal circuitry such as interconnects between the cores becomes complex and time consuming. In this context, Boundary scan plays an important role in testing MCM. However with advances in MCM technology more and more cores are being integrated in MCM. This poses a challenge in making the MCM as an IEEE 1149.1 JTAG standard compliant device. Here, a Boundary scan insertion methodology is presented for two cores in the MCM environment [1]. With the minimal additional hardware, the MCM with two cores is made Boundary scan compatible. The proposed methodology is further extended to four cores in MCM and the testability of MCM using Boundary scan test logic is examined. With the proposed methodology for two cores MCM, certain issues are encountered in scanning the instructions to the Boundary scan test logic. Hence the proposed methodology is further modified to overcome the issues faced in scanning the instructions to MCM. The paper is organized as follows. In section II, A new core (Digital_timer) is designed to make it DFT(Design For Testability) compatible with the MCM environment for two cores and is designed to be JTAG 1149.1 -2001 standard compliant .In section III, we extend the methodology to four cores in MCMs. Section IV elevates issues faced by the methodology under certain scenarios. In section V, the modified Boundary scan insertion methodology is presented. Section VI shows the simulation results followed by paper conclusion in section VII. II. DESIGNING NEW VLSI CORE FOR MCM TESTABILITY WITH TWO CORES A new core (Digital_timer) is designed with the inputs and outputs as shown in the Figure 2. And signal description is given in Table 1. Figure 2: Digital timer core Table1: Signal description of Figure 2. Signal clk_timer Direction Input Bits 1 rst_timer load_timer Input Input 1 2 in_6bit Input 6 hr min sec Iutput Output Output 5 6 6 Description Reference clock for Digital_timer Reset timer Load mode for hour minute and seconds Set Load value for hour minute and second Hour display Minute display Second display The JTAG MACRO in Figure 3 consists of a TAP Controller, Instruction Register and a Bypass Register designed according to the standard IEEE 1149.1. Any serial data to the Boundary scan cells and the JTAG MACRO is sent through the TDI pin. The Boundary scan test logic operation is carried out with respect to TCK (Test Clock). The TAP Controller and the Instruction loaded in the Instruction Register, controls the operation of the Boundary scan test logic in the circuit. Digital_timer core with Boundary scan test logic inserted with respect to the proposed Boundary scan insertion methodology for two cores MCM is shown in Figure 4. The corresponding signal description is given in Table 3. The conventional Boundary scan compliant devices with respect to IEEE 1149.1 standard will have the structure as shown in the Figure 3 [2]. And corresponding signal description is given in Table 2. . Figure 4: Digital_ timer core with modified boundary scan circuitry Table 3: Signal description of Figure 4 Figure 3: Conventional core with JTAG. Signal Direction Bits Description MCM_mode Input 1 From_prev_ core_TDO Input 1 This decides the core to work in an mcm mode or Digital_timer only test mode. This pin is configured as bonding pad option. Signal driven from the TDO of the previous core Table 2: Signal description of Figure 3 Signal TCK Direction Input Bits 1 TMS Input 1 TDI Input 1 TDO Output 1 TRST Input 1 Description Reference clock for boundary scan test logic Test Mode Selectthe state of the tap controller changes with respect to the value of TMS at positive edge of TCK Test Data In Any serial data to the Boundary scan cells and the JTAG MACRO is sent through the TDI pin The data sent through TDI is verified through TDO Reset boundary scan test logicactive low A Boundary scan compliant device should have [3]: One TAP controller between TDI and TDO. One Instruction Register, which has no length restriction. One Bypass Register of exact one bit length. One IDCODE Register (optional) of exact 32 bit length. The Integration of the Digital timer core with another Boundary scan compatible core (core1) in the two cores MCM environment is shown in the Figure 5. Figure 5: Digital_timer integrated in MCM core The MCM with two cores as shown in Figure 5 satisfies all the conditions for a device to be Boundary scan compliant according to the IEEE 1149.1 standard [1]. II.I. INTERCONNECT TEST FOR TWO CORE MCM The Boundary scan in an MCM is mainly used to test interconnects between cores. The interconnects can be tested by loading the EXTEST instruction and shifting the appropriate test patterns to the Boundary scan test logic through TDI to detect different faults, such as shifting logic ‘1’ to the appropriate Boundary scan cell to detect the interconnect being stuck at logic ‘0’. The following steps are to be performed to test interconnects under different scenarios, assuming both cores having Instruction Register of same length. Figure 7: Illustration of Case II III. EXTENDING THE METHODOLOGY TO FOUR CORES IN MCM The proposed Boundary scan test methodology is extended to Case I: Testing of interconnects in the board between MCM four cores MCM environment as shown in the Figure 8. and other JTAG compatible Integrated Circuit(IC). 1) Load EXTEST instruction in both IC1 and mcm_top1 by shifting the respective instruction OPCODE with respect to the length of the Instruction Register specified in BSDL file of both IC1 and Digital_timer core (i.e., for mcm_top1). 2) Shift the serial test data to the respective Boundary scan cell, for which interconnects is to be tested. 3) Update the test data to the respective interconnect. 4) Capture the test data from interconnects to the respective boundary scan cell and shift to obtain the value at the TDO of mcm_top1. Case I is illustrated as shown in Figure 6. Figure 8. Digital_timer in MCM scenario Figure 6: Illustration of Case I with IC1and mcm_top1 Case II: Testing of interconnects within the MCM Here it presumes the steps of case I to test interconnect, considering each core in the MCM as an individual Boundary scan compatible IC embedded in the board. Case II is illustrated as shown in Figure 7. The TDI pin of the mcm_top2 is connected to TDI of core1 (i.e., inputs to all data and Instruction Register) and to the JTAG MACRO of the Digital_timer core. The TDO of core1 is connected to the TDI of core2 and the TDO of core2 is connected to the TDI of core3, to form a daisy chain connection with respect to the serial test data pins (TDI and TDO) of core1, core2 and core3.The TDO of core3 is connected to boundary scan register of the Digital_timer core. The MCM with four cores as shown in Figure 8 satisfies all the conditions for a device to be Boundary scan compliant according to the IEEE 1149.1 JTAG standard. IV. DESIGN ISSUES WITH THE PROPOSED METHODOLOGY The proposed Boundary scan insertion methodology poses certain issue in shifting the instruction to the respective cores in the MCM mode in following scenarios. Case1. For two cores MCM with cores having different IR length: Since the instruction loading in MCM is with respect to the IR length of the Digital_timer core (According to methodology [1]),a random instruction will be loaded in core1 while scanning instruction in the MCM mode. This may result in not selecting the Boundary scan register between TDI and TDO of core1, thus making the boundary scan chain discontinuous. Case1 is illustrated as shown in Figure 9. Figure 9: Illustrating case1 showing the effect of loading EXTEST in IC1 and mcm_top1 for testing interconnects between IC1 and mcm_top1 V. FURTHER MODIFICATION TO THE PROPOSED METHODOLOGY To overcome the issues encountered in scanning instructions under different scenarios as explained in section III, the following modification is incorporated in the Boundary scan insertion methodology. The IR length in the BSDL file for the MCM has to be specified to the maximum total length of Instruction Registers of serially connected cores with respect to test data pins (TDI and TDO). The operational code (OPCODE) for the respective instructions has to be provided through the BSDL file according to the IR length, such that each core in MCM will be loaded with respective instruction. Consider the scenario of four cores MCM with Digital_timer, in which each core have IR length of two bit. Then the IR length of the MCM has to be specified as ‘six’, since maximum IR length of the serially connected cores in the MCM (core1, core2, core3) is six. The OPCODE to be specified for the above case is Case2. For four cores MCM with cores having different IR length: Here, random instruction is loaded in core1, core2 and core3 while scanning instruction in the MCM mode similar to For EXTEST instruction—000000 BYPASS instruction – 111111 previous case. Case2 is illustrated as shown in Figure 10. The following shows the content of the BSDL with the above said modification: “ attribute INSTRUCTION_LENGTH of IC2_MCM: entity is 6; Figure 10. Illustrating case2 showing the effect of loading EXTEST in IC1 and mcm_top2 for testing interconnects between IC1 and mcm_top2 attribute INSTRUCTION_OPCODE of IC2_MCM: entity is "EXTEST (000000)," & "SAMPLE (010101)," & "PRELOAD (010101)," & "BYPASS (111111)" ; Attribute INSTRUCTION_CAPTURE of Case3. For four cores MCM with cores in MCM having equal ” IC2_MCM: entity is "010101"; IR length: With this modification, the issue of interconnect testing Here, random instruction is loaded in core2 and core3, while scanning instruction OPCODE in the MCM mode, thus making shown in Figure 11 is solved resulting in continuous Boundary the Boundary scan chain discontinuous. This condition is scan chain as shown in Figure12. illustrated as shown in the Figure 11. Figure 11. Illustrating the effect of loading EXTEST in IC1 and mcm_top2 for testing interconnect between IC1 and mcm_top2 Figure 12. Illustrating the effect of the EXTEST instruction for testing of interconnects between IC1 and mcm_top2 with modified methodology. VI. RESULTS The Digital_timer core with the proposed Boundary scan insertion logic is integrated with three other Boundary scan compatible cores (core1, core2, core3) in the MCM environment. Every core is designed to have same IR length of two. The RTL is developed using Hardware description Figure 14. Simulation results showing the status of boundary scan register cells language (Verilog) and simulated using NCSIM simulation tool when core2 and core3 are loaded with IDCODE instruction. from Cadence. SIMULATION RESULTS OBTAINED FOR CASE 3 (FIGURE 10): SIMULATION RESULTS OBTAINED FOR CASE 3 (FIGURE 11): Figure 13 shows the instruction being loaded into the mcm_top2, when the IR length of the MCM is specified to be ‘two’ in the BSDL file. The instruction for ‘EXTEST’ is shifted in the Instruction Register for two TCK clock cycles in the shift_IR state (shift_IR state9). It is to be observed in the Update_DR state(hex value’d’), the instruction being updated in each Instruction Register is as shown in Table 4. Figure 15 shows the shifting of instruction to the mcm_top2 when IR length is specified as ‘six’ in the BSDL file of mcm_top2. Here at the end of the instruction scan (carried out for ‘six’ TCK clock cycles) i.e, at the Update_DR state, each core in mcm_top2 is loaded with the ‘EXTEST’ instruction. Figure 15. Simulation results showing, the loading of EXTEST instruction to mcm_top2 with IR_length specified as six Figure 13. Simulation results showing the loading of EXTEST instruction to mcm_top2 with IR length specified as two bit. SIMULATION RESULTS OBTAINED FOR CASE 3 (FIGURE 12) SHOWING CONTINUITY OF BOUNDARY SCAN CHAIN: Table 4: The scanning of instruction for the IR length of mcm_top2 specified as two bit. State Capture_DR Shift_DR1st positive edge of TCK Shift_DR2nd positive edge of TCK Figure 16 shows the status of the Boundary scan registers after TDI Core1_I Core2_I Core3_I Digital_timer_ shifting the instructions as shown in the Figure 15. It is to be IR IR IR IR observed that the ‘clk_dr_bsc’ is not gated here, since every 0 01 01 01 01 core is loaded with the ‘EXTEST’ instruction, which intern 00 10 10 00 0 selects the Boundary scan register cells between TDI and TDO of the respective cores. This enables the testing of interconnects between IC1 and the mcm_top2. 0 00 01 01 00 SIMULATION RESULTS OBTAINED FOR CASE 3 (FIGURE 11) SHOWING DISCONTINUITY OF BOUNDARY SCAN CHAIN: Figure 14 shows the status of the Boundary scan registers after shifting the instructions as shown in the Figure 13. It is observed that, since IDCODE instruction is loaded in core2 and core3 at the end of shifting instruction, Identification register is selected between TDI and TDO of core2 and core3. The Clk_dr_bsc signal for the Boundary scan register cells is gated to ‘logic 1’ for core2 and core3 as seen in Figure 14 indicated by an arrow. Since the Clk_dr_bsc signal is gated for core2 and core3, no shifting will be carried out in the boundary scan register cells. This is indicated within the box in Figure 14. Figure 16. Simulation results showing the status of boundary scan register cells when every core in MCM loaded with EXTEST instruction The table 5, 6, 7 shows description of the signals in Figure 13,14,15,16. Table 5: Signal description of Figures 12,13,14,15. Signal Direction Bits Description state Intermediate register Intermediate register 4 Shows the current state of the TAP controller Updated instruction register (in the Update_DR state) of core1 to be decoded ir_out1 2 Signal ir_out2 Direction Intermediate register Bits ir_out3 Intermediate register 2 ir_out4 Intermediate register Bsc_scan _reg Intermediate register Clk_dr_b sc Input IR_scan_ reg Intermediate register 2 2 1 2 Description Updated instruction register(in the Update_DR state) of core2 to be decoded Updated instruction register (in the Update_DR state) of core3 to be decoded Updated instruction register (in the Update_DR state) of Digital_timer core to be decoded Boundary scan register cell scan out values are stored in this register Respective core reference test clock pulses gated from TCK for the boundary scan register cells Respective cores instruction register used to shift the instruction Table 7: Instructions and their respective OPCODE Instruction EXTEST IDCODE SAMPLE BYPASS VII. OPCODE [1:0] 00 01 10 11 CONCLUSION With addition of the minimal hardware to the Boundary scan test logic, a reliable boundary scan insertion methodology is presented for two cores MCM. The methodology is further extended to four cores in the MCM environment. However the methodology poses certain issues in scanning the instruction to the MCM cores under different scenarios. The Boundary scan insertion methodology is further modified to overcome the design issues.The modified Boundary scan insertion methodology can be extended to any number of cores in the MCM making it IEEE 1149.1 standard JTAG compliant with the tradeoff of increasing the IR length with the increase in number of cores in the MCM. VIII. ACKNOWLEDGMENT Authors wish to acknowledge Staff of Electronics & Communication department for their support. Authors also wish to acknowledge the BNMIT management for the encouragement in carrying out this work. REFERENCES Table 6: Tap controller state assignment table Controller State Hex Exit2-DR 0 Exit1-DR 1 shift-DR 2 Pause-DR 3 Select-IR-Scan 4 Update-DR 5 Capture-DR 6 Select-DR-Scan 7 Exit2-IR 8 Exit1-IR 9 Shift-IR A Pause-IR B Run-Test/Idle C Update-IR D Capture-IR E Test-Logic-Reset F 1. 2. 3. Soma Shekar. P and AnilKumar. N.V, “Efficient methodology for boundary scan insertion and pattern generation for MCM based designs, ”International Conference on Microelectronics, pp. 373 – 376, Dec. 2008. IEEE Computer Society. “IEEE Standard Test Access Port and Boundary-Scan architecture – IEEE Std. 1149.1-2001”, IEEE,New York, 2001. Frans de Jong and Alex Biewenga, “SiP-TAP : JTAG implementation for SiP designs,” IEEE International Test Conference, pp.1-10, Oct. 2006 .