WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Computer system configuration via test bus    

Get related patents on CD
United States Patent5343478   
Link to this pagehttp://www.wikipatents.com/5343478.html
Inventor(s)James; Larry C. (West Columbia, SC); Kagy; Carl W. (Lexington, SC); Gates; Jeffrey F. (Newberry, SC); Hawkey; Jeffrey A. (Easley, SC); Heil; Thomas F. (Easley, SC); Simpson; David L. (West Columbia, SC)
AbstractSystem configuration, monitoring and control functions are performed in a computer system by means of a serial test bus which is incorporated into the computer system for testing components, for example integrated circuits, used to construct one or more modules of the system. The conventional serial test bus is modified to include register circuitry on modules of the computer system and/or within integrated circuits which are interconnected to construct the modules. These registers are written and read by the serial test bus for configuring the computer system as well as performing other operations such as monitoring and error logging within the computer system. To extend the amount of information which can be contained within these registers, preferably memory devices such as EEPROM, RAM, and the like, are associated with the registers and accessible therethrough. The introduction of memory into the serial test bus permits configuration information to be stored in the modules and/or integrated circuits making up the computer system. If memory and/or other devices external to the serial test bus are included on modules or other components of the system, the time required to access these devices may exceed a default access time defined by the operating speed of the serial test bus. To ensure proper operation with such devices, a pacing or ready signal is generated such that access is delayed until the requested access can be successfully completed.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 5343478
Computer system configuration via test bus - US Patent 5343478 Drawing
Computer system configuration via test bus
Inventor     James; Larry C. (West Columbia, SC); Kagy; Carl W. (Lexington, SC); Gates; Jeffrey F. (Newberry, SC); Hawkey; Jeffrey A. (Easley, SC); Heil; Thomas F. (Easley, SC); Simpson; David L. (West Columbia, SC)
Owner/Assignee     NCR Corporation (Dayton, OH)
Patent assignment
All assignments
Company News
Publication Date     August 30, 1994
Application Number     07/800,901
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     November 27, 1991
US Classification     714/726 714/30
Int'l Classification     G01R 031/28
Examiner     Atkinson; Charles E.
Assistant Examiner    
Attorney/Law Firm     Penrod; Jack R.
Address
Parent Case    
Priority Data    
USPTO Field of Search     371/22.3 371/22.1 324/158 R 395/575
Patent Tags     computer configuration via test bus
   
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
5222068
Burchard

Jun,1993

[0 after 0 votes]
5173904
Daniels
714/729
Dec,1992

[0 after 0 votes]
5115191
Yoshimori
714/724
May,1992

[0 after 0 votes]
4918379
Jongepier
324/73.1
Apr,1990

[0 after 0 votes]
4879717
Sauerwald
714/727
Nov,1989

[0 after 0 votes]
4860290
Daniels
714/726
Aug,1989

[0 after 0 votes]
4853929
Azuma
714/730
Aug,1989

[0 after 0 votes]
4710931
Bellay
714/730
Dec,1987

[0 after 0 votes]
4701921
Powell
714/727
Oct,1987

[0 after 0 votes]
4635261
Anderson
714/732
Jan,1987

[0 after 0 votes]
4621363
Blum
714/731
Nov,1986

[0 after 0 votes]
4597080
Thatte
714/726
Jun,1986

[0 after 0 votes]
4225957
Doty, Jr.
714/725
Sep,1980

[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 method of operating a computer system test bus to configure a computer system including said test bus, said method comprising the steps of:

maintaining configuration information for said computer system;

providing configuration register means for receiving said configuration information;

interfacing said configuration register means with said test bus;

defining a write operation for said test bus to write said configuration register means via said test bus; and

performing said write operation to transfer said configuration information to said configuration means to thereby configure said computer system.

2. A method of operating a computer system test bus to configure and monitor a computer system including said test bus, said method comprising the steps of:

maintaining configuration information for said computer system;

providing register means for receiving said configuration information and information representative of operation of said computer system;

interfacing said register means with said test bus;

defining a write operation for said test bus to write said register means via said test bus;

performing said write operation to transfer said configuration information to said register means to thereby configure said computer system;

defining a read operation for said test bus to read said register means via said test bus; and

performing said read operation to retrieve information representative of operation of said computer system from said register means.

3. A method of operating a computer system test bus to configure and monitor a computer system including said test bus as claimed in claim 2 further comprising the steps of:

generating a ready signal indicating that said register means is ready to be read and written;

inactivating said ready signal in response to initiation of performance of read and write operations in response to said read and write signals if said register means is not ready to be read and written; and

reactivating said ready signal when said register means is ready to be read and written.

4. A method of operating a computer system test bus to configure and monitor a computer system including said test bus as claimed in claim 3 further comprising the steps of:

providing memory means for storing information defining said computer system; and

interfacing said register means with said memory means.

5. A method of operating a computer system test bus to configure and monitor a computer system including said test bus as claimed in claim 4 wherein the step of maintaining configuration information for said computer system is performed by storing said configuration information in said memory means.

6. A serial test bus for a computer system comprising:

test bus controller means for generating timing, data and control signals for operation of said test bus; and

test access means operable in response to signals from said test bus controller means for testing said computer system, said test access means including register means for receiving data from said test bus controller means for operation of said computer system for purposes other than testing.

7. A serial test bus for a computer system comprising:

test bus controller means for generating timing, data and control signals for operation of said test bus; and

test access means operable in response to signals from said test bus controller means for testing and configuring said computer system, said test access means comprising configuration register means for receiving data from said test bus controller means for configuring said computer system while not under test.

8. A serial test bus for a computer system as claimed in claim 7 wherein said configuration register means further provides for receiving status and error data from said computer system, said test bus controller means further providing for reading said configuration register means for monitoring and error logging operations for said computer system.

9. A serial test bus for a computer system as claimed in claim 8 wherein said test access means further comprises pacing means for delaying operation of said test bus controller means when performing read and write operations on said configuration register means whenever said read and write operations exceed a defined access time.

10. A serial test bus for a computer system as claimed in claim 9 further comprising memory means associated with said configuration register means and accessible therefrom for storing information defining said computer system.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

The present invention relates generally to computer systems and, more particularly, to a method and apparatus for operating a computer system to configure the system via a serial test bus included within the system. The present invention not only permits system configuration via a serial test bus but also permits status monitoring, error logging and comparable operations to be performed via a serial test bus during system operation. The present invention is generally applicable to computer systems and components and, in its broadest aspects, can be utilized within a single integrated circuit.

Historically, initial system configuration has been implemented by physical devices on circuit boards making up the system. For example, switches, plugs, jumpers, connectors and the like were used for configuration. Accordingly, configuration or reconfiguration of a computer system required significant time and the resulting configuration often included errors which required still more time to correct. In addition, the reliability of the computer system was reduced due to the possible failures of the physical configuration devices.

An improved computer system configuration arrangement is provided by using integrated circuit (IC) devices to store system configuration data. The IC devices are initialized by entering configuration data into the devices from an interactive controller which usually retains the configuration data between periods of time when the system is active or until system reinitialization is requested.

In systems with high levels of integration, IC system configuration devices are implemented as application specific integrated circuits or ASICs. The ASICs often do not interface with a system or processor bus and therefore cannot be accessed directly under program control. Therefore, a separate configuration port or bus is needed to interface with the ASICs for configuration purposes. Unfortunately, the provision of a separate configuration bus adds to the cost and complexity of a computer system and also tends to increase the connection points or pin counts required for the ICs or ASICs used to construct a computer system.

Accordingly, there is a need for simple and effective way of accessing the ICs or ASICs of a computer system for system configuration without the requirement of a separate configuration bus. Preferably, the system configuration access arrangement would also provide for other system operations such as status monitoring, error logging and comparable operations within the computer system.

SUMMARY OF THE INVENTION

This need is met by the method and apparatus of the present invention wherein system configuration as well as other monitoring and control functions are performed in a computer system by means of a serial test bus which is commonly incorporated into the computer system for testing components, for example integrated circuits, used to construct modules of the computer system. The conventional serial test bus is modified to include register circuitry on modules of the computer system and/or within integrated circuits which are interconnected to construct the modules. The registers thus included within the computer system are written and read by the serial test bus for configuring the computer system as well as performing other operations such as monitoring and error logging within the computer system. To extend the amount of information which can be contained within these registers, preferably memory devices such as EEPROM, RAM, and the like, are associated with the registers.

The introduction of memory into the serial test bus permits configuration information to be stored in the modules and/or integrated circuits making up the computer system. For this arrangement of the present invention, the serial bus is able to access the configuration information stored within modules or other components of the computer system and then configure the system by utilizing the retrieved configuration information to derive necessary settings for the registers. When memory and/or other devices external to the serial test bus are included on modules or other components of the system, the time required to access these devices may exceed a default access time defined by the operating speed of the serial test bus. To ensure proper operation with such devices, a pacing or ready signal is generated in accordance with the present invention such that access is delayed until the ready signal is active. Thus, when such a device is accessed, it deactivates the ready signal until the requested access can be successfully completed.

In accordance with one aspect of the present invention, a method of operating a computer system test bus to configure a computer system including the test bus comprises the steps of: maintaining configuration information for the computer system; providing configuration register means for receiving the configuration information; interfacing the configuration register means with the test bus; defining a write operation for the test bus to write the configuration register means via the test bus; and, performing the write operation to transfer the configuration information to the configuration means to thereby configure the computer system.

In accordance with another aspect of the present invention, a method of operating a computer system test bus to configure and monitor a computer system including the test bus comprises the steps of: maintaining configuration information for the computer system; providing register means for receiving the configuration information and information representative of operation of the computer system; interfacing the register means with the test bus; defining a write operation for the test bus to write the register means via the test bus; performing the write operation to transfer the configuration information to the register means to thereby configure the computer system; defining a read operation for the test bus to read the register means via the test bus; and, performing the read operation to retrieve information representative of operation of the computer system from the register means.

This method may further comprise the steps of: generating a ready signal indicating that the register means is ready to be read and written; inactivating the ready signal in response to initiation of performance of read and write operations in response to the read and write signals if the register means is not ready to be read and written; and, reactivating the ready signal when the register means is ready to be read and written. To expand the capabilities of the method it may also further comprise the steps of: providing memory means for storing information defining the computer system; and, interfacing the register means with the memory means. Preferably, the step of maintaining configuration information for the computer system is performed by storing the configuration information in the memory means.

In accordance with still another aspect of the present invention, a serial test bus for a computer system comprises test bus controller means for generating timing, data and control signals for operation of the test bus. Test access means operable in response to signals from the test bus controller means is provided for testing the computer system. The test access means includes register means for receiving data from the test bus controller means for operation of the computer system.

In accordance with yet another aspect of the present invention, a serial test bus for a computer system comprises test bus controller means for generating timing, data and control signals for operation of the test bus. Test access means operable in response to signals from the test bus controller means is provided for testing and configuring the computer system. The test access means comprises configuration register means for receiving data from the test bus controller means for configuring the computer system.

To extend the capabilities of the present invention, the configuration register means may further provide for receiving status and error data from the computer system. For this arrangement, the test bus controller means further provides for reading the configuration register means for monitoring and error logging operations for the computer system. If the configuration register means cannot respond within a defined test bus access time, pacing means are provided for delaying operation of the test bus controller means when performing read and write operations on the configuration register means. Preferably, the serial test bus further comprises memory means associated with the configuration register means and accessible therefrom for storing information defining the computer system.

It is thus an object of the present invention to provide an improved method and apparatus for a serial test bus for a computer system through which system configuration can be performed; to provide an improved method and apparatus for a serial test bus for a computer system through which system configuration can be performed by means of registers which are associated with components of the computer system and receive configuration information for the system; and, to provide an improved method and apparatus for a serial test bus for a completer system through which system configuration can be performed by means of registers which are provided on components of the computer system and interface with memory used to store the system configuration information as well as other information relating to system operation.

Other objects and advantages of the invention will be apparent from the following description, the accompanying drawings and the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram schematically illustrating the connections and signals for a standard serial test bus (IEEE Std 1149.1) adapted to operate with an additional pacing or ready RDY signal, of the present application;

FIG. 2 is a state diagram for a test access port (TAP) controller of an IEEE 1149.1 serial test bus adapted to operate with the RDY signal of the present application;

FIG. 3 is a schematic block diagram illustrating an architecture for an IEEE 1149.1 serial test bus modified in accordance with one of the broadest aspects of the present application to include a plurality of registers designated in FIG. 3 as configuration registers which are accessible through the serial test bus;

FIG. 4 is a schematic diagram of an exemplary circuit for generating the RDY signal;

FIG. 5 comprised of FIGS. 5A and 5B, is a schematic block diagram of an IEEE1149.1 serial test bus modified in accordance with the present application illustrating the configuration registers of FIG. 3 in more detail and including memory accessible from the test bus;

FIG. 6 illustrates a sixteen register organization for the configuration registers of FIG. 5, each register having 8 bits with the contents of two memory registers being concatenated to address a memory having a 64K subaddress space;

FIGS. 7 and 8 are timing diagrams for write and read operations, respectively, for the memory of FIGS. 5 and 6 and for registers external to the bus;

FIG. 9 is a schematic block diagram of a configuration and test (CAT) bus architecture in accordance with the present application for a computer system having a plurality of modules;

FIGS. 10 and 11 are schematic block diagrams of configurations of a CAT bus in accordance with the present application for use with a computer system module;

FIGS. 12-14 illustrate instruction error detection for a CAT bus in accordance with one aspect of the present application;

FIGS. 15-18 is a schematic illustration of the relationship of devices within a boundary scan path and the corresponding tables in accordance with the present application;

FIG. 19 illustrates an output test vector, a signal map entry and drive determinations for output test vectors in terms of vector classes;

FIG. 20 is a schematic block diagram of an EXTEST table constructed for intermodule testing of a multiple module computer system;

FIG. 21-25 when interconnected as shown in FIG. 26 form a flow chart for performing intermodule testing using JTAG EXTEST procedures; and

FIG. 26 illustrates proper interconnection of FIGS. 21-25.

DETAILED DESCRIPTION OF THE INVENTION

The present application discloses a number of structural and operational modifications to a serial test bus which has been standardized by the Institute of Electrical and Electronics Engineers, IEEE, and is designated as the IEEE Std 1149.1. This serial test bus was developed by a Joint Test Action Group, JTAG, composed of members from both Europe and North America and is often referred to as a JTAG bus. Herein, the standard serial test bus is referred to interchangeably as an IEEE 1149.1 bus, a JTAG bus and/or, once modified in accordance with the disclosures of the present application, as a configuration and test (CAT) bus. The later name, CAT bus, reflects one of the purposes of the modifications of the JTAG bus which is to permit configuration of a computer system including a serial test bus by means of the serial test bus. While portions of the standard JTAG bus will be described herein, the structure and operation of the standard JTAG bus are well known to those skilled in the art. Those desiring additional knowledge or details of the standard JTAG bus are referred to the above noted IEEE Std 1149.1.

FIG. 1 schematically illustrates the connections and signals for a JTAG bus adapted to operate with an additional pacing or ready RDY signal to form a CAT bus system 100. The CAT bus system 100 includes a bus system controller 102 which will also be referred to herein as a CAT controller and, as illustrated in FIG. 1, generates the following signals: test data input, TDI; test clock, TCK; test mode select, TMS; and, an optional test reset, TRST. The test data output, TDO, and ready, RDY, signals are generated by the devices 104, 106 and 108 referred to as JTAG devices #1, #2 and #n in FIG. 1 which are connected to the bus system controller 102. The generation and use of the RDY signal, the only nonstandard JTAG bus signal of FIG. 1, will be fully described hereinafter.

FIG. 2 is a state diagram 110 for a test access port (TAP) controller of an IEEE 1149.1 serial test bus adapted to operate with the RDY signal of the present application. A TAP controller 114 is shown in FIG. 3 which illustrates the architecture of an IEEE 1149.1 serial test bus modified in accordance with one of the broadest aspects of the present application to include a plurality of registers designated in FIG. 3 as configuration registers 116 which are accessible through the serial-test bus. The configuration registers 116 are included along with a number of other standard JTAG registers collectively identified as test data registers and shown within a circuit block 118.

The standard JTAG registers include a boundary scan register 120 which is associated with each input and output connection for an integrated circuit, module or other entity which is to be tested by the JTAG bus. The boundary scan register 120 permits control and observation of signals at the input and output connections of an entity by means of standard JTAG bus operations well known in the art. A BYPASS register 122 and an optional identification, ID, register 124 are also shown within the block 118. The outputs of the registers 116, 120, 122 and 124 are selectively connected to an output multiplexer 126 through a register selector multiplexer 128. The output multiplexer 126 is connected to a D-flip-flop 130 having a Q output terminal which is connected to a buffer circuit 132 which ultimately passes the test data output, TDO, signal back to the bus system controller 102. The TDO signal is indicated as a CAT.sub.-- TDO in FIG. 3 since a configuration and test bus architecture is illustrated. Thus, each of the registers 116, 120, 122 and 124 can be selectively connected into the TDI-TDO JTAG bus serial scan path.

The TAP controller 114 is controlled by the bus system controller 102 via the control signals: test clock, TCK; test mode select, TMS; and, test reset, TRST, to generate control signals for the output multiplexer 126, the D-flip-flop 130, the buffer circuit 132, an instruction register 134 and an instruction decoder circuit 136 which is connected to receive instructions from the instruction register 134 and in turn generate control signals for the registers 116, 120, 122 and 124 and corresponding select signals for the register selector multiplexer 128. The states of the state diagram 110 of FIG. 2 for operation of the TAP controller 114 are as follows:

in the Test-Logic-Reset (TLR) state, the test logic is disabled so that normal operation of the circuit or module logic can operate unhindered by the JTAG test bus;

the Run-Test-Idle (RTI) state is a state between scan operations which allows idling or pacing of instruction execution;

the Select-DR (SDR) state is a temporary state in which all test data registers selected by a current instruction retain their previous state;

the Select-IR (SIR) state is a temporary controller state in which all test data registers selected by the current instruction retain their previous state;

in the Capture-DR (CDR) state, data may be parallel loaded into test data registers selected by the current instruction or the previous register state remains unchanged if the test data register selected does not have a parallel input;

in the Shift-DR (SDR) state, the test data register connected between TDI and TDO as a result of the current instruction shifts data one stage towards its serial output on each rising edge of TCK;

the Exit1-DR (E1DR) state is a temporary controller state from which the controller scanning process can be terminated or paused;

in the Pause-DR (PDR) state shifting of test data register in the serial path between TDI and TDO is temporarily halted;

the Exit2-DR (E2DR) state is a temporary state from which the controller can enter the Shift-DR state or an Update-DR state;

in the Update-DR (UDR) state, data is latched onto the parallel output of test data registers from the shift register path on the falling edge of TCK;

in the Capture-IR (CIR) state, the shift register contained in the instruction register of the controller loads data on the rising edge of TCK;

in the Shift-IR (SIR) state the shift register contained in the instruction register is connected between TDI and TDO and shifts data one stage towards its serial output on each rising edge of TCK;

the Exit1-IR (E1IR) state is a temporary controller state from which the controller scanning process can be terminated or paused;

the Pause-IR (PIR) state allows shifting of the instruction register to be halted temporarily;

the Exit2-IR (E2IR) state is a temporary state from which the controller can enter the Shift-IR state or an Update-IR state; and,

for the Update-IR (UIR) state the instruction shifted into the instruction register is latched onto the parallel output from the shift register path to become the current instruction.

The state diagram 110 for the TAP controller 114 is identical to the standard JTAG TAP controller state diagram shown in the IEEE Std 1149.1; however, in FIG. 2 it is shown to depict the operation of the RDY signal. The logic state values (0 and 1) shown adjacent to each state transition in the state diagram 110 of FIG. 2 represent the logic values of the TMS signal at the time of a rising edge of the TCK signal. Since the bus system controller 102 is the source of the TMS signal, it is adapted for operation with the RDY signal such that the RDY signal must be active before the bus system controller 102 will cause transition of the TAP controller 114 from the RTI state. Note that the bus system controller 102 can operate with standard JTAG devices since such standard devices will never deactivate the RDY signal.

Reference will now be made to FIG. 5 which illustrates the configuration registers 116 of FIG. 3 in more detail. In addition, the configuration registers 116 are shown as being able to access a nonvolatile memory 138 and an external configuration register, i.e., a register external to the test bus, from the test bus. Timing diagrams for reading and writing the memory 138 and external registers are shown in FIGS. 7 and 8 and will be referred to hereinafter for clarification of those operations.

The memory 138 may comprise any form of nonvolatile memory such as EEPROM, RAM or other memory devices and may be either internal or external to the test bus structure. In FIG. 5, the configuration registers 116 are illustrated as comprising n internal configuration registers 116.sub.a through 116.sub.n with internal configuration registers 116.sub.c, 116.sub.f and 116.sub.g interfacing with the memory 138 and internal configuration register 116.sub.n being identified as either an internal configuration register and receiving an update signal or an external configuration register and receiving a read/write RD/WR signal and generating a ready signal. Control signals for the configuration registers 116 are generated by a configuration register control circuit 116C.

To enable the JTAG bus to operate with additional test data registers, such as the configuration registers 116, two groups of JTAG user definable instructions, one for reads and one for writes, are provided for the CAT bus of the present application. The illustrated embodiment is implemented to provide sixteen configuration registers using an eight bit instruction field such that the following instructions are defined.

______________________________________ INSTRUCTION (binary) COMMAND DEFINITION ______________________________________ p0nnnn01 Read Configuration Register (nnnn = register number) p0nnnn10 Write Configuration Register (nnnn = register number) ______________________________________

Where p=is an instruction parity bit. For example, to read the status of the sixth configuration register CR6, 116.sub.f, a JTAG instruction would be issued with the binary value of "10011001", using even parity.

To expand the number of configuration addresses, three ports of the configuration address space, i.e., three of the configuration registers 116.sub.c, 116.sub.f and 116.sub.g, are arranged to provide a subaddress extension space within the memory 138. Two of these ports, configuration registers 116.sub.f and 116.sub.g, are concatenated to define the subaddress and the third port, configuration registers 116.sub.c, is used to write or read data to the subaddress within the memory 138 addressed by the concatenated contents of the configuration registers 116.sub.f and 116.sub.g. To facilitate sequential accesses of the subaddress space, a subaddress auto-increment function is provided to increment either one of the ports or configuration registers 116.sub.f and 116.sub.g which define the address for the memory 138. The auto-increment function is enabled and disabled via a bit in the configuration register 0010 labeled "control" in FIG. 6.

It is noted that the subaddress range depends on the number of bits per configuration register. For example, an eight bit register size results in a 16 bit subaddress if the two configuration registers 116.sub.f and 116.sub.g are concatenated as illustrated to provide a 64k subaddress range. An illustration of this 16 register arrangement with subaddress extension into the memory 138 is shown in FIG. 6. The subaddress extension concept is particularly useful for interfacing with memory devices such as EEPROM and RAM which may contain status and/or configuration information for the computer system including the CAT bus.

To enable the JTAG bus to operate with devices which may not be able to respond within a default access time defined for the JTAG bus, such as the memory 138 and external registers exemplified by the configuration register 116.sub.n, a mechanism for pacing or handshaking accesses to such devices is provided. The pacing function is accomplished by means of the ready, RDY, signal added to the JTAG interface as shown in FIGS. 1, 2, 4, 5 and 9-11. The ready RDY signal is deactivated by a JTAG device upon selection if it cannot respond to a data read or write access within a default access time which is dependent on the frequency of the JTAG clock, TCK.

FIG. 4 illustrates how the ready RDY signal can be implemented in a register or memory device which requires additional time to respond to read and write commands. As shown in FIG. 4, a read signal RD.sub.-- L is activated during a read command of an external register or a memory device such as the memory 138 and a write signal WR.sub.-- L is activated during a write command of an external register or memory device. At the beginning of a read or write operation, the RDY signal is deactivated by means of NAND gates 140, 142 until a number of pulses of the JTAG clock TCK are received and passed through D-flip-flops 144, 146 and 148 to reactivate the ready RDY signal. The number of D-flip-flops provided corresponds to the number of clock pulses and therefore the time required for access of a corresponding device including the ready RDY signal generating circuitry. Of course a large variety of arrangements will be apparent to those skilled in the art for generating the pacing or ready signal as described herein.

Prior to describing operation of the CAT bus of the present application for reading and writing the memory 138 and any external registers exemplified by the configuration register 116.sub.n, inclusion of the CAT bus within a computer system will be described with reference to FIGS. 9-11. In FIG. 9, the CAT bus is shown as being incorporated into a computer system 150 having a plurality of modules 152 which make up the system 150. Each of the modules 152 typically will in turn be made up by a plurality of integrated circuit devices which can be any off-the-shelf devices; however, in the illustrated embodiment, application specific integrated circuits or ASICs are used and thus will be indicated herein. In accordance with the present application, the CAT bus provides a convenient arrangement for not only testing the ASICs which are interconnected to form one of the modules 152 but also permits testing of the modules 152 and the system interconnections of the modules 152.

For ASIC level testing, the CAT bus architecture of FIGS. 3 and 5 is incorporated into each of the ASICs and is operated to test the ASICs operation at the chip level. The CAT bus architecture of FIGS. 3 and 5 is also incorporated into each of the system modules 152 to permit testing of the computer system 150 on the module level. Finally, the CAT bus of the present application is used to test at the system level by generating test signals from each of the modules 152 onto a parallel or common bus, for example a system bus 153 shown in FIG. 9, and monitoring the resulting signals