The present invention relates to a signal generation apparatus and a signal generation method, and more particularly, relates to a signal generation apparatus and a signal generation method including a transceiver that converts parallel data into high-speed serial data, and outputs the serial data.
With the acceleration of communication standards such as Ethernet (registered trademark) 800 gigabit Ethernet (GbE) and peripheral component interconnect express (PCIe) (registered trademark) generation (Gen) 6, a signal transmission method is also changed from a simple binary digital signal such as non return to zero (NRZ) to a method represented by pulse amplitude modulation (PAM) 4. In the future, transmission methods such as PAM8 and PAM16 may be standardized. In a case where a product using these signals is developed or tested, a test signal source is required.
It is natural that such a signal source can generate a signal such as PAM4 or PAM8, and it is desirable that the signal source can generate a signal passing through a specific transmission path or a signal on which emphasis or filter processing is performed. Therefore, there is a demand for an arbitrary waveform generator (AWG) capable of generating various waveforms in an analog manner, and having a high speed exceeding 100 G symbol/s (Gsps).
In the AWG, it is necessary that a user can freely set an analog waveform to be output. In addition, it is natural that various signals are required to be generated, and thus it is necessary to be able to set the waveform with numerical data. Therefore, the AWG requires a mechanism for converting digital data output from a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like into analog data inside the AWG. The conversion itself can be performed by a digital analog converter (DAC).
Meanwhile, in a case where an output rate of the required analog data is high, not only is it necessary to input a signal speeded up by multiplexing by a multiplexer (MUX) to a DAC, but also an influence of a phase difference between a plurality of input signals input to the DAC or the MUX at a front stage of the DAC cannot be ignored. For example, in a case where the output rate of the FPGA is 32 Gsps and a bit resolution of the DAC is 8 bits, it is desired that the maximum phase difference between all signals input to the MUX is less than 0.1 unit interval (UI) (3.125 ps).
Here, by using the technique disclosed in Patent Document 1, it is possible to adjust a maximum phase difference between all signals input to a MUX to a value of less than 0.1 UI or a value close to 0.1 UI.
Meanwhile, the technique disclosed in Patent Document 1 may adjust a phase between the signals input to the MUX at a position shifted by one clock (1 UI). This occurs in a case where the phases between the signals before the adjustment largely deviate from each other.
Specifically, in the technique disclosed in Patent Document 1, in a case where the phase difference of more than 1 UI occurs between the signals before the adjustment, the technique cannot correspond to the case. Further, even in a case where the phase difference between the signals before the adjustment is reduced to be within 1 UI in advance by another method, technical and cost issues occur such as the need for an additional mechanism for adjusting a clock phase applied to a transceiver of the FPGA and the need for measuring the phase adjustment amount that is changed with a frequency. In a case of the FPGA, there is a possibility that the phase difference between the transceivers changes each time activation or reset is performed, and in this case, the phase adjustment amount needs to be re-measured each time the activation or the reset is performed. In addition, depending on the FPGA to be used, there is also a possibility that the phase difference of the output signals cannot be reduced to within 1 UI at first.
In this case, unintended data is generated in a case where the signal is multiplexed by using the MUX. For example, in a case where the data is used as a test signal of a bit error rate tester (BERT), since there is an error in the test signal itself, it is impossible to measure a correct error rate.
The present invention is made to solve such problems in the related art, and an object of the present invention is to provide a signal generation apparatus and a signal generation method capable of significantly increasing an adjustable maximum phase difference between signals respectively output from a plurality of transceivers.
According to the present invention, there is provided a signal generation apparatus (1) including: a parallel data output unit (11) that outputs parallel data of a plurality of bits; a plurality of transceivers (20) that have a first-in first-out (FIFO) (21) for storing parallel data of N bits among the parallel data of the plurality of bits output from the parallel data output unit, and convert the parallel data of N bits stored in the FIFO into serial data of 1 bit; a phase synchronization control unit (31) that controls a phase of the serial data of 1 bit converted by each of the transceivers; a division clock output unit (14) that outputs a division clock obtained by dividing a frequency of an external clock; a division ratio setting unit (33) that sets a division ratio of the division clock in the division clock output unit; a clock selection unit (17) that selects any one of the external clock and the division clock; a rate control unit (34) that performs control of outputting a toggle pattern having a frequency half a frequency of the division clock or the external clock selected by the clock selection unit as the serial data of 1 bit from each of the transceivers; and a phase demodulation unit (40) that measures a voltage value corresponding to a phase difference between the division clock or the external clock selected by the clock selection unit and the toggle pattern, in which the phase synchronization control unit includes a phase acquisition processing unit (31b) that executes a phase acquisition process of acquiring the voltage value measured by the phase demodulation unit while changing a phase of the toggle pattern from an initial value, a phase difference calculation processing unit (31c) that executes a phase difference calculation process of calculating an initial phase difference between the division clock or the external clock selected by the clock selection unit and the initial value of the phase of the toggle pattern, based on a relationship between the voltage value acquired by the phase acquisition processing unit and a change amount from the initial value of the phase of the toggle pattern, and a phase shift processing unit (31d) that executes a phase shift process of moving the phase of the toggle pattern from the initial value by the initial phase difference such that a phase difference between the division clock or the external clock selected by the clock selection unit and the toggle pattern is within a predetermined range, the phase synchronization control unit repeatedly executes the phase acquisition process, the phase difference calculation process, and the phase shift process while causing the division ratio setting unit to gradually decrease the division ratio, and the clock selection unit selects the external clock instead of the division clock after the phase acquisition process, the phase difference calculation process, and the phase shift process are executed when the division ratio is a predetermined minimum value.
With this configuration, the signal generation apparatus according to the present invention can reduce the maximum phase difference between the pieces of serial data respectively output from the plurality of transceivers to 0.1 UI or less with the external clock base.
In addition, the signal generation apparatus according to the present invention can significantly increase the adjustable maximum phase difference between the pieces of serial data respectively output from the plurality of transceivers after the activation or the reset.
Further, the signal generation apparatus according to the present invention does not require an additional mechanism such as a delay circuit outside the FPGA for reducing the phase difference between the serial data before the adjustment to within 1 UI in advance, and thus it is not necessary to investigate a parameter to be given to the additional mechanism after a product is manufactured.
Further, the signal generation apparatus according to the present t invention may be configured such that the division ratio is an integer of a power of 2, and the clock selection unit selects the external clock instead of the division clock after the phase acquisition process, the phase difference calculation process, and the phase shift process are executed when the division ratio is 2.
Further, the signal generation apparatus according to the present invention may be configured such that each of the transceivers includes a parallel-in serial-out (PISO) (22) that converts the parallel data of N bits read from the FIFO into the serial data of 1 bit in accordance with a read clock signal, a use amount determination unit (23) that executes first and second use amount determination processes of determining whether or not a use amount of the FIFO is equal to or more than a use amount threshold value, and a phase adjustment unit (24) that executes a first phase adjustment process of decreasing a phase of the read clock signal by a predetermined amount and a second phase adjustment process of increasing the phase of the read clock signal by the predetermined amount, the phase synchronization control unit further includes a use amount control processing unit (31a) that executes a use amount control process of controlling the use amount of the FIFO, the use amount control processing unit causes the use amount determination unit to execute the first use amount determination process under a condition in which an output of the serial data from each of the transceivers is started, the use amount control processing unit causes the phase adjustment unit to execute the first phase adjustment process under a condition in which the use amount of the FIFO of each of the transceivers is determined to be equal to or more than the use amount threshold value in the first use amount determination process, the use amount control processing unit causes the use amount determination unit to execute the second use amount determination process under a condition in which the number of times the use amount of the FIFO of each of the transceivers is continuously determined to be less than the use amount threshold value in the first use amount determination process reaches a first determination count, the use amount control processing unit causes the phase adjustment unit to execute the second phase adjustment process under a condition in which the use amount of the FIFO of each of the transceivers is determined to be less than the use amount threshold value in the second use amount determination process, and the use amount control processing unit causes the phase adjustment unit to end the adjustment of the phase of the read clock signal under a condition in which the number of times the use amount of the FIFO of each of the transceivers is continuously determined to be equal to or more than the use amount threshold value in the second use amount determination process reaches a second determination count.
That is, the signal generation apparatus according to the present invention executes the use amount control process of equalizing the use amounts of all the lanes of the FIFO to half before starting the phase acquisition process, the phase difference calculation process, and the phase shift process. With this configuration, in the signal generation apparatus according to the present invention, for example, in a case where the use amount of the FIFO is the largest and the division clock of the division ratio is equivalent to 2 UI, the phase of the toggle pattern can be moved to both the positive and negative maximum ranges of −1 UI to +1 UI during the phase acquisition process.
Further, according to the present invention, there is provided a signal generation method using a signal generation apparatus (1) including a parallel data output unit (11) that outputs parallel data of a plurality of bits, a plurality of transceivers (20) that have a first-in first-out (FIFO) (21) for storing parallel data of N bits among the parallel data of the plurality of bits output from the parallel data output unit, and convert the parallel data of N bits stored in the FIFO into serial data of 1 bit, a division clock output unit (14) that outputs a division clock obtained by dividing a frequency of an external clock, a clock selection unit (17) that selects any one of the external clock and the division clock, and a phase demodulation unit (40) that measures a voltage value corresponding to a phase difference between the division clock or the external clock selected by the clock selection unit and the serial data of 1 bit, to control a phase of the serial data of 1 bit converted by each of the transceivers, the signal generation method including: a division ratio setting step (S14, S20) of setting a division ratio of the division clock in the division clock output unit; a rate control step (S15, S22) of outputting a toggle pattern having a frequency half a frequency of the division clock or the external clock selected by the clock selection unit as the serial data of 1 bit from each of the transceivers; a phase acquisition process step (S16, S23) of executing a phase acquisition process of acquiring the voltage value measured by the phase demodulation unit while changing a phase of the toggle pattern from an initial value; a phase difference calculation process step (S17, S24) of executing a phase difference calculation process of calculating an initial phase difference between the division clock or the external clock selected by the clock selection unit and the initial value of the phase of the toggle pattern based on a relationship between the voltage value acquired by the phase acquisition process step and a change amount from the initial value of the phase of the toggle pattern; a phase shift process step (S18, S25) of executing a phase shift process of moving the phase of the toggle pattern from the initial value by the initial phase difference such that a phase difference between the division clock or the external clock selected by the clock selection unit and the toggle pattern is within predetermined range; a step (S15 to S20) of repeatedly executing the phase acquisition process, the phase difference calculation process, and the phase shift process while gradually decreasing the division ratio in the division ratio setting step; and an external clock selection step (S21) of causing the clock selection unit to select the external clock instead of the division clock after the phase acquisition process, the phase difference calculation process, and the phase shift process are executed when the division ratio is a predetermined minimum value.
Further, the signal generation method according to the present invention may be configured such that the division ratio is an integer of a power of 2, and in the external clock selection step, after the phase acquisition process, the phase difference calculation process, and the phase shift process are executed when the division ratio is 2, the external clock is selected instead of the division clock.
Further, the signal generation method according to the present invention may be configured such that each of the transceivers includes a parallel-in serial-out (PISO) (22) that converts the parallel data of N bits read from the FIFO into the serial data of 1 bit in accordance with a read clock signal, a use amount determination unit (23) that executes first and second use amount determination processes of determining whether or not a use amount of the FIFO is equal to or more than a use amount threshold value, and a phase adjustment unit (24) that executes a first phase adjustment process of decreasing a phase of the read clock signal by a predetermined amount and a second phase adjustment process of increasing the phase of the read clock signal by the predetermined amount, the phase of the read clock signal by the predetermined amount, a phase synchronization control unit includes a use amount control processing unit (31a) that executes a use amount control process of controlling the use amount of the FIFO, the use amount control processing unit causes the use amount determination unit to execute the first use amount determination process under a condition in which an output of the serial data from each of the transceivers is started, the use amount control processing unit causes the phase adjustment unit to execute the first phase adjustment process under a condition in which the use amount of the FIFO of each of the transceivers is determined to be equal to or more than the use amount threshold value in the first use amount determination process, the use amount control processing unit causes the use amount determination unit to execute the second use amount determination process under a condition in which the number of times the use amount of the FIFO of each of the transceivers is continuously determined to be less than the use amount threshold value in the first use amount determination process reaches a first determination count, the use amount control processing unit causes the phase adjustment unit to execute the second phase adjustment process under a condition in which the use amount of the FIFO of each of the transceivers is determined to be less than the use amount threshold value in the second use amount determination process, and the use amount control processing unit causes the phase adjustment unit to end the adjustment of the phase of the read clock signal under a condition in which the number of times the use amount of the FIFO of each of the transceivers is continuously determined to be equal to or more than the use amount threshold value in the second use amount determination process reaches a second determination count.
An object of the present invention is to provide a signal generation apparatus and a signal generation method capable of significantly increasing an adjustable maximum phase difference between signals respectively output from a plurality of transceivers.
Hereinafter, embodiments of a signal generation apparatus and a signal generation method according to the present invention will be described with reference to the drawings.
A signal generation apparatus 1 according to the present embodiment illustrated in
The data output unit 10 includes a parallel data output unit 11, a plurality of transceiver units 12-1 to 12-p, a clock generation unit 13, a division clock output unit 14, and an FPGA control unit 15.
The parallel data output unit 11 includes a memory (not illustrated) that stores a series of data strings of a predetermined pattern in advance, or an arithmetic circuit (not illustrated) that generates the data string therein. For example, in the example illustrated in
The parallel data output unit 11 is configured to output a pattern of a PAM signal consisting of, for example, a multi-value K (K is an integer of 2 or more) of two values or more as the parallel data of 32×N bits, based on pattern information input from the operation unit 65. The parallel data output unit 11 generates a pattern of a PAM signal consisting of various multi-values K, such as an NRZ signal (K=2), a PAM3 signal (K=3), a PAM4 signal (K=4), a PAM5 signal (K=5), a PAM6 signal (K=6), a PAM7 signal (K=7), and a PAM8 signal (K=8), for example. Here, the pattern information is information on a pattern of the PAM signal, such as a value of K or a type of the pattern (for example, a pseudo random binary sequence (PRBS) pattern, a short stress pattern random quaternary (SSPRQ) pattern, or various patterns).
The data output unit 10 includes the p transceiver units 12-1 to 12-p. Although the example of p=8 is illustrated in
As illustrated in
Each transceiver unit 12 includes, for example, four transceivers 20-0 to 20-3. Each transceiver 20 is an output unit of the FPGA, and outputs a digital signal of 0 or 1. Each transceiver 20 converts parallel data of N bits stored in an FIFO 21, which will be described below, of parallel data of 32×N bits output from the parallel data output unit 11 into serial data of 1 bit, at a timing of the clock signal generated by the clock generation unit 13. Here, N is an integer of 2 or more.
That is, each transceiver unit 12 converts parallel data of 4×N bits output from the parallel data output unit 11 into parallel data of 4 bits, and output the parallel data of 4 bits. That is, the data output unit 10 outputs the parallel data of 4 bits for 8 channels, in other words, serial data for 32 lanes.
The division clock output unit 14 outputs a division clock obtained by dividing a frequency of an external clock. A maximum frequency of the division clock is half of the frequency of the external clock. For example, the division clock output unit 14 consists of a transceiver having the same configuration as each transceiver 20.
The clock selection unit 17 selects any one of the external clock and the division clock, according to a clock selection signal output from a clock selection signal output unit 35, which will be described below. In the present specification, the division clock and the external clock are collectively referred to as a “clock”. The external clock is, for example, a pulse signal of 32 GHZ.
The phase demodulation unit 40 measures a voltage value corresponding to a phase difference between the division clock or the external clock selected by the clock selection unit 17 and a toggle pattern output from each of the transceivers 20. The toggle pattern is serial data of 1 bit in which “0” and “1” are alternately repeated, and is output from each of the transceivers 20 in a case where a phase acquisition process, a phase difference calculation process, and a phase shift process, which will be described below, are executed. The phase demodulation unit 40 is disposed one by one at a later stage of each of the transceivers 20. Since the phase demodulation unit 40 is for checking a phase of the toggle pattern output from each of the transceivers 20, the phase demodulation unit 40 may be incorporated into the MUX 50 or may be independently disposed at a front stage of the MUX 50.
The D flip-flop 41 includes a D terminal and a CLK terminal which are two input terminals, and a Q terminal which is one output terminal. The toggle pattern from the corresponding transceiver 20 is input to the D terminal, and the clock selected by the clock selection unit 17 is input to the CLK terminal.
The EXOR circuit 42 outputs a phase demodulation signal by taking an exclusive OR of the toggle pattern from the corresponding transceiver 20 and an output signal from the Q terminal of the D flip-flop 41. When the toggle pattern having a period twice a period of the clock is input to the D terminal, the phase demodulation signal is a pulse-shaped signal having a duty ratio corresponding to a phase of the toggle pattern input to the D terminal.
The averaging circuit 43 is configured with, for example, a low-pass filter, and averages the phase demodulation signal. When the toggle pattern having the period twice the period of the clock is input to the D terminal, the averaging circuit 43 outputs a signal of a voltage value corresponding to the duty ratio of the phase demodulation signal. As a result, the phase of the toggle pattern from the corresponding transceiver 20 can be obtained as a voltage value.
The amplifier 52 amplifies a signal from the phase demodulation unit 40 to a voltage level suitable for the ADC 55 at a later stage, as necessary.
The ADC 55 samples the signal from the phase demodulation unit 40 amplified by the amplifier 52 at a predetermined sampling rate, and converts the signal into digital data. That is, the ADC 55 outputs the digital data of the voltage value corresponding to the phase difference between the division clock or the external clock selected by the clock selection unit 17 and the toggle pattern. Here, the predetermined sampling rate need only be a value of, for example, 500 ksps or 1 Msps, such as several hundred ksps to several Msps. Therefore, as the ADC 55, an ADC having a plurality of input channels, such as a 4-channel ADC, can also be used.
The MUX 50 latches parallel data of m bits output from each transceiver unit 12, selects the parallel data in units of n bits in a predetermined order in synchronization with the external clock selected by the clock selection unit 17, and outputs the data of n bits according to a frequency of the external clock selected by the clock selection unit 17. Here, n is an integer of 1 or more and m−1 or less. In the example illustrated in
The DAC 60 is a DAC of n×p bits, and outputs an analog signal having a resolution of n×p bits, that is, a multi-value K PAM signal, in accordance with the data of n×p bits output from all the MUXs 50. In the example illustrated in
The operation unit 65 is for accepting an operation input by a user, and is configured with, for example, a touch panel including a touch sensor for detecting a contact position by a contact operation on an input surface corresponding to a display screen of a display device (not illustrated). Alternatively, the operation unit 65 may be configured to include an input device such as a keyboard or a mouse. The operation input to the operation unit 65 is detected by the control unit 70.
The control unit 70 is configured with, for example, a control device, such as a computer including a central processing unit (CPU), a graphics processing unit (GPU), an FPGA, a read only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), and the like, and controls the operations of the respective units described above constituting the signal generation apparatus 1.
That is, the transceiver 20 reads the stored parallel data of N bits from the FIFO 21, performs parallel/serial conversion on the read parallel data by the PISO 22, and outputs the serial data.
In the signal generation apparatus 1 according to the present embodiment, each of the transceiver units 12 can be configured with a transceiver in which a function of adjusting a phase of a read clock signal is mounted, for example, a TX phase interpolator PPM controller (hereinafter, referred to as a “TXPI”) provided by Xilinx, Inc. In addition, for example, as the FPGA on which the data output unit 10 is configured, UltraScale+ including a GTY transceiver manufactured by Xilinx, Inc. or the like can be appropriately used.
In general, regarding a plurality of transceivers configured on the FPGA, timings until data is actually output after activation or reset of the plurality of transceivers do not always coincide with each other. Therefore, at the timing at which the output of the data is started, the use amounts of the FIFOS 21 of the transceivers 20 are usually different from each other. In addition, even in a case where one transceiver 20 is focused on, the use amount may be different each time the data output is started for each activation or each reset.
Hereinafter, a basic operation of the TXPI will be described with reference to
The FIFO 21 functions as a buffer for the parallel data output from the parallel data output unit 11, and can store the parallel data of N bits up to the maximum M words. The FIFO 21 writes or reads the parallel data of N bits at a rising timing of an input write clock signal or a read clock signal. The write clock signal and the read clock signal are signals based on, for example, a clock signal generated by the clock generation unit 13.
The divider 25 divides the read clock signal by the maximum word count M of the FIFO 21 to obtain a read address of the FIFO 21. On the other hand, the divider 26 divides the write clock signal by the maximum word count M of the FIFO 21 to obtain a write address of the FIFO 21.
The subtractor 27 outputs a difference between the read address and the write address output from the respective dividers 25 and 26. The difference output from the subtractor 27 reflects the use amount of the FIFO 21.
The use amount determination unit 23 executes the first and second use amount determination processes of determining whether or not the difference output from the subtractor 27 is equal to or more than a use amount threshold value for each operation clock of the FPGA on which the data output unit 10 is configured. The use amount determination unit 23 constantly monitors a difference between the read address and the write address of the FIFO 21 as the use amount of the FIFO 21, and outputs 0 in a case where the use amount is less than the use amount threshold value and outputs 1 in a case where the use amount is equal to or more than the use amount threshold value. For example, the use amount threshold value is M/2, that is, ½ of the maximum word count M of the FIFO 21. The use amount of the FIFO 21 is changed by changing a phase of the read clock signal.
The phase adjustment unit 24 executes the first phase adjustment process of decreasing the phase of the read clock signal by a predetermined amount and the second phase adjustment process of increasing the phase of the read clock signal by a predetermined amount in a use amount control process which will be described below. The first phase adjustment process is a process of decreasing the use amount of the FIFO 21, and the second phase adjustment process is a process of increasing the use amount of the FIFO 21.
The phase adjustment unit 24 can shift the read address value of the FIFO 21 by adjusting the phase of the read clock signal of the FIFO 21. As a result, the phase of the parallel data output from the FIFO 21 deviates. Meanwhile, the phase adjustment unit 24 cannot adjust the phase of the parallel data output from the FIFO 21 to various values, and a phase adjustment width that can be adjusted at once or a maximum amount that can be adjusted is also limited. For example, when an output data rate of the transceiver 20 is 32 Gbps, the adjustable phase adjustment width of the phase adjustment unit 24 is a 1/64 UI step width, and the adjustable maximum amount of the phase adjustment unit 24 is 64 UI.
Hereinafter, the use amount control process executed by a use amount control processing unit 31a of a phase synchronization control unit 31 (see
As illustrated in
First, the use amount control processing unit 31a transitions from the initial state S1 to the PRESET state S2. The PRESET state S2 is a state in which each of the transceivers 20 waits until an output of serial data is started. Here, each of the transceivers 20 starts generation of a clock by a clock generation circuit (not illustrated) when a state in which the output of the serial data can be started after activation or after reset is reached. The use amount control processing unit 31a can detect a timing at which each of the transceivers 20 starts the output of the serial data by detecting rising of this clock.
When detecting that each of the transceivers 20 starts the output of the serial data, the use amount control processing unit 31a transitions from the PRESET state S2 to the BUFCHK1 state S3. The BUFCHK1 state S3 is a state in which the use amount control processing unit 31a causes the use amount determination unit 23 to execute the first use amount determination process.
The use amount control processing unit 31a transitions from the BUFCHK1 state S3 to the TXPI_DEC state S4, under a condition in which it is determined that the use amount of the FIFO 21 of each of the transceivers 20 is equal to or larger than a use amount threshold value in the first use amount determination process. The TXPI_DEC state S4 is a state in which the use amount control processing unit 31a executes the first phase adjustment process on the phase adjustment unit 24.
The use amount control processing unit 31a transitions from the TXPI_DEC state S4 to the BUFCHK1 state S3 again, under a condition in which a phase of a read clock signal of the FIFO 21 of each transceiver 20 is reduced by a predetermined amount by the first phase adjustment process.
The use amount control processing unit 31a transitions from the BUFCHK1 state S3 to the TXPI_INC state S5, under a condition in which the number of times the use amount of the FIFO 21 of each transceiver 20 is continuously determined to be less than the use amount threshold value in the first use amount determination process reaches a first determination count. The TXPI_INC state S5 is a state in which the use amount control processing unit 31a executes the second phase adjustment process on the phase adjustment unit 24.
The use amount control processing unit 31a transitions from the TXPI_INC state S5 to the BUFCHK2 state S6, under a condition in which the phase of the read clock signal of the FIFO 21 of each transceiver 20 is increased by a predetermined amount by the second phase adjustment process. The BUFCHK2 state S6 is a state in which the use amount control processing unit 31a causes the use amount determination unit 23 to execute the second use amount determination process.
The use amount control processing unit 31a transitions from the BUFCHK2 state S6 to the TXPI_INC state S5 again, under a condition in which it is determined that the use amount of the FIFO 21 of each transceiver 20 is less than the use amount threshold value in the second use amount determination process.
The use amount control processing unit 31a transitions from the BUFCHK2 state S6 to the PHASEADJ state S7, under a condition in which the number of times the use amount of the FIFO 21 of each transceiver 20 is continuously determined to be equal to or more than the use amount threshold value in the second use amount determination process reaches a second determination count. The PHASEADJ state S7 is a state in which the use amount control processing unit 31a waits until the phase adjustment unit 24 ends the adjustment of the phase of the read clock signal and a reset signal is input to each of the transceivers 20.
The use amount control processing unit 31a can align data latency of all lanes by performing the processes illustrated in
According to the processing illustrated in
In the process of the use amount control processing unit 31a illustrated in
Therefore, in the process of the use amount control processing unit 31a illustrated in
As illustrated in
The phase synchronization control unit 31 controls a phase of a toggle pattern, which is serial data of 1 bit converted by each transceiver 20.
The phase synchronization control unit 31 includes the use amount control processing unit 31a, a phase acquisition processing unit 31b, a phase difference calculation processing unit 31c, and a phase shift processing unit 31d, which are already described.
The phase acquisition processing unit 31b executes a phase acquisition process of acquiring a voltage value measured by the phase demodulation unit 40 while changing the phase of the toggle pattern output from each of the transceivers 20 by controlling the phase adjustment unit 24 of each of the transceivers 20 from an initial value. Here, digital data of the voltage value measured by the phase demodulation unit 40 is input from the ADC 55 to the phase acquisition processing unit 31b.
Hereinafter, a specific example of the phase acquisition process by the phase acquisition processing unit 31b will be described.
First, the phase acquisition processing unit 31b acquires a voltage value measured by the phase demodulation unit 40 at a start time point of the phase acquisition process. Here, a phase of the toggle pattern at the start time point is 0 UI. Further, the phase synchronization control unit 31 acquires the voltage value measured by the phase demodulation unit 40 while moving the phase of the toggle pattern in a range of −0.75 UI to +0.75 UI, by using 1 UI as one period of the clock at that time point. For example, as indicated by the arrow in
This means that, for example, the operation of performing the measurement by the phase demodulation unit 40 is repeated each time the phase of the toggle pattern is moved by approximately 0.1 UI. As a result, a result as illustrated in
Since the TXPI adjusts the phase of the serial data from each transceiver 20 with the use amount of the FIFO 21, there is a possibility that an adjustment width of ±0.75 UI cannot be secured if the use amount in the initial state is biased. Therefore, the phase synchronization control unit 31 performs the use amount control process, which is already described, to move the phase of the toggle pattern in the range of ±0.75 UI.
In the above description, the range of the phase change of the toggle pattern is set to −0.75 UI to +0.75 UI, and the present invention is not limited to this. The range of the phase change of the toggle pattern need only be at least 1 UI, and for example, the phase of the toggle pattern may be changed in a range of −0.5 UI to +0.5 UI.
The phase difference calculation processing unit 31c executes the phase difference calculation process of calculating an initial phase difference PC between a division clock or an external clock selected by the clock selection unit 17 and the initial value of the phase of the toggle pattern based on a relationship between the voltage value acquired by the phase acquisition processing unit 31b and a change amount from the initial value of the phase of the toggle pattern.
The phase difference calculation processing unit 31c can obtain the initial phase difference PC[UI] of the toggle pattern at the start t time point of the phase acquisition process by using the measurement result as illustrated in
The phase synchronization control unit 31 simultaneously or sequentially performs the phase acquisition process and the phase difference calculation process in the same manner for all the toggle patterns of 32 lanes. As a result, a correspondence relationship between a lane number and the initial phase difference PC as illustrated in
Here, the lane numbers 1 to 4 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-1, respectively. The lane numbers 5 to 8 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-2, respectively. The lane numbers 9 to 12 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-3, respectively. The lane numbers 13 to 16 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-4, respectively. The lane numbers 17 to 20 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-5, respectively. The lane numbers 21 to 24 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-6, respectively. The lane numbers 25 to 28 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-7, respectively. The lane numbers 29 to 32 correspond to the four transceivers 20-0 to 20-3 of the transceiver unit 12-8, respectively.
The phase shift processing unit 31d executes the phase shift process of moving the phase of the toggle pattern output from each of the transceivers 20 from the initial value by the initial phase difference PC by controlling the phase adjustment unit 24 of each of the transceivers 20 such that a phase difference between the division clock or the external clock selected by the clock selection unit 17 and the toggle pattern is within a predetermined range. Here, the value (phase difference) in the predetermined range is a value closest to 0 with the highest accuracy of the phase adjustment width that can be adjusted by the phase adjustment unit 24.
Hereinafter, the phase shift process of the toggle pattern of each lane by the phase shift processing unit 31d will be described with reference to
As illustrated in
The division ratio setting unit 33 sets a division ratio of the division clock with the external clock as a reference in the division clock output unit 14. The phase synchronization control unit 31 repeatedly executes the phase acquisition process, the phase difference calculation process, and the phase shift process p while causing the division ratio setting unit 33 to gradually decrease the division ratio. For example, the division ratio is an integer of a power of 2, and the maximum value is 64 and the minimum value is 2. In this case, the division ratio setting unit 33 repeatedly halves the division ratio to change the division ratio in order of 64, 32, 16, 8, 4, and 2.
In a case where the division ratio is 64, 75% equivalent to the capacity of the FIFO 21 is used for moving the phase of the toggle pattern. Hereinafter, the movement amount is also halved each time the division ratio is halved, and the movement amount is equivalent to 1.17% of the capacity of the FIFO 21 in a case where the division ratio is 1.
The rate control unit 34 performs control of outputting a toggle pattern having a frequency of half a frequency of the division clock or the external clock selected by the clock selection unit 17 from each transceiver 20, as serial data of 1 bit to be output from each transceiver 20. For example, the rate control unit 34 outputs parallel data of N bits in which the frequency of the toggle pattern output from each of the transceivers 20 is half the frequency of the division clock or the external clock, from the parallel data output unit 11.
The clock selection signal output unit 35 outputs a clock selection signal for selecting any one of the external clock and the division clock to the clock selection unit 17. Specifically, the clock selection signal output unit 35 executes the phase acquisition process, the phase difference calculation process, and the phase shift process when the division ratio set by the division ratio setting unit 33 is a predetermined minimum value, and then outputs the clock selection signal for selecting the external clock instead of the division clock. The minimum value of the division ratio is, for example, 2.
Hereinafter, an example of a process of a signal generation method using the signal generation apparatus 1 according to the present embodiment will be described with reference to the flowchart in
In a case where each transceiver unit 12 is activated or reset (YES in step S11), the phase synchronization control unit 31 executes a use amount control process (step S12). For example, in a case where a bit rate of a PAM signal output from the signal generation apparatus 1 is changed by an operation input to the operation unit 65 by a user, each of the transceiver units 12 is reset. The use amount of the FIFO 21 of each transceiver 20 is halved by the use amount control process.
Next, the clock selection unit 17 selects a division clock (division clock selection step S13).
Next, the division ratio setting unit 33 sets a value of a division ratio of the division clock in the division clock output unit 14 to 64 (division ratio setting step S14). Although there is a phase difference between the division clock and the external clock at this time, it is not necessary to consider this at this time point.
Next, the rate control unit 34 causes each transceiver 20 to output a toggle pattern of a frequency half of a frequency of the division clock of the division ratio set in the division ratio setting step S14 (rate control step S15).
Next, the phase acquisition processing unit 31b executes the phase acquisition process of acquiring a voltage value measured by the phase demodulation unit 40 while changing the phase of the toggle pattern output from each transceiver 20 from an initial value (phase acquisition process step S16).
Next, the phase difference calculation processing unit 31c executes the phase difference calculation process of calculating the initial phase difference PC between the division clock selected in the division clock selection step S13 and the initial value of the phase of the toggle pattern, based on a relationship between the voltage value acquired by the phase acquisition process step S16 and the change amount from the initial value of the phase of the toggle pattern (the phase difference calculation process step S17).
Next, the phase shift processing unit 31d executes the phase shift process of moving the phase of the toggle pattern from the initial value by the initial phase difference PC such that the phase difference between the division clock selected in the division clock selection step S13 and the toggle pattern is a value within a predetermined range (phase shift process step S18).
In a case where the current division ratio is more than 2 (NO in step S19), the division ratio setting unit 33 sets the division ratio of the division clock in the division clock output unit 14 to a current half value (division ratio setting step S20). Then, the processes after step S15 are executed again.
That is, steps S15 to S20 are steps of repeatedly executing the phase acquisition process, the phase difference calculation process, and the phase shift process while gradually decreasing the division ratio in the division ratio setting step S20.
On the other hand, in a case where the current division ratio is 2 (YES in step S19), the clock selection unit 17 selects the external clock instead of the division clock (external clock selection step S21). Although the external clock is equivalent to a division clock having a division ratio of 1, the phase of the external clock does not usually coincide with the phase of the division clock.
Next, the rate control unit 34 causes each of the transceivers 20 to output a toggle pattern having frequency half of the frequency of the external clock (rate control step S22).
Next, the phase acquisition processing unit 31b executes the phase acquisition process of acquiring a voltage value measured by the phase demodulation unit 40 while changing the phase of the toggle pattern output from each transceiver 20 from an initial value (phase acquisition process step S23).
Next, the phase difference calculation processing unit 31c executes the phase difference calculation process of calculating the initial phase difference PC between the external clock selected in the external clock selection step S21 and the initial value of the phase of the toggle pattern, based on a relationship between the voltage value acquired by the phase acquisition process step S23 and the change amount from the initial value of the phase of the toggle pattern (the phase difference calculation process step S24).
Next, the phase shift processing unit 31d executes the phase shift process of moving the phase of the toggle pattern from the initial value by the initial phase difference PC such that the phase difference between the external clock selected in the external clock selection step S21 and the toggle pattern is a value within a predetermined range (phase shift process step S25).
Then, the phase synchronization control unit 31 is in a wait state until each of the transceiver units 12 is activated or reset again (step S11).
In step S11, it is assumed that the process after step S12 is automatically executed by activating or resetting each transceiver unit 12, and the present invention is not limited to this. For example, in step S11, a user may press an execution button provided on an operation screen (not illustrated) of the signal generation apparatus 1 via the operation unit 65, so that the user can execute the process after step S12 at any timing.
If the phase adjustment of the toggle pattern output from each transceiver 20 is completed in step S25, the FPGA control unit 15 automatically shifts to a mode of generating a PAM signal during a normal operation, and causes the parallel data output unit 11 to output parallel data of N bits for the normal operation according to the frequency of the external clock.
In this manner, in the signal generation method using the signal generation apparatus 1 according to the present embodiment, the phase of the toggle pattern of each lane is roughly adjusted with a large movement amount by using the division clock having the large division ratio at the beginning, and the phase of the toggle pattern of each lane can be finely adjusted with a small movement amount by using the external clock corresponding to the division ratio equivalent to 1 at the end.
As described above, in the signal generation apparatus 1 according to the present embodiment, the phase acquisition process, the phase difference calculation process, and the phase shift process are repeatedly executed while causing the division ratio setting unit 33 to gradually decrease the division ratio of the division clock.
With this configuration, the signal generation apparatus 1 according to the present embodiment can reduce the maximum phase difference between the pieces of serial data respectively output from the plurality of transceivers 20 to 0.1 UI or less with the external clock base.
In addition, the signal generation apparatus according to the present embodiment can significantly increase the adjustable maximum phase difference between the pieces of serial data respectively output from the plurality of transceivers 20 after the activation or the reset.
For example, in the signal generation apparatus 1 according to the present embodiment, the adjustable maximum phase difference between the pieces of serial data from the respective transceivers 20 can be set to 32 UIs with the external clock base. This value is equivalent to, for example, 1000 ps in a case of 32 Gbps. For example, since a phase error on a data sheet of a GTY transceiver of UltraScale+ manufactured by Xilinx, Inc. is 500 ps, the signal generation apparatus 1 according to the present embodiment can converge the phase error.
Further, the signal generation apparatus 1 according to the present embodiment does not require an additional mechanism such as a delay circuit outside the FPGA for reducing the phase difference between the serial data before the adjustment to within 1 UI in advance, and thus it is not necessary to investigate a parameter to be given to the additional mechanism after a product is manufactured.
Although the signal generation apparatus 1 according to the present embodiment requires the ADC 55 for each lane, required speed performance of the ADC 55 is low (several hundred ksps to several Msps), and thus it is also possible to use an ADC having a plurality of input channels, and it is expected that an ADC peripheral circuit can be miniaturized. Further, in the signal generation apparatus 1 according to the present embodiment, since an external delay circuit is unnecessary, it is also possible to reduce a circuit scale and a substrate size.
In addition, the signal generation apparatus 1 according to the present embodiment executes the use amount control process of equalizing the use amounts of all the lanes of the FIFO 21 to half before starting the phase acquisition process, the phase difference calculation process, and the phase shift process. As a result, in the signal generation apparatus 1 according to the present embodiment, for example, in a case where the use amount of the FIFO 21 is the largest and the division clock of the division ratio is equivalent to 2 UI, the phase of the toggle pattern can be moved to both the positive and negative maximum ranges of −1 UI to +1 UI during the phase acquisition process.
Number | Date | Country | Kind |
---|---|---|---|
2023-160154 | Sep 2023 | JP | national |