US6584590B1 - JTAG port-sharing device - Google Patents

JTAG port-sharing device Download PDF

Info

Publication number
US6584590B1
US6584590B1 US09/374,256 US37425699A US6584590B1 US 6584590 B1 US6584590 B1 US 6584590B1 US 37425699 A US37425699 A US 37425699A US 6584590 B1 US6584590 B1 US 6584590B1
Authority
US
United States
Prior art keywords
port
debugger
integrated circuit
sharing device
jtag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US09/374,256
Inventor
John R. Bean
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
WSOU Investments LLC
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Priority to US09/374,256 priority Critical patent/US6584590B1/en
Assigned to LUCENT TECHNOLOGIES INC. reassignment LUCENT TECHNOLOGIES INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEAN, JOHN R.
Application granted granted Critical
Publication of US6584590B1 publication Critical patent/US6584590B1/en
Assigned to OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP reassignment OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WSOU INVESTMENTS, LLC
Assigned to WSOU INVESTMENTS, LLC reassignment WSOU INVESTMENTS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALCATEL LUCENT
Assigned to BP FUNDING TRUST, SERIES SPL-VI reassignment BP FUNDING TRUST, SERIES SPL-VI SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WSOU INVESTMENTS, LLC
Assigned to WSOU INVESTMENTS, LLC reassignment WSOU INVESTMENTS, LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
Anticipated expiration legal-status Critical
Assigned to OT WSOU TERRIER HOLDINGS, LLC reassignment OT WSOU TERRIER HOLDINGS, LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WSOU INVESTMENTS, LLC
Assigned to WSOU INVESTMENTS, LLC reassignment WSOU INVESTMENTS, LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: TERRIER SSC, LLC
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318555Control logic

Definitions

  • the present invention relates to integrated circuit testing.
  • the invention relates to use of a Joint Test Action Group (JTAG) interface in integrated circuit testing.
  • JTAG Joint Test Action Group
  • JTAG test port is used to download debugging or other testing software from an external device, e.g., a JTAG debugger device, to the functional blocks located on the integrated circuit under test.
  • the JTAG test port is also used to upload the test results from the functional blocks to the JTAG debugger device.
  • test port A JTAG (test port) standard has been adopted by the Institute of Electrical and Electronics Engineers and is now defined as IEEE Standard 11491, IEEE Standard Test Access Port and Boundary-Scan Architecture, which is incorporated herein by reference. See also C. M. Mannales, and R. E. Tullos, “The Test Access Port and Boundary-Scan Architecture,” (IEEE Computer Society Prep, 1990) which is also incorporated herein by reference.
  • the JTAG test port provides control and observability of the functional blocks (test points) of the integrated circuits through scan access.
  • a large shift register referred to as a data chain is provided which allows data to be written to or read from desired test points inside the integrated circuit.
  • These data chains are often controlled by a JTAG controller located external to the integrated circuit.
  • the JTAG controller provides the necessary data and clock signals and an interface to a user or an application for automated testing of the functional blocks within an integrated circuit.
  • each of the functional blocks located on a typical integrated circuit 100 requires a particular JTAG test port (interface 107 for connecting to debugger devices 110 ).
  • Each JTAG test port may be a software or a hardware interface. In either case, it is designed specifically for testing the functions of the corresponding functional block.
  • each of the JTAG test interfaces comprises a plurality of hardware pins (up to five hardware pins for each interface).
  • Each hardware pin takes up physical space on the integrated circuit and the circuit board where the integrated circuit is located.
  • the cost associated with the manufacturing of integrated circuits and circuit boards increases with the increased number of hardware pins.
  • additional hardware pins increase the static on an integrated circuit 100 . This static causes interference in the functionality of the integrated circuit. Therefore, it is desired to minimize the number of hardware pins; however, current technology dictates that there must be a particular JTAG interface for each functional block located on an integrated circuit (under test). Each of these JTAG interfaces further requires a plurality of hardware pins.
  • One known solution for reducing the number of hardware pins is to utilize a common debugging platform that allows a plurality of functional blocks to share a common JTAG software or hardware interface.
  • One such known debugging platform is Multi-ICE manufactured by Advanced RISC Machine, 985 University Avenue, Suite 5, Los Gatos Calif. 95030.
  • the ARM Multi-ICE debugging platform can reduce the number of hardware pins, but the use of such a debugging platform limits the integrated circuit testing to the test software written specifically for the common debugging platform. This prevents using off-the-shelf JTAG debugger devices that a user may want or already have. It also creates the need for each vendor to develop different testing software in accordance with each particular debugging platform.
  • the present invention is directed to a JTAG port-sharing device that reduces the required number of hardware pins on an integrated circuit without limiting the integrated circuit testing to a particular debugging platform.
  • the JTAG port-sharing device eliminates the need to have individual hardware pins for each functional block that requires a JTAG test interface and allows one set of hardware pins to be shared by a plurality of functional blocks.
  • the JTAG port-sharing device is not limited by a particular debugging platform and allows the use of pre-owned and/or off-the-shelf testing software and/or JTAG debugger devices thereby leading to shorter development cycles and lower development costs.
  • the present invention is a port-sharing device for testing an integrated circuit having a plurality of functional blocks, wherein the port-sharing device comprises (a) an on-chip interface port configured to be connected to a pin on the integrated circuit; and (b) at least two debugger ports, each configured to be connected to at least one debugger device to enable the at least one debugger device to test the plurality of functional blocks via the pin.
  • the present invention is a method for testing an integrated circuit having a plurality of functional blocks, comprising the steps of (a) configuring an on-chip interface port of a port-sharing device to a pin on the integrated circuit; (b) configuring at least two debugger ports of the port-sharing device to be connected to at least one debugger device; and (c) testing the plurality of function blocks in the integrated circuit with the at least one debugger device via the port-sharing device and via the pin.
  • FIG. 1 illustrates a prior art JTAG testing scheme
  • FIG. 2 illustrates a block diagram of a JTAG port-sharing device in accordance with one embodiment of the present invention
  • FIG. 3 is a block diagram illustrating various components located within the JTAG port-sharing device of FIG. 2 .
  • FIG. 2 is a block diagram illustrating various components of a JTAG port-sharing device 200 in accordance with one embodiment of the present invention.
  • JTAG port-sharing device 200 has two sides.
  • the first side comprises a plurality of debugger ports 210 and is termed the debugger side.
  • the second side has one common JTAG interface also known as an equipment-under-test (EUT) port 230 and is termed the chip side.
  • Debugger ports 210 can be directly connected to a plurality of JTAG debugger devices 250 and the EUT port 230 can be connected to a JTAG test port 207 located on an integrated circuit under test 240 .
  • JTAG debugger devices 250 are capable of testing various functional blocks located on the integrated circuit under test 240 .
  • JTAG port-sharing device 200 acts as a bi-directional interface between each JTAG debugger device 250 and a functional block located on an integrated circuit under test 240 .
  • JTAG port-sharing device 200 receives the test signals (or other control signals) from the JTAG debugger device 250 , analyzes the test signals to determine the identity of the target functional block located on the integrated circuit under test 240 , and forwards the data to the appropriate functional block.
  • each function block sends output data to JTAG port-sharing device 200 , which then analyzes the output data to determine the identity of the target JTAG debugger device 250 and forwards the data to the appropriate JTAG debugger device 250 .
  • the JTAG port-sharing device 200 reduces the number of hardware pins on an integrated chip needed to support testing by sharing one hardware pin between a plurality of functional blocks.
  • Debugger ports 210 may be JTAG input jacks. Mechanically, each jack may be any suitable type of connector. Generally, the design of debugger ports 210 is dependent on the JTAG debugger devices 250 to be connected to these ports. For instance, if a particular debugger device 250 design is an ARM (Advanced Risc Machine), then the corresponding debugger port 210 may be a 14-pin dual-in-line insulation displacement connector. Similarly, if the debugger device 250 is a product manufactured by Lucent Technologies, New Jersey, USA, then the corresponding debugger port 210 may be a DB-9 female connector. Each debugger port 210 is equipped to receive address, data, and control signals from a JTAG debugger device 250 . These control signals include test programs and test signals. Each debugger port 210 also comprises the necessary debugging capabilities.
  • EUT (Equipment Under Test) port 230 is connected directly to the integrated circuit under test 240 .
  • EUT port 230 is connected to the JTAG port 207 located on the integrated circuit under test 240 .
  • EUT port 230 is designed to send and receive data from the various functional blocks located on the integrated circuit under test 240 and is capable of controlling one or more data signals. The exact configuration of EUT port 230 will vary from one case to another, but the EUT port 230 is designed to match the design specifications of the integrated circuit under test 240 .
  • FIG. 3 is a block diagram illustrating various components located within JTAG port sharing device 200 .
  • JTAG port-sharing device 200 comprises a processor 301 and interface firmware 303 .
  • Processor 301 is responsible for redirecting requests and responses and other signals between debugger ports 210 and the single EUT port 230 .
  • Firmware 303 provides protocol conversion between the individual JTAG debugger devices 250 connected to debugger ports 210 and the functional blocks located inside the integrated circuit under test 240 .
  • JTAG port-sharing device 200 also has a local serial port 310 . This serial port may be used for downloading firmware updates, as well as controlling the features of firmware 303 currently loaded in the JTAG port-sharing device 200 .
  • JTAG port-sharing device 200 operates in accordance with JTAG IEEE standard 11491. According to the JTAG standard, first a control pattern is loaded from a JTAG debugger device 250 into JTAG port-sharing device 200 which forwards the control pattern to the integrated circuit under test 240 . This pattern provides a test initialization. Next, a test program comprising a plurality of test instructions is downloaded from the JTAG debugger device 250 to the integrated circuit under test 240 . After an interval of operation of the integrated circuit under test 240 , the test results are output from the integrated circuit under test 240 to JTAG port-sharing device 200 which forwards the test results to the appropriate JTAG debugger device 250 . This output may be transmitted simultaneously with download of the next test program and thereon the procedure continues until all the test programs have been downloaded.
  • JTAG port-sharing device 200 also has a program memory 305 where the operating system may be stored.
  • the program memory 305 may be for example a FLASH memory, an EPROM memory, or a ROM memory.
  • Processor 301 reads from program memory 305 when it executes firmware 303 .
  • JTAG port-sharing device 200 includes some form of RAM memory 307 .
  • RAM memory 307 is used to store program variables.
  • RAM memory 307 also acts as a buffer storage for data and commands that are being translated and passed between the debugger ports 210 and the EUT port 230 . Both memories 305 and 307 are configured to support the requirements for each JTAG debugger device 250 .
  • the processor 301 also includes a non-volatile memory (Read-Only Memory) 309 which is used to store the configuration information.
  • the configuration information includes debugger types, port data transfer speeds, translation tables, programming voltage information (levels and cycle time), and other information required to operate JTAG port-sharing device 200 .
  • processor 301 analyzes the incoming test command.
  • Processor 301 first reads from memory 309 to analyze the configuration information pertaining to the type of the JTAG debugger device 250 .
  • Processor 301 determines the type of the debugger device 250 and performs necessary translations or encapsulations by executing interface firmware 303 .
  • the translations/encapsulations include the necessary additional information so that when the translated/encapsulated command reaches the integrated circuit under test 240 , it is immediately directed to the target functional block.
  • Processor 301 then forwards the translated/encapsulated command to EUT port 230 .
  • the encapsulated command includes the identity of the function block located on the integrated circuit under test 240 for which the incoming test command is targeted.
  • processor 301 evaluates this incoming data. This data may be output test results in response to the test commands sent to integrated circuit 240 .
  • Processor 301 by executing firmware 303 , first determines the identity of the JTAG debugger device 250 for which the data is targeted and then determines the corresponding debugger port 210 . After the initial determination, processor 301 forwards the data to the appropriate debugger port 210 from which the data is forwarded to the appropriate debugger device 250 .
  • Processor 301 and firmware 303 provide the necessary emulations and virtually connect each debugger device 250 to the respective functional block on the integrated circuit under test 240 on a one-to-one basis.
  • JTAG port-sharing device 200 is not limited to a particular debugging platform and allows the use of pre-owned or off-the-shelf testing software or JTAG debugger devices which leads to shorter development cycle and lower development cost.
  • JTAG port-sharing device 200 may be equipped with some additional capabilities.
  • JTAG port-sharing device 200 may have standard debugging libraries within its nonvolatile memory 309 . These libraries may contain the necessary voltage, translation, timing, and other protocol-specific requirements to help determine the identity of JTAG debugger devices 250 .
  • JTAG port-sharing device 200 may be further modified by adding additional features such as Direct Memory Access (DMA).
  • firmware 303 can provide DMA to all functional blocks that have been connected to EUT port 230 via JTAG interface.
  • the port-sharing device comprises a processor that executes a firmware program
  • the port-sharing devices of the present invention can also be implemented in hardware and/or using processors that execute a software program.

Abstract

A JTAG port-sharing device that reduces the required number of hardware pins on an integrated circuit without limiting the integrated circuit testing to a particular debugging platform is provided. The JTAG port-sharing device eliminates the need to have individual hardware pins for each functional block that requires JTAG test interface and allows one set of hardware pins to be shared by a plurality of functional blocks. The JTAG port-sharing device is not limited by a particular debugging platform and allows the use of pre-owned and/or off-the-shelf testing software and/or JTAG debugger devices thereby leading to shorter development cycles and lower development costs.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to integrated circuit testing. In particular, the invention relates to use of a Joint Test Action Group (JTAG) interface in integrated circuit testing.
2. Description of the Prior Art
The use of various functional components (blocks) and component libraries to create complex integrated circuits is becoming increasingly common. These complex integrated circuits are difficult to test. Traditionally, these integrated circuits incorporate a JTAG test port as a mechanism for emulating and debugging an integrated circuit under test. The JTAG test port is used to download debugging or other testing software from an external device, e.g., a JTAG debugger device, to the functional blocks located on the integrated circuit under test. The JTAG test port is also used to upload the test results from the functional blocks to the JTAG debugger device. A JTAG (test port) standard has been adopted by the Institute of Electrical and Electronics Engineers and is now defined as IEEE Standard 11491, IEEE Standard Test Access Port and Boundary-Scan Architecture, which is incorporated herein by reference. See also C. M. Mannales, and R. E. Tullos, “The Test Access Port and Boundary-Scan Architecture,” (IEEE Computer Society Prep, 1990) which is also incorporated herein by reference.
The JTAG test port provides control and observability of the functional blocks (test points) of the integrated circuits through scan access. Essentially, a large shift register referred to as a data chain is provided which allows data to be written to or read from desired test points inside the integrated circuit. These data chains are often controlled by a JTAG controller located external to the integrated circuit. The JTAG controller provides the necessary data and clock signals and an interface to a user or an application for automated testing of the functional blocks within an integrated circuit.
As shown in FIG. 1 each of the functional blocks (core devices e.g. RAM 101, ROM 103, memory 105) located on a typical integrated circuit 100 requires a particular JTAG test port (interface 107 for connecting to debugger devices 110). Each JTAG test port may be a software or a hardware interface. In either case, it is designed specifically for testing the functions of the corresponding functional block. Furthermore, each of the JTAG test interfaces comprises a plurality of hardware pins (up to five hardware pins for each interface).
Each hardware pin takes up physical space on the integrated circuit and the circuit board where the integrated circuit is located. Thus, the cost associated with the manufacturing of integrated circuits and circuit boards increases with the increased number of hardware pins. Also, additional hardware pins increase the static on an integrated circuit 100. This static causes interference in the functionality of the integrated circuit. Therefore, it is desired to minimize the number of hardware pins; however, current technology dictates that there must be a particular JTAG interface for each functional block located on an integrated circuit (under test). Each of these JTAG interfaces further requires a plurality of hardware pins.
One known solution for reducing the number of hardware pins is to utilize a common debugging platform that allows a plurality of functional blocks to share a common JTAG software or hardware interface. One such known debugging platform is Multi-ICE manufactured by Advanced RISC Machine, 985 University Avenue, Suite 5, Los Gatos Calif. 95030. The ARM Multi-ICE debugging platform can reduce the number of hardware pins, but the use of such a debugging platform limits the integrated circuit testing to the test software written specifically for the common debugging platform. This prevents using off-the-shelf JTAG debugger devices that a user may want or already have. It also creates the need for each vendor to develop different testing software in accordance with each particular debugging platform.
SUMMARY OF THE INVENTION
The present invention is directed to a JTAG port-sharing device that reduces the required number of hardware pins on an integrated circuit without limiting the integrated circuit testing to a particular debugging platform. The JTAG port-sharing device eliminates the need to have individual hardware pins for each functional block that requires a JTAG test interface and allows one set of hardware pins to be shared by a plurality of functional blocks. The JTAG port-sharing device is not limited by a particular debugging platform and allows the use of pre-owned and/or off-the-shelf testing software and/or JTAG debugger devices thereby leading to shorter development cycles and lower development costs.
In one embodiment, the present invention is a port-sharing device for testing an integrated circuit having a plurality of functional blocks, wherein the port-sharing device comprises (a) an on-chip interface port configured to be connected to a pin on the integrated circuit; and (b) at least two debugger ports, each configured to be connected to at least one debugger device to enable the at least one debugger device to test the plurality of functional blocks via the pin.
In another embodiment, the present invention is a method for testing an integrated circuit having a plurality of functional blocks, comprising the steps of (a) configuring an on-chip interface port of a port-sharing device to a pin on the integrated circuit; (b) configuring at least two debugger ports of the port-sharing device to be connected to at least one debugger device; and (c) testing the plurality of function blocks in the integrated circuit with the at least one debugger device via the port-sharing device and via the pin.
BRIEF DESCRIPTION OF THE DRAWINGS
Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which:
FIG. 1 illustrates a prior art JTAG testing scheme;
FIG. 2 illustrates a block diagram of a JTAG port-sharing device in accordance with one embodiment of the present invention; and
FIG. 3 is a block diagram illustrating various components located within the JTAG port-sharing device of FIG. 2.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
FIG. 2 is a block diagram illustrating various components of a JTAG port-sharing device 200 in accordance with one embodiment of the present invention.
JTAG port-sharing device 200 has two sides. The first side comprises a plurality of debugger ports 210 and is termed the debugger side. The second side has one common JTAG interface also known as an equipment-under-test (EUT) port 230 and is termed the chip side. Debugger ports 210 can be directly connected to a plurality of JTAG debugger devices 250 and the EUT port 230 can be connected to a JTAG test port 207 located on an integrated circuit under test 240. JTAG debugger devices 250 are capable of testing various functional blocks located on the integrated circuit under test 240.
Thus, JTAG port-sharing device 200 acts as a bi-directional interface between each JTAG debugger device 250 and a functional block located on an integrated circuit under test 240. JTAG port-sharing device 200 receives the test signals (or other control signals) from the JTAG debugger device 250, analyzes the test signals to determine the identity of the target functional block located on the integrated circuit under test 240, and forwards the data to the appropriate functional block. In addition, each function block sends output data to JTAG port-sharing device 200, which then analyzes the output data to determine the identity of the target JTAG debugger device 250 and forwards the data to the appropriate JTAG debugger device 250. The JTAG port-sharing device 200 reduces the number of hardware pins on an integrated chip needed to support testing by sharing one hardware pin between a plurality of functional blocks.
Debugger ports 210 may be JTAG input jacks. Mechanically, each jack may be any suitable type of connector. Generally, the design of debugger ports 210 is dependent on the JTAG debugger devices 250 to be connected to these ports. For instance, if a particular debugger device 250 design is an ARM (Advanced Risc Machine), then the corresponding debugger port 210 may be a 14-pin dual-in-line insulation displacement connector. Similarly, if the debugger device 250 is a product manufactured by Lucent Technologies, New Jersey, USA, then the corresponding debugger port 210 may be a DB-9 female connector. Each debugger port 210 is equipped to receive address, data, and control signals from a JTAG debugger device 250. These control signals include test programs and test signals. Each debugger port 210 also comprises the necessary debugging capabilities.
EUT (Equipment Under Test) port 230 is connected directly to the integrated circuit under test 240. EUT port 230 is connected to the JTAG port 207 located on the integrated circuit under test 240. EUT port 230 is designed to send and receive data from the various functional blocks located on the integrated circuit under test 240 and is capable of controlling one or more data signals. The exact configuration of EUT port 230 will vary from one case to another, but the EUT port 230 is designed to match the design specifications of the integrated circuit under test 240.
FIG. 3 is a block diagram illustrating various components located within JTAG port sharing device 200. JTAG port-sharing device 200 comprises a processor 301 and interface firmware 303. Processor 301 is responsible for redirecting requests and responses and other signals between debugger ports 210 and the single EUT port 230. Firmware 303 provides protocol conversion between the individual JTAG debugger devices 250 connected to debugger ports 210 and the functional blocks located inside the integrated circuit under test 240. JTAG port-sharing device 200 also has a local serial port 310. This serial port may be used for downloading firmware updates, as well as controlling the features of firmware 303 currently loaded in the JTAG port-sharing device 200.
JTAG port-sharing device 200 operates in accordance with JTAG IEEE standard 11491. According to the JTAG standard, first a control pattern is loaded from a JTAG debugger device 250 into JTAG port-sharing device 200 which forwards the control pattern to the integrated circuit under test 240. This pattern provides a test initialization. Next, a test program comprising a plurality of test instructions is downloaded from the JTAG debugger device 250 to the integrated circuit under test 240. After an interval of operation of the integrated circuit under test 240, the test results are output from the integrated circuit under test 240 to JTAG port-sharing device 200 which forwards the test results to the appropriate JTAG debugger device 250. This output may be transmitted simultaneously with download of the next test program and thereon the procedure continues until all the test programs have been downloaded.
JTAG port-sharing device 200 also has a program memory 305 where the operating system may be stored. The program memory 305 may be for example a FLASH memory, an EPROM memory, or a ROM memory. Processor 301 reads from program memory 305 when it executes firmware 303. In addition, JTAG port-sharing device 200 includes some form of RAM memory 307. RAM memory 307 is used to store program variables. RAM memory 307 also acts as a buffer storage for data and commands that are being translated and passed between the debugger ports 210 and the EUT port 230. Both memories 305 and 307 are configured to support the requirements for each JTAG debugger device 250.
The processor 301 also includes a non-volatile memory (Read-Only Memory) 309 which is used to store the configuration information. The configuration information includes debugger types, port data transfer speeds, translation tables, programming voltage information (levels and cycle time), and other information required to operate JTAG port-sharing device 200.
When a test command from one of the JTAG debugger device 250 is received on a debugger port 210, processor 301 analyzes the incoming test command. Processor 301 first reads from memory 309 to analyze the configuration information pertaining to the type of the JTAG debugger device 250. Processor 301 then determines the type of the debugger device 250 and performs necessary translations or encapsulations by executing interface firmware 303. The translations/encapsulations include the necessary additional information so that when the translated/encapsulated command reaches the integrated circuit under test 240, it is immediately directed to the target functional block. Processor 301 then forwards the translated/encapsulated command to EUT port 230. The encapsulated command includes the identity of the function block located on the integrated circuit under test 240 for which the incoming test command is targeted.
Similarly, when data is received at EUT port 230 from the integrated circuit under test 240, processor 301 evaluates this incoming data. This data may be output test results in response to the test commands sent to integrated circuit 240. Processor 301, by executing firmware 303, first determines the identity of the JTAG debugger device 250 for which the data is targeted and then determines the corresponding debugger port 210. After the initial determination, processor 301 forwards the data to the appropriate debugger port 210 from which the data is forwarded to the appropriate debugger device 250.
Processor 301 and firmware 303 provide the necessary emulations and virtually connect each debugger device 250 to the respective functional block on the integrated circuit under test 240 on a one-to-one basis.
JTAG port-sharing device 200 is not limited to a particular debugging platform and allows the use of pre-owned or off-the-shelf testing software or JTAG debugger devices which leads to shorter development cycle and lower development cost.
JTAG port-sharing device 200 may be equipped with some additional capabilities. For example, JTAG port-sharing device 200 may have standard debugging libraries within its nonvolatile memory 309. These libraries may contain the necessary voltage, translation, timing, and other protocol-specific requirements to help determine the identity of JTAG debugger devices 250.
JTAG port-sharing device 200 may be further modified by adding additional features such as Direct Memory Access (DMA). In that case, firmware 303 can provide DMA to all functional blocks that have been connected to EUT port 230 via JTAG interface.
Finally, even though the invention has been described in the context of integrated circuit testing, the principles of the present invention may be used for board-level testing.
Although the invention has been described in the context of applications in which a different debugger device is connected to each different debugger port, the present invention can also be implemented for applications in which at least one debugger device is connected to two or more different debugger ports.
Although the invention has been described in the context of embodiments in which the port-sharing device comprises a processor that executes a firmware program, the port-sharing devices of the present invention can also be implemented in hardware and/or using processors that execute a software program.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.

Claims (22)

What is claimed is:
1. A port-sharing device for testing an integrated circuit having a plurality of functional blocks, wherein the port-sharing device comprises:
(a) an equipment-under-test (EUT) interface port configured to be connected to a port on the integrated circuit; and
(b) at least two debugger ports, each configured to be connected to at least one debugger device to enable the at least one debugger device to test the plurality of functional blocks via the port on the integrated circuit.
2. The invention of claim 1, wherein the port-sharing device enables the debugger device to download a test program onto the integrated circuit via a corresponding debugger port and the EUT interface port.
3. The invention of claim 2, wherein the port-sharing device enables the debugger device to download the test program onto a particular functional block in the integrated circuit.
4. The invention of claim 1, wherein the port-sharing device enables the integrated circuit to upload test results onto the debugger device via the EUT interface port and a corresponding debugger port.
5. The invention of claim 1, wherein at least one debugger device is connected to two or more different debugger ports.
6. The invention of claim 1, wherein the port-sharing device emulates a direct connection between the debugger device and a corresponding functional block.
7. The invention of claim 6, wherein the port-sharing device further comprises:
(c) a processor configured to execute a program to emulate the direct connection; and
(d) a memory device for storing the program.
8. The invention of claim 7, wherein the program is stored as firmware on the memory device.
9. The invention of claim 1, wherein the port-sharing device is a Joint Test Action Group (JTAG) port-sharing device and the port on the integrated circuit comprises a pin.
10. The invention of claim 1, wherein:
the port-sharing device enables the debugger device to download a test program onto a particular functional block in the integrated circuit via a corresponding debugger port and the EUT interface port;
the port-sharing device enables the integrated circuit to upload test results onto the debugger device via the EUT interface port and the corresponding debugger port;
the port-sharing device emulates a direct connection between the debugger device and a corresponding functional block;
the port-sharing device further comprises:
(c) a processor configured to execute a program to emulate the direct connection; and
(d) a memory device for storing the program;
the program is stored as firmware on the memory device; and
the port-sharing device is a JTAG port-sharing device.
11. The invention of claim 10, wherein at least one debugger device is connected to two or more different debugger ports.
12. A method for testing an integrated circuit having a plurality of functional blocks, comprising the steps of:
(a) configuring an equipment-under-test (EUT) interface port of a port-sharing device to a port on the integrated circuit;
(b) configuring at least two debugger ports of the port-sharing device to be connected to at least one debugger device; and
(c) testing the plurality of function blocks in the integrated circuit with the at least one debugger device via the port-sharing device and via the port on the integrated circuit.
13. The invention of claim 12 wherein the port-sharing device enables the debugger device to download a test program onto the integrated circuit via a corresponding debugger port and the EUT interface port.
14. The invention of claim 13, wherein the port-sharing device enables the debugger device to download the test program onto a particular functional block in the integrated circuit.
15. The invention of claim 12, wherein the port-sharing device enables the integrated circuit to upload test results onto the debugger device via the EUT interface port and a corresponding debugger port.
16. The invention of claim 12 wherein at least one debugger device is connected to two or more different debugger ports.
17. The invention of claim 12 wherein the port-sharing device emulates a direct connection between the debugger device and a corresponding functional block.
18. The invention of claim 17, wherein the port-sharing device further comprises:
a processor configured to execute a program to emulate the direct connection; and
a memory device for storing the program.
19. The invention of claim 18, wherein the program is stored as firmware on the memory device.
20. The invention of claim 12, wherein the port-sharing device is a JTAG port-sharing device and the port on the integrated circuit comprises a pin.
21. The invention of claim 12, wherein:
the port-sharing device enables the debugger device to download a test program onto a particular functional block in the integrated circuit via a corresponding debugger port and the EUT interface port;
the port-sharing device enables the integrated circuit to upload test results onto the debugger device via the EUT interface port and the corresponding debugger port;
the port-sharing device emulates a direct connection between the debugger device and a corresponding functional block;
the port-sharing device further comprises:
a processor configured to execute a program to emulate the direct connection; and
a memory device for storing the program;
the program is stored as firmware on the memory device; and
the port-sharing device is a JTAG port-sharing device.
22. The invention of claim 21, wherein at least one debugger device is connected to two or more different debugger ports.
US09/374,256 1999-08-13 1999-08-13 JTAG port-sharing device Expired - Lifetime US6584590B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/374,256 US6584590B1 (en) 1999-08-13 1999-08-13 JTAG port-sharing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/374,256 US6584590B1 (en) 1999-08-13 1999-08-13 JTAG port-sharing device

Publications (1)

Publication Number Publication Date
US6584590B1 true US6584590B1 (en) 2003-06-24

Family

ID=23475965

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/374,256 Expired - Lifetime US6584590B1 (en) 1999-08-13 1999-08-13 JTAG port-sharing device

Country Status (1)

Country Link
US (1) US6584590B1 (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087948A1 (en) * 2000-03-02 2002-07-04 Jonathan Dzoba Configurable debug system with proactive error handling
US20020103993A1 (en) * 2001-01-26 2002-08-01 Alexander Marc D. System and method for providing information to a computer system
US20020194542A1 (en) * 2001-05-18 2002-12-19 Sony Computer Entertainment Inc. Debugging system for semiconductor integrated circuit
US20040123196A1 (en) * 2002-12-23 2004-06-24 Shidla Dale J. Enabling multiple testing devices
US6785854B1 (en) * 2000-10-02 2004-08-31 Koninklijke Philips Electronics N.V. Test access port (TAP) controller system and method to debug internal intermediate scan test faults
US20050075688A1 (en) * 2003-10-02 2005-04-07 Toy Alex C. Medical device programmer with selective disablement of display during telemetry
US20050075687A1 (en) * 2003-10-02 2005-04-07 Phillips William C. Z-axis assembly of medical device programmer
US20050075686A1 (en) * 2003-10-02 2005-04-07 Phillips William C. Medical device programmer with faceplate
US20050075691A1 (en) * 2003-10-02 2005-04-07 Phillips William C. Neurostimulator programmer with internal antenna
US20050075692A1 (en) * 2003-10-02 2005-04-07 Schommer Mark E. Medical device programmer with internal antenna and display
US20050075685A1 (en) * 2003-10-02 2005-04-07 Forsberg John W. Medical device programmer with infrared communication
US20050075689A1 (en) * 2003-10-02 2005-04-07 Toy Alex C. Circuit board construction for handheld programmer
US20060075295A1 (en) * 2004-10-04 2006-04-06 Cisco Technology, Inc., A California Corporation Method of debugging "active" unit using "non-intrusive source-level debugger" on "standby" unit of high availability system
US20060106563A1 (en) * 2004-11-12 2006-05-18 Goyal Saket K Method and system of generic implementation of sharing test pins with I/O cells
US20060173444A1 (en) * 2000-01-21 2006-08-03 Medtronic, Inc. Ambulatory medical apparatus with hand held communication device
CN100435126C (en) * 2006-12-25 2008-11-19 中国科学院安徽光学精密机械研究所 JTAG simulation signal intensifier circuit based on high-speed processor
US20090006915A1 (en) * 2007-06-29 2009-01-01 Lucent Technologies, Inc. Apparatus and method for embedded boundary scan testing
US7475303B1 (en) 2003-12-29 2009-01-06 Mips Technologies, Inc. HyperJTAG system including debug probe, on-chip instrumentation, and protocol
US7861119B1 (en) * 2007-12-07 2010-12-28 American Megatrends, Inc. Updating a firmware image using a firmware debugger application
US7991479B2 (en) 2003-10-02 2011-08-02 Medtronic, Inc. Neurostimulator programmer with clothing attachable antenna
US20110229549A1 (en) * 2004-12-08 2011-09-22 Helen Marie Nugent Methods and Compositions for Enhancing Vascular Access
US20120307438A1 (en) * 2011-06-02 2012-12-06 Hon Hai Precision Industry Co., Ltd. Electronic device having multifunctional network interface port
US9405604B2 (en) * 2014-04-15 2016-08-02 Apple Inc. Method and apparatus for connecting debug interface to processing circuits without sideband interface
CN108241546A (en) * 2017-12-04 2018-07-03 北京东土科技股份有限公司 A kind of BDI debuggers share the method, apparatus and system used

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812562A (en) * 1996-11-15 1998-09-22 Samsung Electronics Company, Ltd. Low cost emulation scheme implemented via clock control using JTAG controller in a scan environment
US5937154A (en) * 1997-03-05 1999-08-10 Hewlett-Packard Company Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port
US6026501A (en) * 1995-08-30 2000-02-15 Motorola Inc. Data processing system for controlling execution of a debug function and method thereof
US6028983A (en) * 1996-09-19 2000-02-22 International Business Machines Corporation Apparatus and methods for testing a microprocessor chip using dedicated scan strings
US6430705B1 (en) * 1998-08-21 2002-08-06 Advanced Micro Devices, Inc. Method for utilizing virtual hardware descriptions to allow for multi-processor debugging in environments using varying processor revision levels

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026501A (en) * 1995-08-30 2000-02-15 Motorola Inc. Data processing system for controlling execution of a debug function and method thereof
US6035422A (en) * 1995-08-30 2000-03-07 Motorola, Inc. Data processing system for controlling execution of a debug function and method therefor
US6028983A (en) * 1996-09-19 2000-02-22 International Business Machines Corporation Apparatus and methods for testing a microprocessor chip using dedicated scan strings
US5812562A (en) * 1996-11-15 1998-09-22 Samsung Electronics Company, Ltd. Low cost emulation scheme implemented via clock control using JTAG controller in a scan environment
US5937154A (en) * 1997-03-05 1999-08-10 Hewlett-Packard Company Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port
US6430705B1 (en) * 1998-08-21 2002-08-06 Advanced Micro Devices, Inc. Method for utilizing virtual hardware descriptions to allow for multi-processor debugging in environments using varying processor revision levels

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173444A1 (en) * 2000-01-21 2006-08-03 Medtronic, Inc. Ambulatory medical apparatus with hand held communication device
US20020087948A1 (en) * 2000-03-02 2002-07-04 Jonathan Dzoba Configurable debug system with proactive error handling
US6785854B1 (en) * 2000-10-02 2004-08-31 Koninklijke Philips Electronics N.V. Test access port (TAP) controller system and method to debug internal intermediate scan test faults
US20020103993A1 (en) * 2001-01-26 2002-08-01 Alexander Marc D. System and method for providing information to a computer system
US6842855B2 (en) * 2001-01-26 2005-01-11 Dell Products L.P. System and method for providing information to a computer system
US20020194542A1 (en) * 2001-05-18 2002-12-19 Sony Computer Entertainment Inc. Debugging system for semiconductor integrated circuit
US7111212B2 (en) * 2001-05-18 2006-09-19 Sony Computer Entertainment Inc. Debugging system for semiconductor integrated circuit
US20040123196A1 (en) * 2002-12-23 2004-06-24 Shidla Dale J. Enabling multiple testing devices
US7469370B2 (en) * 2002-12-23 2008-12-23 Hewlett-Packard Development Company, L.P. Enabling multiple testing devices
US20070288068A1 (en) * 2003-10-02 2007-12-13 Medtronic, Inc. Medical device programmer with selective disablement of display during telemetry
US7263406B2 (en) 2003-10-02 2007-08-28 Medtronic, Inc. Medical device programmer with selective disablement of display during telemetry
US20050075685A1 (en) * 2003-10-02 2005-04-07 Forsberg John W. Medical device programmer with infrared communication
US20050075689A1 (en) * 2003-10-02 2005-04-07 Toy Alex C. Circuit board construction for handheld programmer
WO2005043967A1 (en) * 2003-10-02 2005-05-12 Medtronic, Inc. Z-axis assembly of medical device programmer
WO2005042087A1 (en) * 2003-10-02 2005-05-12 Medtronic, Inc. Medical device programmer with infrared communication
US7631415B2 (en) 2003-10-02 2009-12-15 Medtronic, Inc. Method for assembling a programmer for a medical device
US9248299B2 (en) 2003-10-02 2016-02-02 Medtronic, Inc. Medical device programmer
US20050075691A1 (en) * 2003-10-02 2005-04-07 Phillips William C. Neurostimulator programmer with internal antenna
US20050075686A1 (en) * 2003-10-02 2005-04-07 Phillips William C. Medical device programmer with faceplate
US20060276857A1 (en) * 2003-10-02 2006-12-07 Medtronic, Inc. Medical device programmer with infrared communication
US20050075692A1 (en) * 2003-10-02 2005-04-07 Schommer Mark E. Medical device programmer with internal antenna and display
US7203549B2 (en) 2003-10-02 2007-04-10 Medtronic, Inc. Medical device programmer with internal antenna and display
US7729766B2 (en) 2003-10-02 2010-06-01 Medtronic, Inc. Circuit board construction for handheld programmer
US7272445B2 (en) 2003-10-02 2007-09-18 Medtronic, Inc. Medical device programmer with faceplate
US20050075687A1 (en) * 2003-10-02 2005-04-07 Phillips William C. Z-axis assembly of medical device programmer
US7356369B2 (en) 2003-10-02 2008-04-08 Medtronic, Inc. Z-axis assembly of medical device programmer
US20080127478A1 (en) * 2003-10-02 2008-06-05 Medtronic, Inc. Medical device programmer assembly
US9248298B2 (en) 2003-10-02 2016-02-02 Medtronic, Inc. Medical device programmer with selective disablement of display during telemetry
US20050075688A1 (en) * 2003-10-02 2005-04-07 Toy Alex C. Medical device programmer with selective disablement of display during telemetry
US7991479B2 (en) 2003-10-02 2011-08-02 Medtronic, Inc. Neurostimulator programmer with clothing attachable antenna
US7561921B2 (en) 2003-10-02 2009-07-14 Medtronic, Inc. Neurostimulator programmer with internal antenna
US20090119555A1 (en) * 2003-12-29 2009-05-07 Mips Technologies, Inc. Hyperjtag System Including Debug Probe, On-Chip Instrumentation, and Protocol
US7475303B1 (en) 2003-12-29 2009-01-06 Mips Technologies, Inc. HyperJTAG system including debug probe, on-chip instrumentation, and protocol
US7613966B2 (en) 2003-12-29 2009-11-03 Mips Technologies, Inc. Hyperjtag system including debug probe, on-chip instrumentation, and protocol
US7587635B2 (en) * 2004-10-04 2009-09-08 Cisco Technology, Inc. Method of debugging “active” unit using “non-intrusive source-level debugger” on “standby” unit of high availability system
US20060075295A1 (en) * 2004-10-04 2006-04-06 Cisco Technology, Inc., A California Corporation Method of debugging "active" unit using "non-intrusive source-level debugger" on "standby" unit of high availability system
US7181359B2 (en) * 2004-11-12 2007-02-20 Lsi Logic Corporation Method and system of generic implementation of sharing test pins with I/O cells
US20060106563A1 (en) * 2004-11-12 2006-05-18 Goyal Saket K Method and system of generic implementation of sharing test pins with I/O cells
US20110229549A1 (en) * 2004-12-08 2011-09-22 Helen Marie Nugent Methods and Compositions for Enhancing Vascular Access
CN100435126C (en) * 2006-12-25 2008-11-19 中国科学院安徽光学精密机械研究所 JTAG simulation signal intensifier circuit based on high-speed processor
US20090006915A1 (en) * 2007-06-29 2009-01-01 Lucent Technologies, Inc. Apparatus and method for embedded boundary scan testing
US7661048B2 (en) 2007-06-29 2010-02-09 Alcatel-Lucent Usa Inc. Apparatus and method for embedded boundary scan testing
US8135993B1 (en) 2007-12-07 2012-03-13 American Megatrends, Inc. Updating a firmware image using a firmware debugger application
US8407526B1 (en) 2007-12-07 2013-03-26 American Megatrends, Inc. Updating a firmware image using a firmware debugger application
US7861119B1 (en) * 2007-12-07 2010-12-28 American Megatrends, Inc. Updating a firmware image using a firmware debugger application
US20120307438A1 (en) * 2011-06-02 2012-12-06 Hon Hai Precision Industry Co., Ltd. Electronic device having multifunctional network interface port
US8527686B2 (en) * 2011-06-02 2013-09-03 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Electronic device having multifunctional network interface port
US9405604B2 (en) * 2014-04-15 2016-08-02 Apple Inc. Method and apparatus for connecting debug interface to processing circuits without sideband interface
CN108241546A (en) * 2017-12-04 2018-07-03 北京东土科技股份有限公司 A kind of BDI debuggers share the method, apparatus and system used
CN108241546B (en) * 2017-12-04 2021-02-02 北京东土科技股份有限公司 Method, device and system for sharing use of BDI debugger

Similar Documents

Publication Publication Date Title
US6584590B1 (en) JTAG port-sharing device
KR102604010B1 (en) Automated test equipment using on-chip-system test controller
US5355369A (en) High-speed integrated circuit testing with JTAG
KR100337006B1 (en) Method and apparatus for design verification of electronic circuits
US6668339B1 (en) Microprocessor having a debug interruption function
US20080229152A1 (en) On-chip debug emulator, debugging method, and microcomputer
US9152520B2 (en) Programmable interface-based validation and debug
KR20010072036A (en) Integrated circuit comprising a self-test device for executing a self-test of the integrated circuit
US20030084388A1 (en) System and method for testing circuits and programming integrated circuit devices
JP2014532914A (en) Programmable test equipment
JPH07218600A (en) Streamlined simultaneous testing method and device of electric circuit
JP2941135B2 (en) Pseudo LSI device and debug device using the same
CN100468331C (en) Code download in a system having multiple integrated circuits with JTAG capability
US7036046B2 (en) PLD debugging hub
JP4232621B2 (en) Semiconductor integrated circuit device
US7096396B2 (en) Test system for circuits
US20080103619A1 (en) Manufacturing Test and Programming System
US8661303B2 (en) Mechanism to instantiate a JTAG debugger in a browser
US7130787B1 (en) Functional replicator of a specific integrated circuit and its use as an emulation device
US7451074B2 (en) Embedded microprocessor emulation method
Van Treuren et al. Embedded boundary scan
KR20080013528A (en) Intergration prototyping method
CN117234831B (en) Chip function test method and system based on multi-core CPU
KR101020709B1 (en) Method of transferring data in an electronic circuit, electronic circuit and relating device
KR20000060737A (en) VLSI Emulator Using Processors and Reconfigurable Chips

Legal Events

Date Code Title Description
AS Assignment

Owner name: LUCENT TECHNOLOGIES INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BEAN, JOHN R.;REEL/FRAME:010172/0755

Effective date: 19990810

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:043966/0574

Effective date: 20170822

Owner name: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP, NEW YO

Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:043966/0574

Effective date: 20170822

AS Assignment

Owner name: WSOU INVESTMENTS, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALCATEL LUCENT;REEL/FRAME:044000/0053

Effective date: 20170722

AS Assignment

Owner name: BP FUNDING TRUST, SERIES SPL-VI, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:049235/0068

Effective date: 20190516

AS Assignment

Owner name: WSOU INVESTMENTS, LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP;REEL/FRAME:049246/0405

Effective date: 20190516

AS Assignment

Owner name: OT WSOU TERRIER HOLDINGS, LLC, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:056990/0081

Effective date: 20210528

AS Assignment

Owner name: WSOU INVESTMENTS, LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:TERRIER SSC, LLC;REEL/FRAME:056526/0093

Effective date: 20210528