This invention relates generally to semiconductor devices and systems and specifically to backplane physical layer controllers.
Electronic systems include a number of components that perform various functions. These components must be interconnected either by connecting individual components together and/or by connecting groups of components to a bus. Numerous varieties of buses can be used in systems utilizing a bus to connect components. For example, a parallel bus would include more than one data line so that multiple bits of data can be transferred simultaneously. In a serial bus, a single data line is used to carry data between devices sometimes in conjunction with a line to carry the clock signal.
One type of serial bus is specified by IEEE-Std-1394-1995. See IEEE Standard for a High Performance Serial Bus, Institute of Electrical and Electronics Engineers, Aug. 30, 1996. This standard describes a high-speed, low-cost serial bus suitable for use as a peripheral bus or as a secondary control backup to parallel back-plane buses. This standard is hereby incorporated herein by reference.
FIG. 1 shows a system block diagram for a single node on a backplane bus system 10. As shown in the figure, 1394 link layer controller 12 is coupled to a host interface and provides digital data to a 1394 physical layer controller 14. The 1394 physical layer controller 14 provides the signaling for the 1394-compliant bus to transceiver 16. The transceiver 14 is coupled to the bus (not shown). A 1394 backplane physical layer controller 14 is available from Texas Instruments Incorporated as part number TSB14C01A, which is described by the data sheet entitled xe2x80x9cTSB14C01A, TSB1401AI, TSB14C01AM 5-V IEEE 1394-1995 Backplane Transceiver/Arbiterxe2x80x9d, Texas Instruments Incorporated, 1999, pp. 1-30, which is incorporated herein by reference.
In one specific embodiment, the present invention is related to a later version 1394 backplane physical layer controller that can be used to replace the TSB14C01A device. In particular, this specific embodiment includes a register set that allows software written for the previous generation 14C01A to be used with no changes, while also allowing new functionality to be implemented in a software transparent way. This involves designating a particular bit that can be set to a logical xe2x80x9c1xe2x80x9d so that a user can determine whether the later version device is present in the system, or more typically so that software developed for a particular application can determine whether the later version device is present in the system.
In one aspect, the present invention discloses a method of determining whether a semiconductor device comprises a first version device or a second version device. In the preferred embodiment, both the first version device and the second version device include a register set with a plurality of registers. In the first version device, one of the registers is accessible by a first address and includes at least one reserved bit. In addition, the first version device is decoded in such a manner that reading from a second address nonetheless causes reading from the accessible register. To determine whether the first or second version device is present, the second address is used to read from the reserve bit location. If the bit that is read in is a logical 37 1xe2x80x9d, one can determine that the semiconductor device comprises a second version device and take advantage of it""s expanded capabilities If the bit is read as a logical xe2x80x9c0xe2x80x9d, the original version part is present and only the older functionality may be accessed.
In one particular implementation relating to backplane physical layer controllers, the device includes a plurality of eight-bit registers. These registers are decoded by four-bit addresses. At least one of the seventh or eighth bits of the register addressed by the four-bit address xe2x80x9c0010xe2x80x9d is permanently programmed with a logical 37 1xe2x80x9d. This bit(s) can be used to differentiate between the original and later version devices while not affecting operation of software that only comprehends the original version device.