FPGA-based SPI Module System Implementation for Various DPS Evaluations in ATE
JiJunhyeong1
ParkJonghee1
LeeJiseok1
BaekHwarang1
KimYoubean1,*
-
(Department of Semiconductor Engineering, Myongji University, Yongin 17058, Korea)
Copyright © The Institute of Electronics and Information Engineers(IEIE)
Index Terms
Automated test equipment (ATE), device power supply (DPS), serial peripheral interface (SPI), field programmable gate array (FPGA)
I. INTRODUCTION
The production of semiconductor products is primarily divided into three stages: manufacturing,
wafer testing, and assembly packaging [1]. Among these, wafer manufacturing process, where the electrical characteristics of
the chips produced on the wafer are verified to determine their functionality. With
the advancement of the semiconductor industry in recent years, there is a growing
interest in testing technologies, especially as semiconductors become more high-performance
and densely integrated [2]. The semiconductor industry demands high efficiency per unit capacity and requires
lower capital costs [3]. However, the current semiconductor industry has reached the limits of component
miniaturization in the front-end processes [4]. Consequently, there is an increasing emphasis on technological improvements in the
post-process stages. It is predicted that the semiconductor post-process equipment
market will expand, gaining significance in the industry. As an indicator, the global
semiconductor equipment market size, as of 2008, stood at $30.9 billion, representing
approximately 15% of the semiconductor component market, signifying its considerable
scale [5].
ATE is a device used for testing semiconductors by applying appropriate signals and
comparing the expected output [6]. ATE performs functions such as maintaining stable temperatures, providing power
for simultaneous testing of multiple chips, and facilitating rapid wafer movement
[7]. The advantages offered by ATE include the ability to reduce testing time and cut
down on the repeatability and cost of verification procedures when dealing with high
volumes of DUT. To achieve this, a DPS Board is required to supply power to the DUT,
and a structure that allows flexible board replacement according to changes in the
tested product is essential. To meet these requirements, there is an increasing trend
of adopting FPGA with flexible scalability, as the data to be collected for integrated
control increases and the number of devices to be controlled in the test environment
expands [8]. Furthermore, ATE users employ various programming languages, and in addition to
Basic, Pascal, C, C++, and Java, various proprietary language extensions have been
introduced. Consequently, almost all ATE suppliers use different programming languages,
compilers/interpreters, and debugger sets [9]. This paper establishes a more universally controllable platform utilizing FPGA,
even when DPS Board and control software are changed. Reconfigurable architectures
can provide unique capabilities, offering a way to achieve required real-time performance
without the need for custom integrated circuits [10]. This is expected to enhance development efficiency by providing a universal environment
for development, even with changes in DPS, eliminating the need for constructing additional
evaluation environments during DPS changes in the conventional ATE equipment development
process. Moreover, it is anticipated that this paper will reduce the inconvenience
of constructing various evaluation environments due to DPS changes in the existing
ATE equipment development process and improve overall efficiency. Section II shows
the structure, functions, and components of the SPI communication protocol for DPS
are explained. Section III shows the configuration and methods of the experimental
environment. Section IV and V show the measurement results and conclusion.
Fig. 1. The annual growth outlook of semiconductor equipment.
II. ARCHITECTURE
1. DPS
The DPS plays the role of supplying voltage and current to the DUT while also performing
the function of measuring the output voltage and current from the DUT. This high performance
device adapts to various testing environments, allowing for the adjustment of specific
power values as needed and ensuring a stable power supply without any noise [11]. The DPS is composed of the DPS IC (Integrated Circuit) responsible for applying
voltage and the PMU (Power Management Unit) IC responsible for supplying current,
and it performs the following operations.
DPS applies constant voltage and current to the DUT to conduct DC parameter tests.
By sequentially increasing and decreasing voltage and current, it allows for the observation
of voltage and current outputs from the DUT, facilitating the characterization of
its characteristics [12]. The overall configuration of the DC parameter test system is depicted in Figs. 2 and 3.
Fig. 2. DPS board block diagram.
Fig. 3. PMU board block diagram.
● VSVM (Voltage Source Voltage Measure): Voltage is applied by the OP-AMP until
the voltage at the feedback connected to the DAC (Digital Analog Converter) equals
the voltage flowing through the resistor network. The voltage across the PM resistor
is then measured.
● VSIM (Voltage Source Current Measure): When voltage is applied by the DAC, it passes
through the Range resistor via the OP-AMP, and feedback occurs through the voltage
at DPS${}_{SENSE}$. The voltage across the Load resistor becomes equal to the voltage
applied by the DAC, allowing for the measurement of current flowing through the Load
resistor.
● VM (Voltage Measure): A different VM path is selected from the DPS IC, connecting
SENSE to PMUPM power. The power supplied to the PMU is measured through DPS IC's DPS${}_{SENSE}$
and SYS${}_{SENSE}$.
● ISVM (Current Source Voltage Measure): After setting the desired current range,
DAC applies voltage to the R${}_{SENSE}$ resistor. The current feedback loop operates
through R${}_{SENSE}$, ensuring the output matches the specified current. The resulting
voltage is applied to the Load resistor through the DPS IC. The voltage across the
Load resistor is measured by the ADC, and the voltage across DPS IC's DPS${}_{SENSE}$
and SYS${}_{SENSE}$ paths is selected through the Measure Out Mux and Gain for ADC
measurement.
2. SPI (Serial Peripheral Interface)
SPI (Serial Peripheral Interface) communication is a serial peripheral device interface.
SPI is one of the serial communication methods, such as UART (Universal Asynchronous
Receiver/Transmitter), I2C, and CAN (Controller Area Network), used for transmitting
data between peripheral devices like microcontrollers, shift registers, and SD cards.
The distinctive feature of SPI communication is its synchronous nature, supporting
one-to-many (1: N) communication. Devices communicate in master-slave mode, where
the master device initializes the data frame. Multiple slaves can be connected to
one master using the SYNC line. The structure of SPI can be observed in Fig. 4, as detailed below.
Fig. 4. SPI architecture.
● SCLK (Serial Clock): Serial clock signal generated by the master and transmitted
to the slave, facilitating the synchronization of data in and out of the device.
● MOSI (Master Out Slave In): Serial data input pin where data is output by the master
and input by the slave.
● MISO (Slave In Master Out): Serial data output pin for data read back, where data
is input by the master and output by the slave.
● SYNC (Frame Synchronization Input): Signal used to select the slave (operates in
an active-low format and is output by the master as a control signal).
The master selects the desired slave through SYNC and transmits synchronized signals
to SCLK through MOSI. The selected slave is activated by the SYNC signal, receiving
data synchronized to SCLK through its own MOSI. These synchronized MOSI signals are
combined into meaningful data, typically in 8, 16, or more bits. While SPI communication
offers fast transmission speeds, it requires a significant number of lines for multiple
communications. Despite this drawback, SPI communication is characterized by faster
transmission speeds compared to I2C communication. Considering the superior aspects
of fast transmission speeds and data synchronization, the DPS board has adopted SPI
communication. In this paper, SPI communication is implemented using FPGA. The data
bits used in the paper are 16 bits, with a 7-bit address and 1 bit serving the purpose
of indicating the mode. Additionally, the FPGA designed in this study operates as
the master.
III. METHODOLOGY
1. Configuration
In this paper, we aim to establish a versatile FPGA-based DPS control environment
that can be universally applied when incorporating DPS with various specifications
into the DPS Board development environment. The control of DPS IC & evaluation boards
and the application of desired voltage values using digital signals have traditionally
relied on PC software, which has limited the potential for system enhancements in
areas other than speed and reliability. However, this paper introduces FPGA to propose
a more widely applicable approach that effectively reduces the software dependency
for all DPS ICs. This methodology enables dynamic reconfiguration of the DPS IC control
logic, increasing system flexibility and providing adaptability across various models
and applications. Thus, the FPGA-based control strategy presented offers a superior
alternative to conventional methods, significantly reducing software dependency while
maintaining high levels of performance [11]. The transition to an FPGA-based solution signifies a significant advancement in
the development of the environment controlling DPS boards, heralding the evolution
towards a more efficient and adaptable control mechanism [14]. The proposed system configuration is depicted in Fig. 5.
As illustrated in the above figure, the system configuration utilizing FPGA consists
of an FPGA capable of controlling DPS, the DPS board, and an additional Measurement
Unit for validation. The Measurement Unit plays a role in verifying the current and
voltage applied to the test target, DUT. It communicates data necessary for DPS control
through FPGA and, upon receiving this data, the DPS performs specific operations according
to the instruction data, facilitated by the DAC. To transmit data to DPS through SPI,
a dedicated SPI module was designed on FPGA. For the construction of the proposed
environment, Analog Devices' AD5560, commonly used in actual mass-produced test equipment,
was utilized. The aim is to validate the FPGA-based evaluation environment. The AD5560
is controlled through a 24-bit serial command comprising 1 bit of control signal,
8 bits of address data, and 16 bits of data bits. Depending on the input signals,
the AD5560 generates and controls the desired signals. In this paper, to build the
system configuration shown in Fig. 5, the Libertron FPGA Starter Kit, featuring the xc7z020-clg484-1 chip, was used as
the FPGA board. For the DPS evaluation board, the EVAL-AD5560 (evaluation board) from
Analog Devices was employed. Additionally, to measure the output signals generated
by the AD5560 through FPGA control, the Rohde & Schwarz RTB 2002 oscilloscope was
used as a Measurement Unit, setting up the experimental environment as shown in Fig. 6. DPS is not controlled through separate evaluation environments for each manufacturer
such as Ana-log Devices, but it controls signals and data through an FPGA, and the
resulting output is measured using an oscilloscope. Therefore, as DPS is changed,
a new DPS is installed on the evaluation board, and in accordance with the data sheet
and the specified protocol for the way of signaling, signals and data can be variably
applied through the FPGA, enabling the control and evaluation of various DPS.
Fig. 6. Device configuration.
2. System
The characteristic of the SPI module implemented with the FPGA operates as a FSM (Finite
State Machine). The operation flow is as shown in Fig. 6. Before explaining the state of SPI, the FSM can be said to be a finite automaton,
that is, an abstract machine that can have a finite number of states. Such a machine
only has one state at a time, and the current state refers to a state at any given
time. Such a machine can change from one state to another by any event, which is called
transition. A specific finite automaton is defined as a possible transition state
from the current state and a set of conditions that cause such transition. The states
for the SPI module were defined as follows:
● IDLE: Data initialization.
● READY: Data transmission preparation operation.
● SEND: Data transmission.
● DONE: Operation completed.
The IDLE state initializes all input and output values to 0, including SCLK, SYNC,
and MOSI. In the READY state, the system is prepared for data transmission, and the
SYNC signal is used to synchronize the operation between the FPGA and AD5560.
The SEND state involves the actual data transmission. When the SYNC signal, triggered
by the falling edge (1 to 0 transition) in the READY state, toggles, the system transitions
to the SEND state. In this state, the SCLK is timed to operate 24 times during data
transmission. The code used in this paper utilizes the SCLK_Index variable to count
each rising or falling edge of SCLK, resulting in a total of 48 counts per cycle,
representing two cycles of SCLK operation.
In the DONE state, the operation is completed when the SYNC value toggles from 0 to
1 (rising edge), and all variables are reset. The system then transitions to the next
state, IDLE, and the cycle repeats as described earlier. Our SPI performs a READ operation
after a WRITE operation. Therefore, one cycle operates during WRITE, and another during
READ.
The SPI protocol in this paper was designed based on a clock with a frequency of 100
MHz A variable named freqwas declared in the SPI module, where the value of freq represents
the clock period. For example, if the freq value is 1, SCLK toggles with each clock
cycle. Similarly, if the freq period is 2, SCLK toggles every two clock cycles. This
flexibility in adjusting the frequency with simple input changes is a significant
feature of our designed SPI_Master. It allows easy control of specifications through
minor variable adjustments in software, providing adaptability to changes without
altering the entire system when the DPS changes. Furthermore, in the final connection
stage, a clock of 40 MHz was applied, and detailed explanations regarding this will
be covered in Section 3, Connect.
3. Connect
In this paper, the FPGA Starter Kit from Libertron was utilized. To achieve this,
the board-to-board connections were established by referring to the datasheet provided
by Libertron.
To efficiently transmit signals and data to the SPI_Mas-ter, a configuration as shown
in Fig. 8 was adopted. Within the Top module, it was designed to supply the SPI_Master clock
and data. Additionally, signals such as SCLK and SYNC were configured.
Fig. 8. FPGA configuration.
In the Top module, a clock of 100 MHz was provided, which was subsequently divided
from 100 MHz to 40 Hz before supplying the clock to the SPI_Master. This choice was
influenced by the relationship between the frequency of SCLK, which is divided according
to the number in the freq variable. For the AD5560, a clock frequency of around 20
MHz is desired. While it is possible to change SCLK to 50 Hz or 25 MHz with a 100
MHz input, achieving 20 MHz was challenging, so a clock of 40 MHz was applied. The
system was controlled by configuring a simple additional circuit to match the specifications
of the DPS. This ability to make the system operate according to DPS specifications
by adding some logic without changing the entire logic block is another noteworthy
feature.
Furthermore,
Fig. 9 shows the Synthesis design I/O Port in XILINX's EDA (Electronic Design Automation)
tool, Vivado, where I/O ports can be configured.
When configuring the I/O ports, SCLK was set to AB11 (JA7), SYNC to AB10 (JA8), and
MOSI to AB09 (JA9) to verify through the FPGA Starter Kit's JA port. Subsequently,
an oscilloscope was used to compare the signals coming out of the FPGA (Master) --
MOSI (AB9) -- with the signals input to the AD5560 (Slave) -- MISO.
IV. MEASUREMENT RESULTS
1. Simulation
Simulation was conducted in the Vivado testbench. The testbench serves as an environment
for testing, providing valuable insights into signal timing, FSM operation, and other
module behaviors. While the results in the testbench may not perfectly match those
in the actual environment, it is useful for verifying the operation of modules. Hence,
in this paper, the goal was to validate the operation of the testbench system. The
results from the testbench are identical to those shown in Fig. 10.
Implementing the FSM model and specifying each state is an important aspect of system
design and programming, and the operation of each state has been explained earlier.
In the module we have implemented, we use the m_state register to represent the state,
mapping 0, 1, 2, 3 to IDLE, READY, SEND, DONE states, respectively. Therefore, we
can verify that the system is operating correctly by observing the changes in the
value of m_state in the test bench. At the end of the start sequence, we observe the
transition from IDLE (0) to READY (1), then when SCLK operates, it transitions to
the SEND (2) state, and finally, after the last SCLK operation, DONE (3) is activated
before transitioning back to IDLE (0). Both write and read operations involve exchanging
24-bit signals, so the system operates in the sequence of 0, 1, 2, 3, 0.
Fig. 10. (a) SPI module testbench; (b) Write signal; (c) Read signal.
In the Top module, the following data definitions were applied: data0 $=$ 23'h010200,
data1 $=$ 23'h029950, data2 $=$ 23'h088000, data3 $=$ 23'h08E3EC. The testbench confirmed
the application of the first data, data0 $=$ 23'h010200, among them. As a result,
two glitches can be observed. The testbench, however, shows that there is no anomaly
in the operation. Additionally, in the first cycle, data is transmitted, and in the
second cycle, no data is received during the READ operation. This behavior is natural
since this testbench is focused on verifying the operation of the SPI Master signal
input. It is normal not to receive any data during the READ operation as there is
no incoming signal from the Slave. Furthermore, examining the state parameter values
reveals that the value of the state increases during system operation and then returns
to 0. This indicates that the state is operating correctly. SCLK is operating below
20MHz, confirming that the simple logic addition mentioned earlier and the freq variable
of the SPI Master module are functioning correctly. This signifies the validation
of the operation of the general-purpose DPS evaluation environment.
2. SPI Interface Function Implementation
To verify normal operation, the method of transmitting signals from MOSI and checking
the signals coming out from MISO was employed. Typically, in SPI, upon receiving a
signal, the same signal is transmitted again to validate it. This process was confirmed
using AD5560. Moreover, if the waveform of the signal coming out from MISO is not
normal, it could be considered as an indication of an issue in the system. In other
words, by confirming the waveform of the signal, it can be verified that communication
between FPGA and DPS is occurring smoothly. As shown in Fig. 10, MOSI signal (D10) and MISO signal (D11) exhibit identical waveforms, confirming
the successful communication.
Fig. 11. Transmission data waveform.
Through the waveform in Fig. 11, it was confirmed that the results from both simulation and the real-world environment
were consistent. As mentioned earlier, 23'h010200 was applied to the top module. Consequently,
signal fluctuations can be observed in two bits. Additionally, the sections without
signal changes in the middle indicate the execution of the read operation, and the
noise-free part in the middle corresponds to the state of SYNC signal being 1, representing
the initial write operation in the DONE and read operation in the IDLE state. Thus,
the operation of the universal DPS evaluation environment can be considered verified.
3. Operation
The stored data values exactly match the settings described in the datasheet. Referring
to Fig. 12(a), the register structure of the system control register can be examined, confirming
that the MEASOUT Gain and offset DAC are configured to 1 and 0x8000 respectively,
as indicated in Fig. 13. The value of data0, 23'h010200, aligns with the provided specifications. The MEASOUT
Gain is controlled by the 12th and 13th registers of the 0x01 register. By adding
the 00 value, the MEASOUT Gain was set to 1 MI gain 20. Additionally, the force amplifier
block has been powered down as it is unnecessary for the experiment. Fig. 12(b) further illustrates that the offset DAC is also set to 0x8000.
Fig. 12. (a) System control register; (b) Offset DAC register.
Fig. 13. (a) Force voltage; (b) Datasheet of AD5560.
The Fig. 13 below demonstrates sending the value 23'h088000 to the DAC register, followed by
23'h08E3EC, illustrating a 10V increase. The offset DAC with a value of 23'h08E3EC
increases the output voltage by 10V for a data increase of 23'h0063EC compared to
23'h088000. After meeting the conditions of Fig. 13(b), experiments were conducted. As a result, the power voltage outputted 10V. The term
"FORCE" is associated with channel 2. With a scale of 2V per block for channel 2,
it can be inferred that each block represents an increase of 2V, resulting in a total
increase of 10V across 5 blocks. After aligning the conditions in Fig. 13(b), we proceeded with the experiment. As a result, we set the force voltage to 10V.
Subsequently, we observed that Fig. 13(a) and Fig. 13(b) matched, confirming the alignment of conditions. Voltage output at the DUT terminal
on the Eval-board was measured.
Successfully achieved DC voltage output using the SPI interface of the ATE equipment
and the DPS component.
4. Expanded Environments for Various DPS Evaluation
By establishing the system, we have confirmed the potential to utilize the AD5560
in an FPGA-based environment for the verification of various chips. This enables a
universal evaluation of different DPS, and the constructed test environment is expected
to be beneficial for testing new products in the future. The adopted approach, using
Analog Devices' AD5560 with FPGA without the need for traditional PC software, contributes
to the flexibility of applying changes to the DPS seamlessly. Even with alterations
in the DPS specifications, modifying the Verilog-HDL code accordingly and synthesizing
the Bitstream file allows the creation of a versatile DPS evaluation environment.
This approach is anticipated to enhance the stability and performance of the system.
V. CONCLUSIONS
This system emphasizes the universality of a DPS testing environment by establishing
a versatile framework capable of accommodating various DPS modules. While this paper
particularly focuses on the SPI module for the AD5560, the system signifies flexible
construction for future application to DPS modules with different specifications.
The high compatibility offered by the system facilitates seamless expansion of experiments
and tests when introducing new DPS modules.
Leveraging the programmability and flexibility of FPGA allows for the swift establishment
of a testing environment for new DPS modules. This approach presents the potential
as a versatile technology that can expand the scope of application and research for
various chips in the future.
The FPGA-based SPI module system goes beyond the implementation centered around the
AD5560 chip, presenting a universal DPS testing environment. It aims to explore effective
application possibilities for various chips in the ongoing direction of research.
ACKNOWLEDGMENTS
This work was supported by 2022 Research Fund of Myongji University.
References
M.-S. Yoon, ``Introduction of TSV (Through Silicon Via) technology,'' Journal of the
Microe-lectronics & Packaging Society, vol. 16, no. 1, pp. 1-6, 2009.

H.-J. Kouh, ``A mixed debugging system in test systems,'' Society Interest Group on
Programming Language, The Korean Institute of Information of Scientists and Engineers,
vol. 15, no. 1, pp. 39-50, 2001.

H. A. Kuo and C.-F. Chien, ``Semiconductor capacity expansion based on forecast evolution
and mini-max regret strategy for smart production under demand uncertainty,'' Computers
and Industrial Engineering, vol. 177, 2023.

H.-J. Kang and J.-G. Back, ``Improved quality prediction method by clustering data
in semiconductor manufacturing process,'' Journal of the Korean Institute of Industrial
Engineers, vol. 46, no. 2, pp. 134-142, 2020.

H.-G. Gang and J.-P. Hong,``The direction of the government's R&D support policy to
improve the technological competitiveness of the domestic equipment industry,'' Journal
of the Semiconductor & Display Equipment Technology, vol. 8, no. 3, pp. 61-69, 2009.

X. Su and L. Tian, ``A general automatic test system for instruments in IC equipment,''
IEEE Transactions on Instrumentation and Measurement, vol. 61, no. 9, pp. 2591-2599,
2012.

Y. Koh, J. Kang, and G. Erickson, ``Technology and Development Trends in ATE Tester,''
The Journal of Korea Institute of Electronics Engineers, vol. 25 no. 11, pp. 89-102,
1998.

X. Wang, ``Design of digital switching power supply based on FPGA,'' Proceedings of
the 2016 4th International Conference on Electrical & Electronics Engineering and
Computer Science (ICEEECS 2016), vol. 50, pp. 97-100, 2016.

S. R. Vock, O. J. Escalona, C. Turner and F. J. Owens, ``Challenges for semiconductor
test engineering: A review paper,'' Journal of Electronic Testing, vol. 28, pp. 365–374,
2012.

R. Tessier, K. Pocek, and A. DeHon, ``Reconfigurable computing architectures,'' Proceedings
of the IEEE, vol. 103, no. 3, pp. 332-354, 2022.

H.-S. Kang, ``A study on DC parameter measurement of equipment for semiconductor inspection
using programmable power supply device,'' Korean Society of Mechanical Technology,
vol. 24, no. 4, pp. 739-743, 2022.

S.-S. Lee, B.-J. Joun and J.-S. Kim, ``A study on the Design of Circuits for DC parameter
Inspection,'' Proceedings of the Korea Institute of Convergence Signal Processing,
vol. 6a, pp. 256-261, 2003.

H.-S. Kang, ``A study on DC parameter measurement of equipment for semiconductor inspection
using programmable power supply device,'' Journal of the Korean Society of Mechanical
Technology,, vol. 24, no. 4, pp. 739-744, 2022.

J.-W. Park, J.-Y. Ko, J.-H. Park, M.-H. Hong, Y.-H. Lee and J.-C. Shim, ``A wireless
temperature control system based on FPGA,'' Journal of Korea Multimedia Society, vol.
15, no. 7, pp. 920-930, 2012.

Junhyeong Ji received the B.S. degree in electronic engineering from Myongji University,
Yongin-si, Korea, in 2023, where he is currently pursuing the master's degree with
the Department of Semiconductor Engineering. His current research interests include
semiconductor testing, utilizing FPGA for DFT (Design for Testability) and ATE (Automatic
Test Equipment) systems.
Jonghee Park received the B.S. degree in electronic engineering from Myongji University,
Yongin-si, Korea, in 2023, where he is currently pursuing the master's degree with
the Department of Semiconductor Engineering. His current research interests include
semiconductor testing, specifically focusing on high-frequency packaging for SI (Signal
Integrity) and PI (Power Integrity), and their application in ATE systems.
Jiseok Lee received the B.S. degree in electronic engineering from Myongji University,
Yongin-si, Korea, in 2023. He has been developing hardware at YIKC since 2024.
Hwarang Baek received the B.S. degree in electronic engineering from Myongji University,
Yongin-si, Korea, in 2023. He has been developing firmware at Wave Electronics Since
2024.
Youbean Kim received the B.S. degree and the M.S. in computer science from Sogang
University, Seoul, Korea, in 2002 and 2004, respectively. He received Ph.D. degrees
in electrical and electronic engineering from Yonsei University, Seoul, Korea, and
in public administration from Hanyang University, Seoul, Korea, in 2009 and 2014,
respectively. He was a senior engineer with Samsung Electronics and Samsung Display,
a senior researcher with the Korea Institute of Fusion Energy (KFE), and a research
fellow with the National Assembly Futures Institute. Since 2022, he has been an Assistant
Professor with Department of Semiconductor Engineering, Myongji University, Yongin.
His current research interests include semiconductor testing, design for testability,
and high-speed testing including signal integrity and power integrity.