WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for testing a megacell in an ASIC using JTAG    

Custom CD of patents similar to US5805609 : Method and apparatus for testing a megacell in an ASIC using JTAG - $19.95
United States Patent5805609   
Link to this pagehttp://www.wikipatents.com/5805609.html
Inventor(s)Mote, Jr.; L. Randall (Laguna Hills, CA)
AbstractSpecially modified JTAG test circuitry is used to provide test inputs and outputs for vendor supplied megacells with buried I/Os within an integrated circuit chip. A multiplexer or similar circuit is used to alternatively select between a JTAG boundary scan output or a megacell circuit test output in response to JTAG instructions within an instruction register. Additionally, a multiplexer or similar circuit is used to alternatively select between an input pin or normal circuitry for input to a megacell's buried input. Furthermore, an AND or OR gate is used to allow test inputs to a megacell, which are normally tied either high or low, to be controlled by an input pin when in the special JTAG test mode. In this manner, test vectors applied at test inputs to the megacell circuitry result in test outputs to the megacell circuitry being provided on output pins of the integrated circuit without requiring additional input and/or output pins that are solely operational as test inputs or outputs to the megacell circuitry.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5805609
Method and apparatus for testing a megacell in an ASIC using JTAG - US Patent 5805609 Drawing
Method and apparatus for testing a megacell in an ASIC using JTAG
Inventor     Mote, Jr.; L. Randall (Laguna Hills, CA)
Owner/Assignee     Samsung Electronics Co., Ltd. (Seoul, KR)
Patent assignment
All assignments
Company News
Publication Date     September 8, 1998
Application Number     08/883,803
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 27, 1997
US Classification     714/726 714/30
Int'l Classification     G01R 031/28
Examiner     Beausoliel Jr.; Robert W.
Assistant Examiner     Iqbal; Nadeem
Attorney/Law Firm     Knobbe, Martens, Olson & Bear, LLP
Address
Parent Case     RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 08/528,397, filed Sep. 14, 1995, which was a continuation-in-part of U.S. patent application Ser. No. 08/480,483, filed Jun. 7, 1995 now abandoned.
Priority Data    
USPTO Field of Search     371/22.31 371/22.32 371/22.34 371/22.5 371/25.1 371/27.5 395/182.05 395/183.01 395/183.06 395/183.03 395/183.15 395/183.19 364/489 364/550 324/765 324/76.11 365/201
Patent Tags     testing megacell asic jtag
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5644580
Champlin
714/733
Jul,1997

[0 after 0 votes]
5617431
Tupuri

Apr,1997

[0 after 0 votes]
5610927
Segars
714/730
Mar,1997

[0 after 0 votes]
5596585
Njinda
714/733
Jan,1997

[0 after 0 votes]
5448575
Hashizume
714/727
Sep,1995

[0 after 0 votes]
5448576
Russell
714/727
Sep,1995

[0 after 0 votes]
5442640
Bardell, Jr.
714/718
Aug,1995

[0 after 0 votes]
5426626
Katayama
369/44.41
Jun,1995

[0 after 0 votes]
5418470
Dagostino
324/763
May,1995

[0 after 0 votes]
5150044
Hashizume
324/763
Sep,1992

[0 after 0 votes]
4947395
Bullinger
714/730
Aug,1990

[0 after 0 votes]
4855669
Mahoney
324/73.1
Aug,1989

[0 after 0 votes]
5115435
Langford, II
714/727
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A system which permits an embedded megacell within an integrated circuit to be tested using test vectors applied to input/output pins of the integrated circuit without requiring dedicated input/output pins for the test vectors, said system comprising:

custom designed digital logic circuitry formed within said integrated circuit, said custom designed digital logic circuitry having inputs and outputs which are connected to input/output pins of said integrated circuit when said integrated circuit is operating in a normal operational mode;

a standardized megacell module having independent functionality formed within said integrated circuit and incorporated into said integrated circuit so as to communicate and function in unison with said custom designed digital logic circuitry, said megacell module having test inputs and test outputs which are used to test functionality of said megacell module, said test inputs and test outputs having no connections to input/output pins of said integrated circuit when said integrated circuit is operating in said normal operational mode;

a JTAG boundary scan data register which stores a test vector used to test integrity of inputs and outputs of said integrated circuit, said boundary scan data register having outputs;

selection circuitry having first inputs which receive said outputs from said custom designed logic circuitry, second inputs which receive said outputs from said boundary scan data register and third inputs which receive said outputs from said megacell module, said selection circuitry having outputs, said selection circuitry having selection inputs which control which of said first inputs, said second inputs and said third inputs are routed to said outputs of said selection circuitry;

a JTAG instruction register which stores instruction bits, selected ones of said instruction bits provided to said selection inputs of said selection circuitry to control which of said first inputs, said second inputs and said third inputs of said selection circuitry are routed to said outputs of said selection circuitry, said instruction bits controlled in said normal operational mode to select said first inputs to route the outputs of said custom designed logic circuitry to said output of said selection circuitry, said instruction bits controlled in a JTAG boundary scan test operational mode to select said second inputs to route said outputs from said boundary scan data register to said outputs of said selection circuitry, and said instruction bits controlled in a megacell test mode to select said third inputs to route said outputs of said megacell to said outputs of said selection circuitry;

a plurality of external pins connected to said outputs of said selection circuitry, said outputs from said custom designed logic circuitry being propagated to said external pins when said integrated circuit is operating in said normal operational mode, said test outputs of said megacell module being propagated to said external pins when said selected ones of said instruction register bits are controlled to cause said integrated circuit to operate in said megacell test mode of operation, said outputs from said boundary scan data register being propagated to said external pins when said selected ones of said instruction register bits are controlled to cause said integrated circuit to operate in said JTAG boundary scan test operational mode; and

at least one gate interposed between at least one of said input/output pins of said integrated circuit and at least one selected test input of said megacell, said at least one gate controlled by a megacell test signal from said JTAG instruction register to communicate a signal on said at least one of said input/output pins to said at least one selected test input of said megacell when said megacell test signal is active and to force said at least one selected test input of said megacell to a predetermined inactive state when said megacell test signal is not active.

2. A system as defined in claim 1, further comprising a switching circuit including first and second inputs and an output, said switching circuit selecting between an input pin connected with said first input of said switching circuit or said custom designed digital logic circuitry connected with said second input of said switching circuit, said output of said switching circuit being connected to said standardized megacell module.

3. A system as defined in claim 2, wherein said switching circuit comprises a multiplexer.

4. A method of testing a megacell within an integrated circuit having said megacell as an embedded component of circuitry within said integrated circuit, said megacell having at least one test output signal having no connection external to said integrated circuit during normal operation of said integrated circuit, said megacell having at least a first input and a second input, said first input and said second input having no connections external to said integrated circuit during normal operation, said integrated circuit including logic which communicates signals to and receives signals from said megacell during said normal operation of said integrated circuit, said logic applying a signal to said first input of said megacell during normal operation, said integrated circuit having a plurality of signals which are provided as inputs to and outputs from said logic via respective pins of said integrated circuit during said normal operation of said integrated circuit, said method comprising:

applying a serial instruction to said integrated circuit via a JTAG input pin to place said integrated circuit into a predetermined megacell test mode such that said integrated circuit is no longer operating in said normal mode of operation;

selectively disabling at least one of said plurality of output signals from said logic to a respective first external pin of said integrated circuit;

selectively routing said test output signal from said megacell to said respective first external pin of said integrated circuit;

selectively disabling said signal from said logic to said first input to said megacell and applying a test input signal to said first input of said megacell via a second external pin of said integrated circuit to stimulate said megacell to perform a test operation;

selectively routing a signal from a third external pin of said integrated circuit to said second input of said megacell during said test operation and selectively forcing said second input of said megacell to a predetermined fixed logic level during said normal operation; and

monitoring said test output signal from said megacell at said respective first pin of said integrated circuit during said test operation.

5. A system for testing a megacell within an integrated circuit having said megacell as an embedded component of circuitry within said integrated circuit, said megacell having at least first and second inputs and at least one output which are not connected to external pins of said integrated circuit during a normal mode of operation of said integrated circuit, said integrated circuit further including logic, said integrated circuit having a plurality of signals which are provided as normal input signals to and normal output signals from said logic on respective external pins of said integrated circuit during said normal operation of said integrated circuit, said integrated circuit further including JTAG boundary scan testing circuitry, said system comprising:

a JTAG input pin, wherein a serial instruction is applied to said JTAG input pin and communicated to said boundary scan testing circuitry, said boundary scan testing circuitry responsive to said serial instruction to place said integrated circuit into one of a predetermined megacell test mode of operation, a boundary scan test mode of operation, or a normal mode of operation;

a first signal pin of said integrated circuit which is interconnected with said logic when said integrated circuit is operating in said normal mode of operation;

a first selectable electrical path from said first pin to said first input of said megacell, wherein a test input signal applied to said first pin when said integrated circuit is in said megacell test mode of operation is communicated to said megacell via said selectable electrical path to thereby stimulate said megacell to perform a test operation and to generate a test output signal, said selectable electrical path blocked when said integrated circuit is operating in said normal mode of operation to force said first input of said megacell to a predetermined fixed logic level;

a second pin of said integrated circuit;

a second selection circuit connected between said second pin of said integrated circuit and said second input of said megacell, said second selection circuit providing a path from said second pin to said second input of said megacell when said integrated circuit is in said megacell test mode of operation, said second selection circuit providing a path from said logic when said integrated circuit is in said normal mode of operation;

a third pin of said integrated circuit; and

a selection circuit coupled to said third pin of said integrated circuit which receives said test output signal from said megacell, which receives one of said plurality of output signals from said logic, and which receives a signal from said boundary scan test circuitry, said selection circuit providing a selected output signal to said third pin of said integrated circuit, said selected output signal being said test output signal when said integrated circuit is in said test mode of operation upon application of said serial instruction on said JTAG input pin, said selected output signal being said one of said output signals from said logic when said integrated circuit is in said normal mode of operation, said selected output signal being a boundary scan test signal from said boundary scan test circuitry when said integrated circuit is in said boundary scan test mode of operation.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to improvements in testing of integrated circuits. Specifically, the invention involves a method and apparatus for testing a megacell within an application specific integrated circuit "ASIC" at the chip level.

2. Description of Related Art

The increasing complexity of circuit designs and new integrated circuit packaging techniques leads to an ever increasing problem of testing integrated circuits and printed circuit boards. Software testing of digital hardware is constantly improving, however the complexity of the circuitry makes testing more difficult unless the components are designed with testability in mind.

One method for testing circuitry which has received notable attention is the IEEE 1149.1 Boundary-Scanned Standard originated by the International Joint Tests Action Group (JTAG), (hereby incorporated by reference). One implementation of this standard involves designing components (e.g., integrated circuits) for serial boundary-scanned testing by providing shift-register elements daisy chained to form a path around the periphery of an integrated circuit component. The idea behind the serial testing is to shift serial data into and through a number of integrated circuit components. The serial data is applied to inputs of known circuitry to effect outputs as determined by the circuit functions. A master testing circuit compares the return data to an expected result (i.e., a result which is dependent upon the functions of the known circuitry). In other words, the serial data inputs applied to the circuit being tested produces known outputs if the circuit is functioning properly. If the data stream returned to the master testing circuit is not as expected, then a malfunction in the circuit is detected by the testing circuit. A careful analysis (under software control) of the deviations in the data stream may isolate any malfunctions within a circuit.

Boundary-scanned testing of components, as briefly explained above, can also be expanded to testing of a very large scale integrated (VLSI) circuitry such as an ASIC. An ASIC includes internal logic circuitry which is normally inaccessible via the output pins supplied on the IC package. Such internal logic circuitry within the ASIC is typically vendor-supplied as a module having defined inputs and outputs, and is commonly referred to as a megacell. In some circuit boards, the test inputs and outputs for the vendor-supplied megacell within the ASIC are connected to special pins on the IC package so that the megacell is accessible for testing purposes by the manufacturer via external pins on the IC package. However, the extra pins required to test the cell are typically of no use during normal implementation and operation of the IC. Furthermore, the additional test pins sometimes require the manufacturer to increase the IC package to the next larger size die and or package because of the increased number of pins. Thus, the IC package takes additional printed circuit board real estate and costs are increased because a larger die size is generally more expensive.

Furthermore, the standard JTAG specification allows a megacell within an ASIC to be surrounded internally with JTAG cells. However, use of this test architecture is incompatible with the way a vendor typically tests megacells supplied by the vendor. That is, megacell vendors generally have a standard test for their megacells. While the standard test vectors and testing methods provided by the vendor to test a megacell are flexible enough to allow for alternate pin ordering when testing their megacells, it is cost prohibitive for a vendor to change the functionality of the standard test. For example, a standard vendor test might be serially loaded through the JTAG port and applied in parallel to the megacell but this would be cost prohibitive since it would multiply the test time by twice the length of the JTAG chain.

SUMMARY OF THE INVENTION

A JTAG interface is used, in accordance with one aspect of the present invention to load a custom JTAG instruction which will bring the test inputs and outputs for a vendor-supplied megacell within an ASIC to the output pins in place of the normal signals provided on the output pins for use by the fabricator of the ASIC in his chip level testing of that ASIC. Thus, extra pins are not required to test the cell. This saves pins and prevents the manufacturer from having to go to the next larger die size and or package size because of additional test pins. Thus, printed circuit board real estate is reduced, and costs are reduced because the smaller die size is generally less expensive. The JTAG interface is not used in the manner it was intended (i.e., as the sole interface to the tester). Instead, it is used to place the ASIC in a test mode which allows a vendor's standard megacell test to run, without adding new pins.

Under one aspect, the present invention is a system which provides for a reduced number of external pins on an integrated circuit (IC) package having JTAG test capability. The system comprises custom designed digital logic circuitry formed within the IC package. The custom designed digital logic circuitry has inputs and outputs. The system further comprises a standardized megacell module having independent functionality formed within the IC package and incorporated into the IC package so as to communicate and function in unison with the custom designed digital logic circuitry. The megacell module has test inputs and test outputs which are used to test functionality of the megacell module. The system also includes a JTAG boundary scan data test register having outputs which stores a test vector used to test integrity of inputs and outputs of the IC package. In addition, the system comprises first selection circuitry having first inputs connected to at least one of the outputs of the data test register and at least one of the test outputs of the megacell module, where the first selection circuitry further receives a first selection input and provides one of the first inputs as an output based upon the first selection input; and second selection circuitry having second inputs connected to the output of the first selection circuitry and to at least one of the outputs of the custom designed digital logic circuitry, where the second selection circuitry further receives a second selection input and provides one of the second inputs as an output based upon the second selection input. The system of the invention additionally comprises a JTAG instruction register which stores instruction bits, and wherein the instruction bits are used to determine the first selection input to the first selection circuitry and the second selection input to the second selection circuitry. Finally, the system includes a plurality of external pins connected as outputs of the second selection circuitry so that the test outputs of the megacell module are provided on the external pins when the instruction register is set to cause the first and second selection circuitry to propagate the megacell module test inputs and outputs to the external pins.

Under a further aspect, the invention is a method of testing a megacell within an integrated circuit having the megacell as an integral component of circuitry within the integrated circuit. The megacell has at least one test output signal having no connection external to the integrated circuit during operation of the integrated circuit. The integrated circuit has a plurality of signals which are provided as outputs on respective pins of the integrated circuit during the operation of the integrated circuit. The method comprises applying a serial instruction to the integrated circuit via a JTAG input pin to place the integrated circuit into a predetermined test mode; selectively disabling one of the plurality of output signals from a respective first pin of the integrated circuit; selectively routing the test output from the megacell to the respective first pin of the disabled output signal; applying a test input to the megacell via a second pin of the integrated circuit to stimulate the megacell to perform a test operation; and monitoring the test output of the megacell at the respective first pin of the integrated circuit.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a schematic block diagram which illustrates the configuration of a JTAG test circuit.

FIG. 2 is a schematic block diagram which shows an IC circuit having a megacell with test input/output terminals connected to external pins of the IC.

FIG. 3 is a state diagram showing the operation of the TAP controller circuit used to control the JTAG test circuit.

FIG. 4 is a schematic block diagram showing an improved JTAG test circuit which provides a connection of an internal megacell with an external pin.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a schematic block diagram showing an integrated circuit (IC) chip 100 configured for testing using a JTAG IEEE 1149.1 daisy-chain boundary-scan serial testing system. The exemplary JTAG system shown in FIG. 1 comprises a master pattern generator/comparator 102 which outputs a data/instruction signal over a line 105, a mode signal over a line 107, and a clock signal over a line 109. It should be understood that according to conventional terminology, the data/instruction signal line 105 is also referred to as the TDI signal line, the mode signal line 107 is referred to as the TMS signal line, and the clock signal line 109 is referred to as the TCK signal line. The output lines 105, 107, and 109 of the pattern generator/comparator 102 connect to external input pins extending from the IC 100 so that a TAP controller state machine 110 within the IC 100 receives the signals via the lines 105, 107, and 109.

The TAP controller state machine 110 connects to a data shift register 115 via a serial data line 117 and a clock enable line 119. The TAP controller state machine 110 further connects to an instruction shift register 120 via a serial instructions line 122 and a clock enable line 124. It should be noted here that, typically, the TDI line 105, the serial data line 117, and the serial instructions line 122 are connected to a common node and the lines 105, 117, and 122 differ only insofar as they are considered as carrying data, instructions, or both.

The data shift register 115 is connected in parallel with a latched data register 130, while the instruction shift register 120 connects in parallel with a latched instruction register 140. Each of the bit storage locations within the latched data register 130 connects to a first input of a multiplexer within the IC 100. For example, as depicted in FIG. 1, one of the storage locations of the latched data register 130 connects to a first input of a 2:1 multiplexer 145 via a line 147. Similarly, each of the storage locations within the latched data register 130 connects to an input of a multiplexer within the IC 100; however, for simplicity of illustration, only one multiplexer 145 is depicted in FIG. 1 as connected to the latched data register 130.

The latched instruction register 140 connects in parallel to a decoder 150 which is used to decode the instructions stored within the latched instruction register 140. The decoder 150 provides select output to each of the JTAG multiplexers within the IC 100 (i.e., the multiplexers used to provide JTAG forced output levels). However, again for simplicity of illustration, the decoder 150 is shown in FIG. 1 to provide only a single select output to the multiplexer 145 via a line 152.

A second input of the multiplexer 145 connects to the normal integrated circuitry 160 within the IC 100 via a line 162. The normal integrated circuitry 160 within the IC 100 is the circuitry which performs the specified functions which the IC 100 carries out during normal operation (i.e., when the IC 100 is not being tested). The output of a multiplexer 145 connects to an output pin on the surface of the IC 100 via a line 165.

The data shift register 115 and the instruction shift register 120 respectively output serial data and instruction lines 172, 174 as first and second inputs to a 2:1 multiplexer 170 which, in turn, outputs a serial data return line 175 to the pattern generator/comparator 102.

In operation, the pattern generator/comparator 102 generates a pattern of data and/or instructions (typically called a test vector) which are serially transmitted over the line 105 to the TAP controller state machine 110. The pattern generator/comparator 102 further provides a mode and a clock signal to the TAP controller state machine 110 via the lines 107, 109, respectively. As will be described in greater detail below with reference to FIG. 3, the TAP controller state machine 110 responds to the mode and clock signals to shift the data or instructions provided on the line 105 into either the data shift register 115 (i.e., when data are provided along the line 105) or into the instruction shift register 120 (i.e., when instructions are provided over the line 105). The data which is shifted into the data shift register 115 and the instructions which are shifted into the instruction shift register 120 are serially clocked into their respective shift registers 115, 120 under the control of the TAP controller state machine 110. Thus, for example, if 70 data bits are to be shifted into the data shift register 115 and 30 instruction bits are to be shifted into the instruction shift register 120, a total of 100 clock cycles will be taken to shift each of the data and instruction bits into their respective shift registers. Of course, as will be described in greater detail below, additional clock cycles will be necessary to transfer data from the pattern generator/comparator 102 to the TAP controller state machine 110 and to change the mode of the TAP controller state machine 110 so that the TAP controller state machine 110 provides the appropriate control signals on the clock enable lines 119, 124.

Once the appropriate data for testing the designated inputs and outputs of the IC 100 are shifted into the shift registers 115, 120, the shift registers 115 and 120 parallel latch the data and instructions contained within the shift registers 115, 120 into the respective latched registers 130, 140. The instructions latched into the register 140 are decoded by the decoder 150 to select the appropriate output of the multiplexer 145, as well as any other JTAG multiplexers (not shown) within the IC 100. As briefly described above, each of the JTAG multiplexers (e.g., the multiplexer 145 shown in FIG. 1) receives a JTAG input which is connected to the latched data register 130. Thus, for example, the multiplexer 145 is enabled by the decoder 150 via the line 152 to select the input 147 connecting to a storage location within the register 130. Thus, the output 165 of the multiplexer 145 is forced to the bit value stored within the register 130. In this manner, the output connections of the IC 100 over the line 165 may be tested for defects. For example, if the storage location connected to the multiplexer 145 via the line 147 contains a high voltage level bit (i.e., corresponding to a digital 1), then the output of the multiplexer 145 along the line 165 should be detected at the output pin of the IC 100 to be a digital 1. If this output pin does not generate a digital 1, then the test circuitry to which the IC 100 is connected will register an error so that the IC 100 may be designated as defective. This test is performed for each of the inputs and outputs designated by the decoder 150 in response to the instructions loaded by the pattern generator/comparator 102.

Of course, although not depicted in FIG. 1, it will be understood that multiple ICs may be connected in series in a daisy-chain configuration so that the pattern generator/comparator 102 can shift in data and instructions for multiple ICs at one time. Thus, the IC 100 includes a multiplexer 170 which selectively shifts out the data passing through the register 115 or the instructions passing through the register 120 via the lines 172 or 174 under the control of the TAP controller state machine 110. Finally, the data output from the last IC is transferred back to the pattern generator/comparator 102 via the serial return line 175.

FIG. 2 is a schematic block diagram which depicts an IC 200 including a vendor-supplied megacell 210 in addition to normal integrated circuitry 220. The megacell 210 operates as a functional unit within the IC 200 which receives inputs from and provides inputs to the normal circuitry 220 via lines 225.

The vendor-supplied megacell 210 is distinguished from the normal circuitry 220 in that the vendor-supplied megacell 210 has a standardized structure and function provided by the vendor, while the normal circuitry is custom designed by an ASIC designer. Thus, the megacell module has an independent functionality (i.e., the megacell could be used to perform the same function in a variety of different surrounding circuit configurations so that this functionality is substantially independent from the other circuitry within the IC 200). Furthermore, a separate set of test vectors than those used to test the overall IC 200 are typically used to separately test the functionality of the megacell 210.

Thus, for example, an ASIC designer uses standard functional logic blocks such as UARTS, phase locked loops, etc., as a part of the ASIC design. An ASIC vendor supplies structure for these standard functional logic blocks, which the ASIC designer incorporates into a custom ASIC. These standard functional blocks are referred to as megacells, and the megacell vendor typically supplies test vectors which are used by the chip foundry during the manufacturing process to test the megacell within the ASIC. Typically, the ASIC can be tested as an entire unit, but if malfunctions are discovered in the entire unit, it will be difficult to determine if the malfunctions are due to custom circuitry whose structure is provided by the ASIC designer or due to the cell vendor-supplied megacell circuitry. For this reason, the megacells are tested independently using the test vectors provided by the cell vendor. Additionally, the ASIC designer need not expend the effort to exhaustively test the megacell since this testing will be done via the vendor supplied tests.

However, as depicted in FIG. 2, in order to test a megacell such as the megacell 210, test outputs from the megacell 210 require multiple output pins 235 on the exterior surface of the ASIC 200. The vendor-supplied test vectors are applied to the test inputs 230, and the resulting pattern on the test outputs 235 is measured to determine if the megacell is functioning correctly. The testing of the megacell functionality is typically performed at the chip foundry (i.e., as a test after fabrication), but is not necessary after the chip is in normal operational use. Thus, for example, only the operational inputs and outputs 240 would be used when the IC 200 is implemented within a circuit during normal operation. Thus, the output pins 235 are superfluous during normal operation of the IC 200. As will be described in greater detail with reference to FIG. 4 below, the present invention provides for a reduction of the number of output pins on an IC package which incorporates a megacell circuit. The savings afforded by the present invention could be significant (e.g., on the order of one or two dozen pins could be eliminated) so that a more cost effective (i.e., smaller) die size and IC package could be used.

FIG. 3 is a state diagram which illustrates the operation of the TAP controller 110 in response to control signals provided on the mode and clock lines 107, 109. The TAP controller state machine 110 begins in an idle state 300 which constitutes a controller state between scan operations. Once entered, the TAP controller 110 will remain in the idle state 300 as long as the TMS is held low. In the idle state 300, activity in selected test logic occurs only when certain instructions are present as is well understood in the art. For instructions loaded in the instruction register 140 that do not cause functions to execute in the idle TAP controller state 300, all test data registers selected by the current instruction shall retain their previous state (i.e., idle). Furthermore, the instructions loaded within the instruction register 140 do not change while the TAP controller 110 is in the idle state 300.

When the TMS (mode signal along the line 107) is high and a rising edge is applied to the TCK signal (clock over the line 109) the TAP controller 110 moves to a select data register scan state 305. The select data register scan state 305 is a temporary controller state in which all test data registers selected by the current instruction retain their previous state. If TMS is held low while a rising edge is applied to TCK, then the TAP controller 110 transitions to a capture data register state 315, while if TMS is held high, and a rising edge is applied to TCK, then the TAP controller state machine 110 transitions to a select instruction register scan state 310.

If the TAP controller state machine 110 transitions into the capture data register state 315, then, in this state, data may be parallel-loaded into the data register 130 from the shift data register 115 on the rising edge of TCK. If the JTAG test circuitry does not include a parallel-loaded data register 130, or if capturing is not required for the selected test, then the data register retains its previous state unchanged. Furthermore, the bits stored within the instruction registers 140, 120 remain unchanged while the TAP controller state machine 110 is in the captured data register state 315. When the TAP controller 110 is in the capture data register state 315 while TMS is held low and a rising edge is applied to TCK, then the controller enters a shift data register state 320. However, if TMS is held high while the rising edge is applied to TCK, then the TAP controller state machine 110 transitions to an exit data register state 325 directly from the