The embodiments discussed herein are related to an initialization method and apparatus of a physical layer performing electrical communication in a system consisting of a plurality of semiconductor integrated circuits.
There has been an ever-increasing demand for improving processing ability. In response to this demand, the performance of semiconductor integrated circuits such as a CPU (Central Processing Unit) for which the main purpose is arithmetic processing and the like is becoming higher and higher. Moreover, in computer systems in recent years, to improve their processing ability, there have been more systems that constitute a large-scale system by a number of semiconductor devices being connected. Thus, for a connected CPU, the number of connections increases more and more with performance improvements in the CPU itself. Its usage is not only at a place such as research facilities conducting special arithmetic processing but it is also used in places such as companies. According to the large-scale computer system demand, the demand for a coupling technique of semiconductor integrated circuits such as the CPU is increasing more than ever.
In order for a plurality of semiconductor integrated circuits to operate in a synchronous manner, it is necessary to make it possible for the semiconductor integrated circuits to start up in synchronization with each other.
As a technique to synchronize semiconductor integrated circuits, a prior art has been known in which a system management device is connected via a system interface to each semiconductor integrated circuit, and the system management devices start the semiconductor integrated circuits connected to each of them in a synchronous manner with each other.
In addition, a prior art is also known in which, after initial setting of a semiconductor integrated circuit, a data path connecting semiconductor integrated circuits with each other is put into a state in which it is able to perform data transfer, and the semiconductor integrated circuits are started in a synchronous manner with each other using the data path.
According to an aspect of the invention, on a transmission path connecting a first semiconductor integrated circuit (LSI 11) that is started by a system management apparatus and a second semiconductor integrated circuit (LSI 12) that is not started from the system management apparatus, when connection of the first semiconductor integrated circuit to the second semiconductor integrated circuit is detected, after being turned to a first signal state for detecting a valid lane, each lane (a4) on the transmission path is turned to a second signal state corresponding to each bit of initial setting code, and in the second semiconductor integrated circuit, a signal state is detected for each lane of the transmission path, and in the second semiconductor integrated circuit, for each lane of the transmission path, based on the detected signal state, when the second signal state is detected after detecting the first signal state, each bit value of the initial setting code is decoded, and based on the decoded initial setting code, the first semiconductor integrated circuit and the second semiconductor integrated circuit execute an initialization process of a facing port to which the transmission path is connected.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
In the prior arts, there is a problem in which a system interface is needed for each semiconductor integrated circuit, expanding the circuit scale. In particular, with the growth in density of integration of the integrated semiconductor device in recent years, there has been an increasing trend wherein the die size of the LSI is determined by the number of interfaces of the LSI rather than the number of semiconductor devices of the LSI. Since the number of interfaces of the LSI has been on the increase with the higher performance of the LSI, there has been a challenge to reduce the number of interfaces of the LSI as much as possible.
Meanwhile, there has been a problem wherein, in order to start semiconductor integrated circuits in a synchronous manner with each other using a data path, a complicated procedure to enable data transfer on the data path is required, which delays the startup time.
Preferred embodiments of the present invention will be explained with reference to accompanying drawings.
In the explanation below, first, a generally-conceivable initialization method of a physical layer of a semiconductor integrated circuit is explained, and after clarifying its problems, the present embodiment is explained.
In this example, in the chassis A and B, through an inter-chassis transmission path, an LSI 14 and an LSI 23, which are each large-scale semiconductor integrated circuits, are connected respectively. In addition, a system management device 1 and a system management device 2 are connected between the chassis by a LAN cable.
In the computer chassis A and B respectively, four large-scale semiconductor integrated apparatuses are provided (hereinafter, simply referred to as a “semiconductor integrated circuit”). The semiconductor integrated circuit apparatus is for example a CPU (Central Processing Unit), a device such as an NC (Node Controller) that controls each CPU (node), or a PCI (Peripheral Components Interconnect bus) switch. An arrow d in
In such a system, the system management device 1 needs to perform the setting for the LSI 11-LSI 14, and the system management device 2 needs to perform the setting for the LSI 21-LSI 24. That is, in that case, the respective system management devices need to communicate with each other, and start the LSI 11-LSI 14 and the LSI 21-LSI 24 in a synchronous manner. In this case, the user is unable to perform the setting and start the LSI 21-LSI 24 mounted on the chassis B from the system management device 1.
That is, the user needs to access both the chassis A and the chassis B. Meanwhile, the system management device sets the operation speed of the data bus connecting the LSIs with each other, and sets the value of various setting registers.
Further, in
In
As described above, in the generally-conceivable methods, a separate system management device is required for each LSI, or, a complicated initialization operation is required for the setting of facing LSIs.
As illustrated in
The first embodiment is a configuration example of a computing system including a system management device 1, a semiconductor integrated circuit 2 (LSI 11), and a semiconductor integrated circuit 3 (LSI 12). The system management device 1 directly accesses a setting register 6 of the LSI 11 via a terminal 5 of the chip of the LSI 11, through a system interface 4. The LSI 11 transmits an initial setting value to the LSI 12 via a transmission path 9, which is a data bus to exchange normal data in the operating state, by switching the transmission data to the time of initialization by a transmission data lane control unit (TXD ctrl) 7. Meanwhile, after detecting the signal level of the transmission path 9 by a level detector 31, the LSI 12 decodes the minimum required initial setting value received via the transmission path 9 by a setting value decoder 32, and sets the values in its own setting value register 33.
In the first embodiment configured as described above, first, for the LSI 11, which is the first semiconductor integrated circuit 2, the initial setting value is set in the setting register 6 in the LSI 11 from the system management device 1, using the system interface 4 that is the same as conventional ones.
Next, for the LSI 12, which is the second semiconductor integrated circuit 3, the transmission data lane control unit 7 in the LSI 11 performs a communication operation as described below using a transmission path 9, which is a data bus to exchange normal data in the operating state. First, the transmission data lane control unit 7 is equipped with a receiver detector for detecting a facing lane. The detector is configured to be able to detect whether or not a facing semiconductor integrated circuit exists from the state of the lane. Next, in the respective lanes of the transmission path 9, a valid lane is determined. Then, the signal state of each lane of the transmission path is turned to a first signal state having a prescribed pattern, in which a logic level “0” and a logic level “1” change in an alternate manner at short first time intervals. Accordingly, the lane that is able to transmit the logic level “0” and the logic level “1” correctly is the valid lane. After the first signal state, the transmission data lane control unit 7 turns the signal state of each lane of the transmission path 9 into a second signal state having second time intervals that are sufficiently longer than the first time intervals, and each lane becomes the logic level “0” or “1” corresponding to each bit value “0” or “1” of the initial setting code. Alternatively, after the first signal state, the transmission data lane control unit 7 turns the signal level state of each lane of the transmission path 9 into a second state in which each lane enters the state having the prescribed pattern described above or the fixed state of the logic level, according to each bit value “0” or “1” of the initial setting code. By the second signal state, the port clock of the LSI 11 is communicated to the LSI 12 facing the LSI 11.
In the facing LSI 12, for each lane of the transmission path 9, each level detector 31 detects the signal level of each lane. Then, based on the detected signal level, the setting value decoder 32 detects the first signal state, which is the state of the prescribed pattern described above, and after the valid lane is decided, the subsequent second signal state corresponding to each bit value of the initial setting code is detected. By performing the detection operation for each lane, the setting value decoder 32 decodes the bit string of the initial setting code, and sets it in the setting register 33 in the LSI 12. Accordingly, the port clock of the LSI 12 becomes the same as the port clock of the LSI 11. Accordingly, the initial setting of the physical layer of the LSI 11 and the LSI 12 is performed.
As described above, in the first embodiment, even in the state in which the operating frequencies of the LSI 11 and the LSI 12 have not yet been synchronized using the transmission path 9, which is the data bus to exchange normal data in the operating state, communication between the LSI 11 and the LSI 12 may be performed, and the initial setting code may be communicated. By making the initial setting code correspond to the frequency value of the PLL (Phased Locked Loop) circuit for the port for example so as to adjust the operating frequencies of the LSI 11 and the LSI 12, it becomes possible to synchronize the operating frequencies between facing LSIs by communication of the initial setting code. Then, after synchronizing the operating frequencies, by communicating the normal packet command using the synchronized transmission path 9, it becomes possible to set other setting values for physical layer initialization from the LSI 11 to the facing LSI 12.
Next,
In
In
In the same manner, at the transmission buffer b1 side, a receiver detector b2 is provided. The receiver detector a2 is configured to be able to detect whether the facing LSI 12 (receiver) exists, from the condition of the lane of the transmission path a4. In the same manner, the receiver detector b2 is configured to be able to detect whether the facing LSI 11 exists, from the condition of the lane of the transmission path b4. The circuit configuration and the operation of the receiver detector are described later using
On each lane of the transmission path a4 at the receiving buffer a6 side of the LSI 12, a level detector a5 for detecting the signal level on each lane of the transmission path a4 is connected. The level detector a5 of each lane is connected to a setting value decoder a8 for decoding the bit value of each lane of the initial setting code transmitted by the facing LSI 11. Then, the setting value decoder a8 is connected to a setting register 21 of the LSI 12. In the same manner, on each lane of the transmission path b4 of the receiving buffer b6 side of the LSI 11, a level detector b5 for detecting the signal level on each lane of the transmission path b4 is connected. The level detector b5 of each lane is connected to a setting value decoder b8 for decoding the bit value of each lane of the initial setting code transmitted by the facing LSI 12. Then, the setting value decoder b8 is connected to a setting register 41 of the LSI 11.
The setting register 41 in the LSI 11 and the setting register 21 in the LSI 12 respectively perform setting of each part in each LSI. For example, in the LSI 11, the setting register 41 is connected to a PLL for port 42. In the same manner, in the LSI 12, the setting register 21 is connected to a PLL for port 22.
Meanwhile, for the PLL which is used to control each operating frequency in the LSI 11 and the LSI 12, two types of PLLs for a port/chip are mounted. PLLs for chip 44 and 24 respectively oscillate a clock at a constant frequency, once the respective power of the LSI 11 and the LSI 12 is turned on. The PLL for port 42 in the LSI 11 starts, after receiving initial setting via the data lane b4, using the bit value. In the same manner, the PLL for port 22 starts, after receiving initial setting via the data lane a4, using the bit value. Meanwhile, the initial frequency setting for the PLL for port 42 in the LSI 11 receives initial setting via the setting register 41 from the system management device 1 in
The initialization state machine 43 in the LSI 11 and the initialization state machine 23 in the LSI 12 control the execution of a series of initialization sequences in each module of each LSI.
In the second embodiment, having the configuration described above, first, for the LSI 11, the initial register value is set in the setting register 41 from the system management device 1 in
Next, in the chassis A in
In the facing LSI 12, for each lane a4, each level detector a5 detects the signal level of each lane. Then, based on each signal level detected at each lane, the setting value decoder a8 detects the state of the prescribed pattern described above, and after that, detects the state corresponding to each bit value of the subsequent initial setting code. By performing this detection operation for each lane, the setting value decoder a8 decodes the bit string of the initial setting code, and sets it in the setting register 21 in the LSI 12.
As described above, in the second embodiment, even in the state in which operating frequencies of the LSI 11 and the LSI 12 have not yet been synchronized, using each lane a4 of the data bus to send and receive normal data in the operating state, the LSI 11 and the LSI 12 may communicate and the initial setting code may be communicated so as to adjust to the operation frequencies of the LSI 11 and the LSI 12. The initial setting code set in the setting register 21 sets the operating frequency of the PLL for port 22. As a result, it becomes possible to synchronize the operating frequency of the PLL for port 22 in the LSI 12 with the operating frequency of the PLL for port 42 in the facing LSI 11.
Then, after synchronizing the respective operating frequencies of the PLL for port 42 and the PLL for port 22, the initialization state machine 43 in the LSI 11 executes the initialization sequence to communicate the normal packet command with the initialization state machine 23 in the LSI 12, using the respective lanes a4 and b4 of each data bus. Accordingly, it becomes possible to set other setting values for physical layer initialization from the LSI 11 for the facing LSI 12.
As described above, in the chassis A in
In
After the power-on operation above, in the present embodiment, in step S803t, the initial register value is set from the system management device 1 in
After that, in step S804t, by the port clock set in the setting register 41 that depends on the data forwarding speed, the port clock for the physical layer is turned on.
Next, in step S805t, by each receiver detector a2 of each lane a4, the presence/absence of the facing lane is detected autonomously.
When a valid facing lane is detected, in step S806t, in the valid lane a4, with the transmission path being controlled so as to be a prescribed pattern described later, the initial setting code is transmitted.
Meanwhile, in the LSI 12 at the receiving side, the level detector a5 in
Each signal level detected at each level detector a5 is decoded respectively by the setting value decoder a8 in
After that, in step S808r, at the frequency corresponding to the initial setting code set in the setting register 21, the port clock is turned on. Accordingly, the PLL for port 22 in the LSI 12 starts operation, and setting for physical layer initialization of each LSI is completed.
After that, in step S809t (transmitting side) and S809r (receiving side), using the respective lanes a4 and b4 of each data bus, by the initialization sequence, initialization of the physical layer is performed. Then, in step S810t, all the register values in the LSI 11 at the transmitting side to be transmitted to the LSI 12 are transmitted to the LSI 12, and in step S810r, receiving and setting of those register values are executed in the LSI 12 at the receiving side. Accordingly, both ports of the data bus move to the normal operating state in which transmission is available.
Meanwhile, the setting value decoder a8 of the LSI 12 at the receiving side detects the state of the lane described above. First, the LSI 12 operates to detect the prescribed pattern of a 0->1 change at all the lanes. As illustrated in
The expected time: (Th0<Th2) is measured using a base clock for which the frequency is 1 MHz for example. It is set for example as Th0=3 [uS] (three cycles), Th2=10 [uS] (ten cycles). However, when these lane states are satisfied by the mechanism of the receiver detectors a2 and b2, there is a risk of receiving a wrong initial setting code. For this reason, as the Th0, Th2, for the number of times n for a prescribed pattern of receiving “0”, “1”, an appropriate number of times according to the system needs to be set. In the present embodiment, since the number of detections of the prescribed pattern of receiving “0” and “1” is set as five times and Th2 has a sufficiently long pattern that does not appear in the receiver detectors a2 and b2, the initial setting code may be received correctly.
In the present embodiment, since there is no opportunity to change the values of the setting values of Th0, Th1 and n of the LSI 12 from outside, a sufficient examination at the time of designing is needed. In particular, it is desirable to set a long time that will never appear except when representing the initial setting code for Th2.
For example, as illustrated as the 0 mark from Lane0 (the 0th lane) to Lane7 (the 7th lane) in
In this embodiment, it is assumed that up to four lanes are out of order, the data bus degenerated, and the operation continued by using active four lanes. In a case of four lanes or more being out of order, the data bus becomes unavailable for use in the first place, and therefore the specification is made so that the initial setting code is transmitted in four lanes.
With such a setting, the LSI 11 is able to perform the setting of the port clock of the facing LSI 12, perform physical layer initialization at the same clock frequency, and to start at the same transmission speed together. Then, after this start, setting for all the registers of the LSI 12 is performed via the transmission path started earlier. By repeating this method, in the configuration example of the system with a plurality of LSIs illustrated in
In
At this time, it is assumed that the bit value “1” of the initial setting code is received in a lane repeating a “1”->“0” change, and the bit value “0” of the initial setting code is received at a lane fixed at “0”. That is, the valid lanes [0] [1] [3] in
The explanation is made according to the order of control. Sig_a is turned to “H” by the voltage control function of the sampling circuit d1 (
a) illustrates a case in which the LSI at the receiver side does not exist, and
In
The LSI 12, after the physical layer initialization with the LSI 11 is completed, performs initialization of the physical layer with the LSI 14, for example. The series of operations are almost equivalent to the case of the LSI 11 and the LSI 12. An explanation is made in order below.
The LSI 12 communicates the initial setting code to be received at the receiving port (RX) side to its own transmission port (TX) side connected to the LSI 14 (step S806t′). The communicated initialization information is transmitted to the LSI 14.
The LSI 14 starts autonomously after the power on operation in the same manner as the steps S801r, S802r in
The LSI 14 that received the initialization code executes a series of physical layer initialization sequences in the same manner as steps S807r-S810r in
After that, when initialization of a port with another LSI is desired, the initial setting code is transmitted to the port. After that, the same procedure as has been carried out so far may be repeated.
This sequence is not limited to the above description. In addition, the order of initialization may also be controlled by the user as needed.
According to the first, second, third embodiments described above, it becomes possible to reliably perform setting for registers necessary for the initialization of a facing LSI.
According to the first through third embodiments, since the setting of initialization may be performed sequentially from one device, as long as the respective devices are connected physically, it becomes possible to start (initialize) all devices of the system.
According to the first, second, and third embodiments, since an access to only one device will do, a centralized management becomes available even for large-scale connections.
According to the first, second, third embodiments, there is a possibility to reduce signal lines from the system management device. At least in the initialization of each LSI, the system management device is only required to be connected to one device.
According to the first, second, and third embodiments, by making a certain circuit operate with a clock of a fixed clock without fail, and by setting the initial setting value in the setting register by the circuit using the fixed clock, the LSI receiving the initial setting code is able to start the physical layer at various operating frequencies.
According to the first, second, and third embodiments, since the initial setting value may be set in the setting register with a very simple circuit compared with the method to perform register setting after initializing the data bus, the difficulty of the circuit design is low and the designing is easy.
After performing setting of initialization from outside for one semiconductor integrated circuit, even when the semiconductor integrated circuits are not synchronized with each other, it becomes possible to set the initial setting code to enable starting the physical layers of the semiconductor integrated circuit in synchronization with each other using the transmission path to exchange normal data in the operating state. Accordingly, by accessing one semiconductor integrated circuit, it becomes possible to perform initialization of a plurality of semiconductor integrated circuits in a simple procedure while reducing the circuit scale.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is a continuation application of International Application PCT/JP2011/59452 filed on Apr. 15, 2011 and designated the U.S., the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2011/059452 | Apr 2011 | US |
Child | 14047714 | US |