EYE-DIAGRAM INDEX ANALYTIC METHOD, COMPUTER READABLE RECORDING MEDIUM, AND ELECTRONIC APPARATUS

Abstract

An eye-diagram index analytic method includes: calculating a transfer function of multiple coupled lines; converting the transfer function into a pulse response; calculating an eye-diagram index according to the pulse response; and correcting the eye-diagram index according to peak distortion analysis.

Claims

1. An eye-diagram index analytic method, comprising: calculating a transfer function of a plurality of coupled lines; converting the transfer function into a pulse response; calculating an eye-diagram index according to the pulse response; and correcting the eye diagram index according to peak distortion analysis.

2. The eye-diagram index analytic method according to claim 1, wherein the transfer function comprises an S-parameter matrix, and the S-parameter matrix is used to describe a frequency domain characteristic of an electronic element between transmission lines.

3. The eye-diagram index analytic method according to claim 2, wherein the electronic element is an electronic element in a double data rate memory circuit.

4. The eye-diagram index analytic method according to claim 1, wherein the transfer function comprises a transfer function of an insertion loss response and a far-end crosstalk response.

5. The eye-diagram index analytic method according to claim 1, wherein the pulse response comprises a pulse response of the insertion loss response and the far-end crosstalk response.

6. The eye-diagram index analytic method according to claim 1, wherein the eye-diagram index comprises at least one of a worst eye height, a worst eye width, a worst center eye height, and a box eye width.

7. The eye-diagram index analytic method according to claim 1, wherein the peak distortion analysis comprises peak distortion analysis of a clock signal.

8. A computer readable recording medium, comprising a computer program, enabling a computer to execute the eye-diagram index analytic method according to claim 1 after executing the computer program.

9. An electronic apparatus, comprising a processor and a storage element, the storage element storing a computer program, enabling the processor to execute the eye-diagram index analytic method according to claim 1 after executing the computer program.

10. The electronic apparatus according to claim 9, further comprising an output/input interface for receiving a circuit parameter and outputting an eye diagram calculated using the eye-diagram index analytic method.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] FIG. 1 is an eye diagram of good signal quality.

[0012] FIG. 2 shows an eye diagram of poor signal quality.

[0013] FIG. 3 is a schematic diagram of a signal path of an insertion loss response according to an embodiment of the disclosure.

[0014] FIG. 4 is a schematic diagram of a signal path of a far-end crosstalk response according to an embodiment of the disclosure.

[0015] FIG. 5 is a schematic diagram of an insertion loss response according to an embodiment of the disclosure.

[0016] FIG. 6 is a schematic diagram of a far-end crosstalk response according to an embodiment of the disclosure.

[0017] FIG. 7 is a schematic diagram of a main cursor according to an embodiment of the disclosure.

[0018] FIG. 8 is a schematic diagram of a worst eye height at a main cursor sampling time point according to an embodiment of the disclosure.

[0019] FIG. 9 is a schematic diagram of a single transmission line where both transmitter and receiver ends are mismatched according to an embodiment of the disclosure.

[0020] FIG. 10 is a schematic diagram of multiple coupled lines where both ends are mismatched according to an embodiment of the disclosure.

[0021] FIG. 11 is a schematic diagram of a capacitor connected in parallel at both a transmitter end and a receiver end according to an embodiment of the disclosure.

[0022] FIG. 12 is a schematic diagram of a DDR4 circuit according to an embodiment of the disclosure.

[0023] FIG. 13 is a schematic diagram of a CMOS output buffer according to an embodiment of the disclosure.

[0024] FIG. 14 is a schematic diagram of a linear equivalent circuit of a transmitter according to an embodiment of the disclosure.

[0025] FIG. 15 is a schematic diagram of a linear equivalent circuit of a receiver according to an embodiment of the disclosure.

[0026] FIG. 16 is a schematic diagram of linear equivalent circuits at SOC and DRAM ends during a write mode according to an embodiment of the disclosure.

[0027] FIG. 17 is a schematic diagram of a linear equivalent circuit at SOC and DRAM ends during a read mode according to an embodiment of the disclosure.

[0028] FIG. 18 is a schematic diagram of a DDR4 circuit according to another embodiment of the disclosure.

[0029] FIG. 19 is a schematic diagram of S-parameters including power supply line ports according to an embodiment of the disclosure.

[0030] FIG. 20 is a schematic diagram of a clock signal sequence according to an embodiment of the disclosure.

[0031] FIG. 21 is a schematic diagram of a worst-case sequence eye diagram according to an embodiment of the disclosure.

[0032] FIG. 22 is a block schematic diagram of an electronic apparatus according to an embodiment of the disclosure.

[0033] FIG. 23 is a flowchart of steps of an eye-diagram index analytic method according to an embodiment of the disclosure.

[0034] FIG. 24 is a block schematic diagram of an electronic apparatus according to another embodiment of the disclosure.

[0035] FIG. 25 is a schematic diagram of a worst eye width according to an embodiment of the disclosure.

[0036] FIG. 26 is a schematic diagram of a worst center eye height according to an embodiment of the disclosure.

[0037] FIG. 27 is a schematic diagram of a box eye width according to an embodiment of the disclosure.

DESCRIPTION OF THE EMBODIMENTS

[0038] An embodiment of the disclosure provides an eye-diagram index analytic method, which can effectively find worst-case sequence patterns on multiple transmission lines in multiple channels. Existing methods need to consider a large number of sequence combinations, which are very computationally intensive and time-consuming. Therefore, an embodiment of the disclosure provides an eye-diagram index based on a peak distortion analysis (PDA) method of a pulse response. Through extending the pulse response to multiple transmission lines, the worst-case sequence patterns on the transmission lines can be quickly found, and the eye-diagram index is calculated to quickly analyze the quality of signal integrity. Such a method can find the worst-case sequence patterns in a short time to calculate the eye-diagram index, thereby saving a lot of time and calculations in simulating an eye diagram.

[0039] Taking a double data rate (DDR) module as an example, the DDR module is one of the most common memory modules in today's computer motherboards and other equipment. With the development of integrated circuit manufacturing technology, the data transmission rate of DDR is getting higher and higher, reaching the gigabit per second (Gbps) level. However, higher and higher data transmission rates and shorter and shorter signal rising and falling times have brought challenges to system signal integrity. In the design of the DDR module, signals are simultaneously transmitted by multiple transmission lines, and often due to cost considerations, the transmission lines are very close together. Therefore, special attention needs to be paid to issues such as transmission delay, reflection, and crosstalk. The issues can cause damage to signal integrity, thereby causing incorrect transmission of data or a reduction in transmission rate. The eye diagram can be used to evaluate the signal integrity of the DDR module and can help a designer understand the signal transmission status and degree of damage, so that appropriate optimization measures can be taken in the design. For example, if an opening of the eye diagram becomes smaller or distorted, the designer may consider ways such as increasing the power of a driver or reducing the length of a transmission line to improve signal integrity.

[0040] An embodiment of the disclosure provides an eye-diagram index analytic method. By inputting S-parameters, a pulse response with boundaries containing mismatched linear elements can be calculated through a derived transfer function, and an eye-diagram index is calculated based on a PDA.

[0041] The eye diagram is composed of a series of overlapping pulse responses, and each waveform represents a signal sample at a different time point. When a continuous digital signal is interfered or distorted during transmission, the shape of the signal waveform changes. Through combining the waveforms, the deformation of a signal may be observed.

[0042] The main objective of the eye diagram is to evaluate the signal quality of a system in high-speed data transmission and to detect issues in data transmission. For example, the eye diagram may be used to detect issues such as signal distortion, timing offset, and spurious interference. Through analyzing the eye diagram, the characteristics of a signal may be further understood, thereby optimizing the design of a transmission system and improving signal quality. As shown in FIG. 1 and FIG. 2, FIG. 1 shows wider eyes, and the eye height and the eye width are both greater than those in FIG. 2, which means that the system of FIG. 1 has better signal integrity.

[0043] Generally, the eye diagram is simulated using a pseudorandom binary sequence (PRBS). However, the amount of data generated by the PRBS is very large, and the analysis and evaluation processes often need a lot of time and resources. Therefore, in order to improve efficiency, the PDA may be adopted to analyze the worst-case eye diagram. The PRBS stands for the pseudorandom binary sequence, which is a digital signal. The PRBS is a binary sequence generated by a set of pseudorandom number generators and has random statistical properties. For example, the numbers of 0 and 1 of the PRBS signal are approximately equal. The PRBS is often used as an input signal for simulating the eye diagram to evaluate the performance of a digital system. However, in actual situations, there are usually many channels. Since the eye diagram generated by the PRBS is only representative when the length is long enough, it will be very time-consuming to use the PRBS to simulate the eye diagram for multiple channels. Also, the ISI of crosstalk on the main signal needs a specific sequence to generate the worst-case eye diagram. In the case of multiple channels, finding the worst-case sequence through peak distortion analysis (PDA) based on the pulse response is the current trend.

[0044] In a linear time-invariant (LTI) system, the pulse responses of the system at different times are superimposed on each other. Therefore, the inter symbol interference may be calculated from a single pulse response, thereby finding the worse-case sequence of the eye diagram. The LTI system means that there is a linear relationship between the input and the output of the system, but parameters of the system do not change over time. In other words, the response of the system to input is fixed and does not change over time.

[0045] In the LTI system, a series of signals may be regarded as the superposition of many signals. If a symbol is completely transmitted and the waveform has not completely disappeared, it will cause interference to the transmission of the next symbol. Such an interference is referred to as the inter symbol interference. The influence of the inter symbol interference may be calculated through analyzing the pulse response.

[0046] In the LTI digital system, if the input signals are a series of 1 and 0, since it is an LTI system, the series of signals may be regarded as many single trapezoidal waves at different times as the input signals to be then superimposed together. In a circuit with multiple transmission lines, the pulse responses may be divided into two types, and the first type is an insertion loss response. As shown in FIG. 3, the signal of the single trapezoidal wave is the signal sequence of 0100000, which is sent by the transmitter end of the main signal line, and what the receiver end of the main signal line receives is the insertion loss response. The second type is a far-end crosstalk (FEXT) response. As shown in FIG. 4, the signal of the single trapezoidal wave is the signal sequence of 0100000, which is sent by the transmitter end of a crosstalk active end, and what the receiver end of the main signal line receives is the far-end crosstalk response.

[0047] As shown in the insertion loss response of FIG. 5, a cursor is defined as a main cursor. The time one unit time interval (UI) before the main cursor is defined as a precursor, and the time n UIs after the main cursor is defined as an n.sup.th postcursor, wherein UI represents the unit interval between two consecutive bits. Due to system response, neither the precursor nor the n.sup.th postcursor returns to the 0 level, and the interferences are the inter symbol interferences. Sampling points greater than 0 are defined as ISI+, as shown by the 2.sup.nd postcursor of FIG. 5, and sampling points less than 0 are defined as ISI, as shown by the 1.sup.st postcursor of FIG. 5.

[0048] In the circuit with multiple transmission lines, crosstalk also causes the inter symbol interference, as shown by the far-end crosstalk response of FIG. 6. At the same sampling points as the previous insertion loss response, there is an ISI.sub.XT+ sampling point, such as the 1.sup.st postcursor, and ISI.sub.XT sampling points, such as the main cursor and the 2.sup.nd postcursor. Then, the worst case 1-level and the worst case 0-level may be listed:

[00001] Worst case 0 = .Math. .Math. "\[LeftBracketingBar]" ISI + .Math. "\[RightBracketingBar]" + .Math. .Math. "\[LeftBracketingBar]" ISI XT + .Math. "\[RightBracketingBar]" ( 1 ) Worst case 1 = cursor - .Math. .Math. "\[LeftBracketingBar]" ISI - .Math. "\[RightBracketingBar]" - .Math. .Math. "\[LeftBracketingBar]" ISI XT - .Math. "\[RightBracketingBar]" ( 2 )

[0049] It can be seen from (1) that the worst-case bit 1 is only affected by the cursor and negative ISI, so negative ISI corresponds to bit 1, and positive ISI corresponds to bit 0; and vice versa for the worst-case bit 0.

[0050] In the insertion loss response of FIG. 5, since the value of the precursor is 0, the precursor is not considered for the time being. The worst-case bit 1 for the transmitter end of the main signal line is 0 1 1. First, the main cursor corresponds to the cursor, so the last digit of the worst-case bit 1 is 1, the 1.sup.st postcursor corresponds to negative ISI, so the second last digit of the worst-case bit 1 is 1, and the 2.sup.nd postcursor corresponds to positive ISI, so the third last digit of the worst-case bit 1 is 0; and the worst-case bit 0 is the inverse of the worst-case bit 1, 1 0 0.

[0051] In the far-end crosstalk response of FIG. 6, since the value of the precursor is also 0, the precursor is not considered for the time being. The worst-case bit 1 for the transmitter end of the crosstalk active side is 1 0 1. The main cursor, the 1.sup.st postcursor, and the 2.sup.nd postcursor respectively correspond to negative, positive, and negative ISI. Therefore, the last digit, the second last digit, and the third last digit of the worst-case bit 1 correspond to 1, 0, and 1; and the worst-case bit 0 is 0 1 0.

[0052] After obtaining the worst-case bits 1 and the worst-case bits 0 of the main signal line and all coupled lines, the worst-case bits may be connected in series as the worst-case sequence of the eye diagram of each line to be used as the input signal of the transmitter end of each line, so that the worst-case eye diagram may be obtained.

[0053] The eye-diagram index is first explained below, and the transfer function of a single transmission line is then derived, thereby extending to the transfer function of multiple coupled lines to quickly establish the pulse response of multiple transmission lines and calculate the eye-diagram index.

[0054] First, the eye-diagram index is explained. In the embodiment of the disclosure, the eye-diagram index at least includes the worst eye width and the worst center eye height, as described below.

[0055] From (1) and (2), the worst case 1-level and 0-level may be calculated. Therefore, the worst case 1-level may be deducted from 0-level to calculate the worst eye height at the sampling time point of the main cursor, as shown by (3). The dotted line of FIG. 7 represents the main cursor, and the dotted line and the marking of FIG. 8 represent the worst eye height at the sampling point of the main cursor.

[00002] Worst eye height = cursor - .Math. .Math. "\[LeftBracketingBar]" ISI - .Math. "\[RightBracketingBar]" - .Math. .Math. "\[LeftBracketingBar]" ISI XT - .Math. "\[RightBracketingBar]" -= cursor - .Math. .Math. "\[LeftBracketingBar]" ISI + .Math. "\[RightBracketingBar]" - .Math. .Math. "\[LeftBracketingBar]" ISI XT + .Math. "\[RightBracketingBar]" ( 3 )

[0056] It can be seen that when calculating the worst eye height, whether it is positive or negative ISI, the absolute value is added and then subtracted. Therefore, the values of different sampling points may also be used to rewrite (3) to obtain (4):

[00003] Worst eye height = cursor - .Math. .Math. "\[LeftBracketingBar]" ISI - .Math. "\[RightBracketingBar]" - .Math. .Math. "\[LeftBracketingBar]" ISI XT - .Math. "\[RightBracketingBar]" -= cursor - .Math. .Math. "\[LeftBracketingBar]" ISI + .Math. "\[RightBracketingBar]" - .Math. .Math. "\[LeftBracketingBar]" ISI XT + .Math. "\[RightBracketingBar]" - .Math. .Math. .Math. "\[LeftBracketingBar]" xtk cursor j .Math. "\[RightBracketingBar]" ( 4 ) [0057] where main cursor represents the cursor value of the main signal line, postcursor represents the ISI value of different postcursors of the main signal line, precursor represents the ISI value of different precursors of the main signal line, and xtk cursor represents the ISI value of each sampling point on all coupled lines.

[0058] The values of the cursor, the postcursor, etc. in (4) may be calculated using (5) to obtain (6) and (7):

[00004] V SBR ( t ) = - H ( f ) V i ( f ) e j 2 ft df - f 0 f 0 H ( f ) V i ( f ) e j 2 ft df ( 5 ) [0059] where V.sub.SBR(t) is the pulse response. However, in practical applications, the bandwidth of the transfer function is limited, such as the S-parameter with limited bandwidth, so the bandwidth may only be estimated using the integral of limited frequency. V.sub.i(f) is the input signal, which is the single trapezoidal wave. H(f) is the transfer function of the system.

[00005] main k = - f 0 f 0 H xtk ( f ) V i ( f ) e j 2 f [ + l .Math. UI ] df ( 6 ) xtk l = - f 0 f 0 H xtk ( f ) V i ( f ) e j 2 f [ + l .Math. UI ] df ( 7 ) [0060] where main represents values of the cursor, the postcursor, etc. of the main signal line, xtk represents the xtk cursor, and k and 1 represent different sampling points. For example, k=0 represents the main cursor, k=1 represents the 1.sup.st postcursor, H.sub.main(f) and H.sub.xtk(f) respectively represent the transfer functions of the insertion loss response and the far-end crosstalk response, V.sub.i(f) is the input signal, that is, the single trapezoidal wave, and represents the time delay from the transmitter end to the receiver end on the main signal line plus the time difference of different sampling points of the main cursor.

[0061] In (6) and (7), it can be seen that the integration range is from f0 to f0. However, the transfer functions H.sub.main(f) and H.sub.xtk(f) in the integration include the S-parameters, but in the actual situations, the S-parameters do not include negative frequencies, but by the property that a pulse function h(t) and a single trapezoidal wave Vi(t) of a signal only have a value when t>0, (8) and (9) may be obtained, and (10) and (11) may then be listed:

[00006] H ( - f ) = H * ( f ) ( 8 ) V i ( - f ) = V i * ( f ) ( 9 ) main k = 2 0 f 0 Re { V i ( f ) H main ( f ) e j 2 f [ + k .Math. UI ] df ( 10 ) xtk l = 2 0 f 0 Re { V i ( f ) H xtk ( f ) e j 2 f [ + k .Math. UI ] } df ( 11 ) [0062] where (10) and (11) may be calculated using fast Fourier transform. In order to reduce an interval t in the time domain to improve the resolution in the time domain, zero padding may be used to lengthen the total number of points to the required number of points N, and (12) may be listed:

[00007] N = round ( 1 t f ) ( 12 ) [0063] where t is the specified interval point in the time domain, f is the interval point in the frequency domain, and N is the total number of points after zero padding. Finally, (10) and (11) may be rewritten as (13) and (14) in fast Fourier transform forms:

[00008] main = 2 t * R e { if f t ( V i ( f ) H min ( f ) ) } ( 13 ) xtk = 2 t * R e { if f t ( V i ( f ) H xtk ( f ) ) } ( 14 ) [0064] where main represents the insertion loss response of the main signal line, and xtk represents the far-end crosstalk response caused by the coupled line. Then, (4) may be rewritten as (15):

[00009] Worst eye height = main 0 - .Math. k = - L & k 0 N .Math. "\[LeftBracketingBar]" main k .Math. "\[RightBracketingBar]" - .Math. j .Math. l = - P M - 1 .Math. "\[LeftBracketingBar]" xtk l j .Math. "\[RightBracketingBar]" ( 15 ) [0065] where N represents the number of postcursors considered on the main signal line, L represents the number of precursors considered on the main signal line, M represents the number of xtk cursors considered on the coupled line, P represents the number of xtk precursors considered on the coupled line, and j represents different coupled lines.

[0066] Then, the worst eye height at different sampling time points may be obtained from (15), wherein positions where the worst eye height equals zero on two sides of the eye are the left and right endpoints, and the sampling time points are .sub.right and .sub.left. The two sampling time points are subtracted to obtain the worst eye width (16). Then, through calculating the midpoint of the left and right endpoints (17), the worst center eye height may also be obtained (18), and (16), (17), and (18) may be respectively listed:

[00010] Index width = right - left ( 16 ) middle = right - left 2 + left ( 17 ) Index height = Worst eye height .Math. "\[LeftBracketingBar]" = middle ( 18 )

[0067] Therefore, in the embodiment of the disclosure, the eye-diagram index at least includes the worst eye width and the worst center eye height.

[0068] Next, the transfer function of a single transmission line is explained. In order to obtain the transfer function where both the transmitter end and the receiver end are mismatched, a single transmission line as shown in FIG. 9 may be first considered. An S-parameter matrix may be defined as:

[00011] ( i b 2 ) = S = ( a 1 a 2 ) = ( S 11 S 12 S 21 S 22 ) ( a 1 a 2 ) [0069] where a.sub.1 and a.sub.2 are respectively transmission waves at the transmitter end and the receiver end; and b.sub.1 and b.sub.2 are respectively reflection waves at the transmitter end and the receiver end.

[0070] In terms of transmission lines, the distortion of the signal transmitted from the transmitter end to the receiver end must be within an acceptable range. The S-parameters may be used to measure the influence on signals in the frequency domain when the transmission lines are interconnected, that is, the frequency domain characteristics of the signal may be observed through the S-parameters. An electronic element between the transmission lines may be equivalently described as an S-parameter matrix and be used to analogize the behavior of the electronic element at different frequencies.

[0071] A transfer function V.sub.2/V.sub.S of a single transmission line where both the transmitter end and the receiver end are mismatched may be derived as:

[00012] V 2 V S = ( 1 - S ) ( 1 + L ) 2 ( 0 1 ) A = - 1 ( S 11 S 2 1 ) ( 19 ) [0072] where .sub.S and .sub.L are reflection coefficients of the transmitter end and the receiver end, and A is the following matrix:

[00013] ( 1 - S 1 1 S - S 1 2 L - S 21 S 1 - S 2 2 L ) A = ( 20 )

[0073] Next, the transfer function of multiple coupled lines (that is, transmission lines) are explained. In order to obtain a transfer function

[00014] V 2 , k V S , m

of the insertion loss response and the far-end crosstalk response, where k=1n and m=1n. The single transmission line architecture of FIG. 9 may be extended to multiple coupled lines, as shown in FIG. 10, wherein there are n coupled lines.

[0074] First, (21) may be defined from the S-parameter matrix:

[00015] ( b .fwdarw. 1 b .fwdarw. 2 ) = S = ( a .fwdarw. 1 a .fwdarw. 2 ) ; S = = ( S = 1 1 S = 1 2 S = 2 1 S = 2 2 ) 2 n 2 n ( 21 ) [0075] where {right arrow over (b)}.sub.1=(b.sub.1,1, b.sub.1,2, . . . , b.sub.1,n).sup.T is a column vector composed of b.sub.1,i, b.sub.1,i represents the reflection wave of an i.sup.th (where i=1, . . . , n) transmission line at the transmitter end. {right arrow over (b)}.sub.2 is analogized and is a column vector composed of the reflection wave at the receiver end; and {right arrow over (a)}.sub.1 and {right arrow over (a)}.sub.2 are respectively column vectors composed of the transmission waves at the transmitter end and the receiver end.

[0076] Since there is no voltage source at the receiver end, the transmission wave is the reflection wave multiplied by the reflection coefficient, so (22) may be listed:

[00016] a .fwdarw. 2 = L b .fwdarw. 2 ( 22 )

[0077] There is a voltage source at the transmitter end, so (23) may be listed:

[00017] a .fwdarw. 1 = ( 1 - S ) 2 V .fwdarw. S + S b .fwdarw. 1 ( 23 ) [0078] where {right arrow over (V)}.sub.S=(V.sub.S,1, V.sub.S,2, . . . V.sub.S,n).sup.T is the column vector composed of a voltage source V.sub.S,i at the transmitter end. Then, (22) and (23) may be substituted into (21) and sorted into:

[00018] ( a .fwdarw. 1 a .fwdarw. 2 ) = ( S 1 = n 0 = n 0 = n L 1 = n ) ( b .fwdarw. 1 b .fwdarw. 2 ) ( 1 - S ) 2 ( 1 = n 0 = n ) 2 n n V .fwdarw. S ( 24 ) [0079] where 0.sub.n represents an nn zero matrix, 1.sub.n represents an nn identity matrix,

[00019] ( 1 = n 0 = n ) 2 n n

represents that 1.sub.n is placed above the 2nn matrix and 0.sub.n is placed below the 2nn matrix. Then, a diagonal matrix of the reflection coefficient may be defined as :

[00020] = ( S 1 = n 0 = n 0 = n L 1 = n ) 2 n 2 n [0080] (24) is substituted back into (21) to obtain:

[00021] ( 1 = 2 n - S = = ) ( b .fwdarw. 1 b .fwdarw. 2 ) = ( 1 - S ) 2 ( S 11 = S 21 = ) V .fwdarw. S

[0081] The matrix on the left of the equation is defined as A:

[00022] ( 1 = 2 n - S = = ) A =

[0082] Then, inverse matrix of A is found to obtain the relationship between the reflection wave and each voltage source:

[00023] ( b .fwdarw. 1 b .fwdarw. 2 ) = ( 1 - S ) 2 A = - 1 ( S = 1 1 S = 2 1 ) V .fwdarw. S ( 25 )

[0083] Considering the relationship between the reflection wave at the receiver end and a voltage V.sub.2,k at the receiver end, (26) may be obtained:

[00024] V .fwdarw. 2 = ( 1 + L ) b .fwdarw. 2 ( 26 ) [0084] where {right arrow over (V)}.sub.2=(V.sub.2,1, V.sub.2,2, . . . V.sub.2,n).sup.T is the column vector composed of a voltage V.sub.2,i at the receiver end. Then, (26) is substituted back into (25) to obtain the following after sorting:

[00025] V .fwdarw. 2 = ( 1 - S ) ( 1 + L ) 2 ( 0 = n 1 = n ) n 2 n A = - 1 ( S = 1 1 S = 2 1 ) V .fwdarw. S [0085] where (0.sub.n 1.sub.n).sub.n2n represents that 0.sub.n is placed on the left side of the n2n matrix and 1.sub.n is placed on the right side of the n2n matrix. Therefore, an nn transfer function matrix H may be obtained:

[00026] H = = ( 1 - S ) ( 1 + L ) 2 ( 0 = n 1 = n ) n 2 n A = - 1 ( S = 1 1 S = 2 1 ) [0086] where the element of H is the transfer function

[00027] V 2 , k V S , m

of the insertion loss response and the far-end crosstalk response:

[00028] H = km = V 2 , k V S , m ( 27 )

[0087] k=m is the transfer function of the insertion loss response of a k.sup.th signal line. km represents the transfer function of far-end crosstalk caused by an m.sup.th signal line to the k.sup.th signal line. Therefore, (27) is substituted back into (10) and (11) to obtain the insertion loss response and the far-end crosstalk response.

[0088] Next, the transfer function with parallel circuit boundaries is explained. Taking the DDR module as an example, the main storage structure of the DDR module is a DRAM, and the DRAM is composed of a capacitor and a transistor. Therefore, in a linear equivalent circuit, the transmitter end and the receiver end are connected in parallel with the capacitor, as shown in FIG. 11. Z.sub.L.sup.C is a resistor R.sub.L and a capacitor C.sub.L at the receiver end connected in parallel, and Z.sub.S is a resistor R.sub.S at the transmitter end.

[0089] A transfer function H.sup.C with parallel circuit boundaries may be derived as:

[00029] H = C = ( 1 - S C ) ( 1 + L C ) 2 ( 1 + j C S Z S ) ( 0 = n 1 = n ) n 2 n A = C - 1 ( S = 11 S = 21 ) ( 28 ) [0090] where the parameters are:

[00030] Z L C = Z L 1 + j C L R L Z S = R S ? V S C = 1 1 + j C S Z S V S Z S C = Z S 1 + j C S Z S L C = Z L C - Z 0 Z L C + Z 0 S C = Z S C - Z 0 Z S C + Z 0 = ( L C 1 = n 0 = n 0 = n L C 1 = n ) 2 n 2 n ( 1 = 2 n - S = = C ) A = C ? indicates text missing or illegible when filed

[0091] The following takes a DDR4 circuit as an example to illustrate the analysis of the eye-diagram index. FIG. 12 is a DDR4 circuit used for validation according to an embodiment of the disclosure. The transmission path of DDR 4 may be roughly divided into CPU, package (PKG), printed circuit board (PCB), and DRAM, wherein PCB transmits data through multiple equal-length transmission lines, wherein DQ, DM, and DQS are several key signal lines for transmitting data, and DQ stands for data or data lines and is used to transmit data; DM stands for data mask and is used to indicate whether data transmitted on each DQ line is valid, if the signal on the DM line is low, it means that the data transmitted on the corresponding DQ line is invalid; and DQS stands for data strobe and is used to indicate the timing of data transmission. A DDR memory uses a DQS signal to synchronize transmission timing during data transmission. In FIG. 12, the S-parameters of the package (PKG) and the printed circuit board (PCB) are considered, which include DQ 0 to DQ 31, DM 0, and DQS0. There is a total of 44 lines. In FIG. 12, the triangle on the left side represents the linear equivalent circuit at a system on a chip (SOC) end, and the triangle on the right side represents the linear equivalent circuit at the DRAM end. Since in the DDR circuit, read and write modes share the same signal line, the circuits at the SOC and DRAM ends switches to the transmitter or receiver mode according to the read and write modes. Therefore, the linear equivalent circuits at two ends are different in the read and write modes.

[0092] The circuit of the transmitter may be represented by a simple CMOS output buffer, as shown in FIG. 13. Then, the resistance of the inverter may be equivalently calculated through the current-voltage relationship of the inverter. Therefore, finally, the linear equivalent circuit of the transmitter becomes as shown in FIG. 14, and an equivalent CMOS is obtained using an ideal pulse power supply and resistor. The linear equivalent circuit of the receiver includes on-die termination (ODT) plus a capacitor C equivalent to a parasitic capacitance effect, as shown in FIG. 15. Since the DDR transmits data through multiple equal-length transmission lines in the PCB, adjacent transmission lines cause serious crosstalk. At the same time, if the ports are mismatched, crosstalk also generates multiple reflections on a passive end, which seriously affects the signal integrity. The principle of ODT is to add a terminal resistor to an output end inside a DRAM chip to match the impedance of the output end, thereby eliminating reflection and crosstalk.

[0093] In the write mode, the SOC end is in the transmitter mode and the DRAM end is in the receiver mode. As shown in FIG. 16, the linear equivalent circuit at the SOC end is composed of an ideal pulse power supply including an internal resistor and connected in parallel with a capacitor. The linear equivalent circuit at the DRAM end includes ODT and a storage capacitor. In the read mode, the SOC end is in the receiver mode and the DRAM end is in the transmitter mode, as shown in FIG. 17.

[0094] Next, S-parameter preprocessing and peak distortion analysis including a clock signal are explained. First, the S-parameter preprocessing is explained. The circuit of FIG. 18 includes the S-parameters of the PKG and the PCB, but does not include ports of a PWR and a CAP. The embodiment uses the circuit of FIG. 12 for validation. The difference from FIG. 18 lies in the S-parameters of the PCB. The S-parameters of the PCB of FIG. 12 include the ports of the power supply line PWR and the decoupling capacitor CAP. Therefore, the embodiment processes the S-parameters of the PCB to be reduced to the S-parameters that do not include the power supply line PWR and the decoupling capacitor CAP.

[0095] Taking FIG. 19 as an example here, ports V.sub.1 and V.sub.2 are of a first signal line, ports V.sub.3 and V.sub.4 are of a second signal line, and ports V.sub.5 and V.sub.6 may respectively represent the ports of the power supply line and the decoupling capacitor. Finally, it is intended to obtain the S-parameters reduced to include only the ports V.sub.1, V.sub.2, V.sub.3, and V.sub.4 and considering the effects of the ports V.sub.5 and V.sub.6. First, an S-parameter matrix S1 may be listed as:

[00031] ( b 1 b 2 b 3 b 4 b 5 b 6 ) = ( S 11 S 12 S 13 S 14 S 15 S 16 S 21 S 22 S 23 S 24 S 25 S 26 S 31 S 32 S 33 S 34 S 35 S 36 S 41 S 42 S 43 S 44 S 45 S 46 S 51 S 52 S 53 S 54 S 55 S 56 S 61 S 62 S 63 S 64 S 65 S 66 ) ( a 1 a 2 a 3 a 4 a 5 a 6 ) ( 29 ) [0096] where the 66 S-parameter matrix S1 is split into 4 matrices A, B, C, and D, which may be listed as:

[00032] ( S 11 S 12 S 13 S 14 S 15 S 16 S 21 S 22 S 23 S 24 S 25 S 26 S 31 S 32 S 33 S 34 S 35 S 36 S 41 S 42 S 43 S 44 S 45 S 46 S 51 S 52 S 53 S 54 S 55 S 56 S 61 S 62 S 63 S 64 S 65 S 66 ) = ( A 4 4 B 4 2 C 2 4 D 2 2 ) ( 30 )

[0097] The relationships between a.sub.5 and b.sub.5 and a.sub.6 and b.sub.6 are as follows:

[00033] a 5 = 5 b 5 5 = Z 5 - Z 0 Z 5 + Z 0 a 6 = 6 b 6 6 = Z 6 - Z 0 Z 6 + Z 0 [0098] where Z.sub.5 and Z.sub.6 are load impedances of the ports V.sub.5 and V.sub.6 as shown in FIG. 19, Z.sub.0 is a system impedance of the S-parameters, and .sub.5 and .sub.6 are the reflection coefficients at the receiver end. Then, from (29), (30), and the relationships between a.sub.5 and b.sub.5 and a.sub.6 and b.sub.6, the following may be obtained:

[00034] ( b 5 b 6 ) = ( 1 5 0 0 1 6 ) ( a 5 a 6 ) = C 2 4 ( a 1 a 2 a 3 a 4 ) + D 2 2 ( a 5 a 6 )

[0099] After sorting the above equation, the following may be obtained:

[00035] ( ( 1 5 0 0 1 6 ) - D 2 2 ) ( a 5 a 6 ) = E 2 2 ( a 5 a 6 ) = C 2 4 ( a 1 a 2 a 3 a 4 ) [0100] where a matrix E is:

[00036] E 2 2 = ( 1 5 0 0 1 6 ) - D 2 2

[0101] Then, the inverse matrix operation is performed on the matrix E to obtain the relationship between a.sub.1 to a.sub.6:

[00037] ( a 5 a 6 ) = ( E 2 2 ) - 1 C 2 4 ( a 1 a 2 a 3 a 4 )

[0102] Then, the above equation is substituted back into (29) and (30) to obtain:

[00038] ( b 1 b 2 b 3 b 4 ) = A 4 4 ( a 1 a 2 a 3 a 4 ) + B 4 2 ( a 5 a 6 ) = ( A 4 4 + B 4 2 ( E 2 2 ) - 1 C 2 4 ) ( a 1 a 2 a 3 a 4 )

[0103] From the relationships between b.sub.1 to b.sub.4 and a.sub.1 to a.sub.4, an S-parameter matrix S2 may be obtained as:

[00039] S 2 4 4 = A 4 4 + B 4 2 ( E 2 2 ) - 1 C 2 4 [0104] where S2 is the S-parameter matrix that includes the effects of the ports V.sub.5 and V.sub.6 and is reduced to include only the ports V.sub.1, V.sub.2, V.sub.3, and V.sub.4. The derivation manner of the embodiment may be extended to multiple signal lines and multiple power supply line ports or decoupling capacitor ports, and is not limited to the case of two signal lines. Therefore, the issue that the S-parameters of the PCB have several more power supply line ports and decoupling capacitor ports in FIG. 12 may be solved.

[0105] Next, the peak distortion analysis including the clock signal is explained. The DQS of FIG. 12 is a differential signal line for indicating timing, so the input sequence is as shown in FIG. 20. Since the DQS is a pair of differential signal lines, sequences of positive and negative ends are inverted. In Equation (15), the worst eye height may be obtained by the cursor of the main signal line deducted by the absolute values of all ISI. However, since signals of the DQS are fixed at 1010 . . . and 0101 . . . , if the original Equation (15) is used, the actual eye height is underestimated, so a correction is made here for the peak distortion analysis including the clock signal.

[0106] Therefore, for Equation (15), considering the sum of crosstalk of the DQS and crosstalk caused by remaining coupled lines, (31) may be listed:

[00040] Worst eye height = Main 0 - .Math. k = - L & k 0 N .Math. "\[LeftBracketingBar]" Main k .Math. "\[RightBracketingBar]" - .Math. j .Math. l = - P M - 1 .Math. "\[LeftBracketingBar]" Xtk l j .Math. "\[RightBracketingBar]" + Xtk DQS ( 31 ) [0107] where Xtk.sub.DQS represents the sum of crosstalk of the DQS, N represents the number of postcursors considered on the main signal line, L represents the number of precursors considered on the main signal line, M represents the number of Xtk cursors considered on the coupled line, P represents the number of Xtk precursors considered on the coupled line, and j represents different coupled lines.

[0108] Xtk.sub.DQS is to respectively calculate under which sequences do a worst case 1 and a worst case 0 of DQS p and n have poor ISI sums, as shown in Table 1 below.

TABLE-US-00001 TABLE 1 Worstcase 1/Worstcase 0 DQS p 1 0 1 0 . . . 0 1 0 1 . . . DQS n 0 1 0 1 . . . 1 0 1 0 . . .

[0109] In addition, for Equations (1) and (2), considering the sum of crosstalk of the DQS and crosstalk caused by the remaining coupled lines, Equations (1) and (2) may be corrected as:

[00041] Worst_ 0 = .Math. .Math. "\[LeftBracketingBar]" ISI + .Math. "\[RightBracketingBar]" + .Math. .Math. "\[LeftBracketingBar]" ISI XT + .Math. "\[RightBracketingBar]" + .Math. "\[LeftBracketingBar]" ISI DQS + .Math. "\[RightBracketingBar]" ( 32 ) Worst_ 1 = cursor - .Math. .Math. "\[LeftBracketingBar]" ISI - .Math. "\[RightBracketingBar]" - .Math. .Math. "\[LeftBracketingBar]" ISI XT - .Math. "\[RightBracketingBar]" - .Math. "\[LeftBracketingBar]" ISI DQS - .Math. "\[RightBracketingBar]" ( 33 ) [0110] where ISI.sub.DQS.sup. is to calculate under which sequence does the worst case 1 of DQS p and n have a smaller ISI sum; and ISI.sub.DQS+ is to calculate under which sequence does the worst case 0 of DQS p and n have a greater ISI sum.

[0111] FIG. 21 is a worst-case sequence eye diagram obtained using an eye-diagram index analytic method according to an embodiment of the disclosure. In the embodiment, the eye-diagram index such as the eye height, the eye width, etc. may be quickly obtained (such as requiring only 0.8 seconds) using the eye-diagram index analytic method, which can greatly save calculation and simulation time, and compared with the eye diagram obtained using in/out-of-phase PRBS and independent PRBS, the eye-diagram index analytic method is fast and has small error.

[0112] FIG. 22 is a block schematic diagram of an electronic apparatus according to an embodiment of the disclosure. FIG. 23 is a flowchart of steps of an eye-diagram index analytic method according to an embodiment of the disclosure. Please refer to FIG. 22 and FIG. 23. An electronic apparatus 100 includes a processor 110 and a storage element 120. In an embodiment, the electronic apparatus 100 is, for example, a computer, and the storage element 120 is, for example, a computer readable recording medium, including a computer program, enabling the computer to execute the eye-diagram index analytic method of FIG. 23 after executing the computer program. The eye-diagram index analytic method of the embodiment is suitable for analyzing various electronic circuit architectures with multiple transmission lines to find the worst-case sequence patterns in a short time to calculate the eye-diagram index.

[0113] Specifically, in Step S100, the processor 110 calculates the transfer function of the transmission line architecture with multiple coupled lines as shown in FIG. 10, such as Equation (27), and the transfer function includes the transfer function of the insertion loss response and the far-end crosstalk response. For example, k=m is the transfer function of the insertion loss response of the k.sup.th signal line, and km represents the transfer function of far-end crosstalk caused by the m.sup.th signal line to the k.sup.th signal line. In addition, the transfer function includes the S-parameter matrix, which is used to describe the frequency domain characteristics of the electronic element between the transmission lines.

[0114] For example, the eye-diagram index analytic method of the embodiment may be used to analyze a DDR 4 memory circuit, wherein the DDR 4 memory circuit has a transmission line architecture with multiple coupled lines. The S-parameter matrix may be used to describe the frequency domain characteristics of the electronic element in the DDR 4.

[0115] In Step S110, the processor 110 substitutes Equation (27) back into (10) and (11) to convert the transfer function into the pulse response, such as Equation (5). The pulse response includes the pulse response of the insertion loss response and the far-end crosstalk response.

[0116] In Step S120, the processor 110 calculates the eye-diagram index according to the pulse response, such as Equations (15) to (18). The eye-diagram index includes the worst eye height of Equation (15), the worst eye width of Equation (16), and the worst center eye height of Equation (18).

[0117] In Step S130, the processor 110 corrects the eye-diagram index according to the peak distortion analysis, such as Equation (31). The peak distortion analysis includes the peak distortion analysis of the clock signal. In other words, for Equation (15), the processor 110 may further consider the sum of crosstalk of the DQS and crosstalk caused by the remaining coupled lines, and Equation (15) is corrected into Equation (31).

[0118] In an embodiment, for Equations (1) and (2), the processor 110 may also consider the sum of crosstalk of the DQS and crosstalk caused by the remaining coupled lines, and Equations (1) and (2) are corrected into Equations (32) and (33).

[0119] In an embodiment, the processor 110 is, for example, a center processing unit (CPU), other programmable general-purpose or specific-purpose micro control units (MCU), microprocessors, digital signal processors (DSP), programmable controllers, application specific integrated circuits (ASIC), graphics processing units (GPU), image signal processors (ISP), image processing units (IPU), arithmetic logic units (ALU), complex programmable logic devices (CPLD), field programmable gate arrays (FPGA), other similar elements, or a combination of the above elements.

[0120] In an embodiment, the storage element 120 is used to store various software, data, and various program codes required when the electronic apparatus 100 is running. The storage medium 120 is, for example, any type of fixed or removable random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive (HDD), solid state drive (SSD), similar elements, or a combination of the above elements and is used to store multiple modules or various applications that may be executed by the processor 110. In an embodiment, the storage element 120 may further include a database.

[0121] In addition, sufficient teachings, suggestions, and implementation explanations for the eye-diagram index analytic method of the embodiment may be obtained from the description of the embodiments of FIG. 1 to FIG. 21, so there will not be reiteration.

[0122] FIG. 24 is a block schematic diagram of an electronic apparatus according to another embodiment of the disclosure. Please refer to FIG. 23 and FIG. 24. An electronic apparatus 200 of the embodiment includes a processor 210, a storage element 220, and an output/input interface 230. The output/input interface 230 is used to receive circuit parameters and output the eye diagram calculated using the eye-diagram index analytic method of FIG. 23.

[0123] Specifically, the circuit to be calculated by the computer program of the embodiment is, for example, the DDR4 circuit of FIG. 12, which includes the S-parameters of the package (PKG) and the printed circuit board (PCB), the linear equivalent circuit at the SOC end, and the linear equivalent circuit at the DRAM end, and the equivalent circuits at two ends are respectively as shown in FIG. 16 and FIG. 17 according to the different read and write modes. The computer program of the embodiment may calculate the eye-diagram index of DQ031 and DM03 under the circuit, including the worst eye width as shown in FIG. 25, the worst center eye height as shown in FIG. 26, and the box eye width as shown in FIG. 27. The output/input interface 230 is, for example, a display apparatus and may be used to display the eye-diagram index.

[0124] The user may input the S-parameters and the value of each element in the linear equivalent circuit and each parameter of the voltage source as shown in FIG. 16 and FIG. 17, as shown in Table 2 below:

TABLE-US-00002 TABLE 2 Item Description Project name Project name PKG Sparameter S-parameters of package PCB Sparameter S-parameters of printed circuit board R_SOC_write Write mode, resistor at SOC end, unit is ohm R_SOC_read Read mode, resistor at SOC end, unit is ohm C_SOC Capacitor at SOC end, unit is pF R_DRAM_write Write mode, resistor at DRAM end, unit is ohm R_DRAM_read Read mode, resistor at DRAM end, unit is ohm C_DRAM Capacitor at DRAM end, unit is pF C_CAP Capacitor at CAP end, unit is nF (no input is required if PCB does not have CAP end) Source Voltage Magnitude of voltage source, unit is V Bit rate Transmission rate, unit is Gbps Rising Time Rising time, unit may be UI or ps Box Eyeheight To calculate box eye width, different box eye heights may be set according to different specifications, unit is V

[0125] The output/input interface 230 is, for example, a display apparatus and may be used to display a program window, so that a user may input each parameter through a keyboard, a mouse, touch, etc.

[0126] Therefore, the embodiment writes a program based on the eye-diagram index analytic method and establishes a graphical user interface (GUI). Therefore, the user may calculate the eye-diagram index in a simple and intuitive operating environment, and the result is not only directly displayed in the interface, but also stored in a file to provide the user with further analysis.

[0127] In addition, sufficient teachings, suggestions, and implementation explanations for the eye-diagram index analytic method of the embodiment may be obtained from the description of the embodiments of FIG. 1 to FIG. 23, so there will not be reiteration.

[0128] An application scenario of the eye-diagram index analytic method according to the embodiment of the disclosure is described below. The eye-diagram index analytic method according to the embodiment of the disclosure may be used to validate whether the package carrying the chip and the transmission signal quality of the printed circuit board meet the requirements after the chip circuit design. There are several reasons that affect the package and the transmission signal quality of the printed circuit board, loss, reflection, crosstalk, and equivalent load at the circuit end.

[0129] The general method to validate signal quality is to simulate with a circuit simulation software through connecting a chip circuit model, a PKG model, and a PCB model in series. However, such a simulation validation method requires more time if multiple signal lines are to be validated. Therefore, the eye-diagram index analytic method of the embodiment of the disclosure may be used to first screen out signal lines that may have poor transmission signal quality, then check the package and the layout design of the printed circuit board, and make modification.

[0130] In an embodiment, the eye-diagram index analytic method may be integrated into an electronic design automation (EDA) tool, and the EDA tool may even be provided as a reference for modification. In an embodiment, input data required by the eye-diagram index analytic method includes a package channel model carrying the chip, a printed circuit board channel model connected to the chip package, and input parameters. The input parameters vary according to a circuit under test and functions. Taking the test of DDR transmission quality as an example, the parameters that need to be input include voltage source, transmission rate, write mode, read mode, circuit equivalent resistance load, circuit equivalent capacitance load, and eye height voltage.

[0131] In summary, in the embodiment of the disclosure, the eye-diagram index analytic method of multiple coupled transmission lines is provided. First, the transfer function under mismatched boundaries is derived, the pulse response may be then obtained using inverse Fourier transform, and each index of the eye diagram may be obtained based on the peak distortion analysis, which can greatly improve the design and optimization efficiency. The eye-diagram index analytic method of the embodiment of the disclosure can more effectively and accurately determine the signal integrity of different signal lines than other methods.

[0132] Although the disclosure has been disclosed in the above embodiments, the embodiments are not intended to limit the disclosure. Persons skilled in the art may make some changes and modifications without departing from the spirit and scope of the disclosure. Therefore, the protection scope of the disclosure shall be defined by the appended claims.