A method of testing circuitry is by the application of scan design which consists of a series of shift registers or latches which form a serial scan path through a logic circuit. The scan path can be used to observe and control logic elements in the design via serial scan operations. The present invention allows a continuous scan path to be compressed or expanded so that the scan path only passes through the desired logic element(s) to be tested. Devices connected on the serial scan path (or ring) can be selected or deselected thus allowing the serial path to either flow through or bypass a given logic circuit's internal scan path. The invention can be used to create a hierarchical scan network consisting of a primary scan ring from which a multiplicity of scan sub-rings may be accessed.
A semiconductor integrated circuit device includes an internal function circuit formed on a first rectangular region on a rectangular semiconductor chip for implementing a function specific to the device, and a predetermined function control circuit formed on a second rectangular region for implementing a fixed function irrespective of the function implemented by said internal function circuit. First and second rectangular regions are separate regions. In the hierarchical design of an integrated circuit device, the circuit of the first rectangular region can be used as the structure component of another integrated circuit on another chip. The predetermined function control circuit can be laid out on the second rectangular region of another chip. The predetermined function control circuit is a testing circuit of boundary scan method, including a standardized structure component.
A modular logic circuit is disclosed, where each of the modules may be selected for testing by means of a scan path within the module made up of serial register latches (SRLs), each SRL being connected to predetermined nodes in the module functional circuitry. Each of the modules has a test port, which is independent from the system bus interconnections in the logic circuit, and which has an SRL for receiving serial data for selection of the scan path within the module. Responsive to the logic state stored in a module's selection SRL, the scan path within the module will either be enabled or disabled. After selection of a module or modules for testing, serial data is scanned into the SRLs in the scan path for setting the associated predetermined functional circuitry nodes; after exercise of the functional circuitry, the SRLs in the scan path store the results of the exercise at the predetermined nodes. An additional SRL is contained within each test port, and in the scan path, for storing a logic state corresponding to whether the functional circuitry in the module is to be connected to or disconnected from the system bus during the test sequence. A configuration is further disclosed which has global SRLs in the modules; such global SRLs are always in the scan path, regardless of whether or not the module containing them is selected. Multiplexing of the scan data and the configuration data is also disclosed.
A system scan path architecture is provided by a device select module (DSM) (18) which may be used in conjunction with associated circuits (16a-b) to select secondary scan paths (PATH1-m) on each circuit for coupling with a primary scan path on a test bus (14). The test bus (14) is controlled by a primary bus master (12). Remote bus masters (124) may be used in conjunction with the DSMs (18) to provide serial-scan testing independent of the primary bus master (12).
A scheme is provided for efficient transfer of N separate L-bit segments of data (where N and L are integers) to or from an L-bit register (14) in a device under test (10) serially coupled with at least one other register in a device (10') in a scan chain. To carry out such data transfer, a stream of N L-bit segments of interest is first concatenated to, and ahead of, a packet of L.sub.1 filler bits, where L.sub.1 is the cumulative number of register cells in the chain of devices (10') upstream of the L-bit register (14) in the device under test (10). The stream of L.sub.1 +NL bits is applied to the chain by shifting the first L.sub.1 bits of the block of NL bits through the chain to flush the previous data stored in the registers upstream of the L-bit register in the device under test (10). The remaining bits in the stream of L.sub.1 +NL bits are then shifted through the chain of devices (10 and 10' ) until the L.sub.1 filler bits have been shifted into the data registers of the devices (10') upstream of the device under test. An alternate data transfer scheme is also provided.
A protocol and associated circuitry operable for efficiently extending serial bus capability into multi-level system environments is disclosed. The protocol is designed to coexist and be fully compatible with existing serial bus approaches, or being used as a standalone serial communications bus. The circuitry and protocol described enable the use of a common serial bus in a hierarchically arranged system or network, so that a primary serial bus master device can selectively access any device at any level or position in the network, and send and receive messages and commands to and from the device. The invention disclosed accomplishes this without modifying the existing serial bus protocol, without adding additional signals and without affecting the throughput rate of the serial bus it may be used with. Alternative embodiments applying the invention to a cabled system are described. Additional preferred embodiments are also disclosed.