Next Article in Journal
Face Typicality–Distinctiveness Norms for the 304 Front-View Faces of the Glasgow Unfamiliar Face Database
Previous Article in Journal
A Curated Dataset on the Acute In Vivo Ecotoxicity of Metallic Nanomaterials from Published Literature
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Reproducible FPGA–ADC Synchronization Architecture for High-Speed Data Acquisition

Laboratory of Precision Engineering and Smart Measurement, School of Mechanical Engineering, Hanoi University of Science and Technology, Hanoi 100000, Vietnam
*
Author to whom correspondence should be addressed.
Data 2026, 11(1), 23; https://doi.org/10.3390/data11010023
Submission received: 25 November 2025 / Revised: 15 January 2026 / Accepted: 17 January 2026 / Published: 21 January 2026
(This article belongs to the Topic Data Stream Mining and Processing)

Abstract

High-speed data acquisition systems based on field-programmable gate arrays (FPGAs) often face synchronization challenges when interfacing with commercial analog-to-digital converters (ADCs), particularly under constrained hardware routing conditions and vendor-specific clocking assumptions. This work presents a vendor-independent FPGA–ADC synchronization architecture that enables reliable and repeatable high-speed data acquisition without relying on clock-capable input resources. Clock and frame signals are internally reconstructed and phase-aligned within the FPGA using mixed-mode clock management (MMCM) and input serializer/deserializer (ISERDES) resources, enabling time-sequential phase observation without the need for parallel snapshot or delay-line structures. Rather than targeting absolute metrological limits, the proposed approach emphasizes a reproducible and transparent data acquisition methodology applicable across heterogeneous FPGA–ADC platforms, in which clock synchronization is treated as a system-level design parameter affecting digital interface timing integrity and data reproducibility. Experimental validation using a custom Kintex-7 (XC7K325T) FPGA and an AFE7225 ADC demonstrates stable synchronization at sampling rates of up to 125 MS/s, with frequency-offset tolerance determined by the phase-tracking capability of the internal MMCM-based alignment loop. Consistent signal acquisition is achieved over the 100 kHz–20 MHz frequency range. The measured interface level timing uncertainty remains below 10 ps RMS, confirming robust clock and frame alignment. Meanwhile, the observed signal-to-noise ratio (SNR) performance, exceeding 80 dB, reflects the phase–noise-limited measurement quality of the system. The proposed architecture provides a cost-effective, scalable, and reproducible solution for experimental and research-oriented FPGA-based data acquisition systems operating under practical hardware constraints.

1. Introduction

Speed, accuracy, and effective noise suppression while maintaining reasonable cost and stability are critical requirements in modern signal processing and data acquisition systems [1,2]. These objectives can be achieved through advanced signal-processing algorithms as well as reliable synchronization between hardware and software components [3,4,5]. In recent years, FPGAs have emerged as a robust platform for such applications due to their real-time processing capability, low latency, and flexible input/output (I/O) architectures [6,7,8]. Although advanced algorithms, including adaptive filtering and learning-based approaches, have significantly improved signal quality, the reliability, consistency, and reproducibility of acquired datasets depend not only on algorithmic performance but also on the stability and accuracy of the underlying hardware synchronization [9,10]. From a data acquisition perspective, insufficient synchronization between ADCs and processing hardware directly degrades timing accuracy and compromises dataset reliability; therefore, synchronization should be regarded as a fundamental system component rather than a secondary hardware detail.
FPGAs are widely adopted in real-time signal-processing applications such as imaging, communications, and radar due to their parallel processing capability and reconfigurable nature [11,12,13,14,15]. Numerous FPGA-based implementations have been reported to enhance signal acquisition and reconstruction from ADCs, resulting in high resolution and low noise [16,17,18,19,20,21]. However, while most existing studies primarily emphasize signal-processing performance, hardware-level synchronization between ADCs and FPGA platforms remains comparatively underexplored. In practical implementations, clock and frame alignment across different interface standards, such as low-voltage differential signaling (LVDS), complementary metal–oxide–semiconductor (CMOS), and JESD204x, poses significant challenges, particularly when clock-capable I/O resources are limited. Misalignment at this stage directly affects the integrity of digital interface timing, data reproducibility, and the validity of experimental results.
In previous works, the authors developed FPGA-based phase measurement systems for mechanical displacement interferometers, which demonstrated the feasibility of high-resolution digital phase extraction [22,23]. These and other studies mainly improved optical resolution through advanced signal-processing algorithms [22,23,24,25,26,27,28,29]. However, many commercial ADC/processing platforms impose fixed sampling rates and proprietary synchronization constraints, which limit the portability and reproducible reuse of acquisition workflows across different FPGA–ADC combinations.
Such limitations are common in commercial platforms, where ADCs and processors are tightly coupled through proprietary synchronization schemes, making upgrades costly and inflexible. Similarly, modern high-speed ADCs using LVDS or JESD204x interfaces (e.g., ADS42LB49 [30], AFE7225 [31]) are available as standalone devices with detailed documentation [32,33,34,35]; however, their practical deployment remains complex because most implementation guidelines and reference designs are tailored to expensive vendor-specific evaluation boards and software [36,37], thereby increasing cost and limiting scalability for custom FPGA designs.
Based on our understanding of the existing literature, synchronization has typically been addressed from two main points. At the architectural level, prior studies have focused on multi-channel alignment and system throughput [9,10,38,39], where clock synchronization is generally treated as an enabling condition rather than a design parameter to be evaluated. Closer to the scope of this work, synchronization has also been studied at the block level, where hardware synchronization and clock phase alignment are addressed within an FPGA [40]. Reference [40] targets hardware synchronization between different devices using an MMCM-based phase-shifting approach combined with time-delay-line phase comparison. In this approach, phase states are captured via a parallel snapshot mechanism, which requires a parallel phase-observation structure with associated logic and clocking resources. In contrast, the present work adopts a time-sequential phase observation strategy based on ISERDES. It integrates clock phase shifting directly into the ADC–FPGA acquisition chain, enabling synchronization to be examined from a system-level perspective under practical timing, clock-frequency, and hardware resource constraints.
To clarify the novelty and scope of this contribution, we note that a preliminary version of this research was presented in our earlier conference paper [41]. While that work demonstrated the feasibility of a phase-measurement prototype for a specific heterodyne interferometry setup, the present manuscript substantially extends that effort by shifting the focus from an application-specific instrument to a reusable, vendor-agnostic synchronization architecture for high-speed data acquisition. Accordingly, the novelty of this work lies in the generalizable FPGA–ADC synchronization framework, rather than solely in the phase-measurement performance, unlike the conference paper, which was limited to a single-frequency feasibility test at 12.5 MHz, where the ADC input was assumed to be provided by an internal test pattern. This study provides a complete and reproducible synchronization architecture tailored to the scope of the Data Journal.
In contrast to vendor-specific and application-tailored solutions, this work introduces a generalized and cost-effective synchronization methodology for FPGA-based data acquisition systems. The main contributions of this paper are summarized as follows:
  • A system-level perspective on clock phase alignment in data acquisition, treating clock synchronization as a design parameter affecting digital interface timing integrity, capture margin, and data reproducibility in the ADC–FPGA chain.
  • Direct integration of clock phase shifting into the ADC–FPGA data capture process, enabling synchronization performance to be evaluated through actual capture timing and acquired data rather than block-level feasibility alone.
  • A time-sequential phase observation strategy based on ISERDES, replacing parallel snapshot-based phase comparison and reducing hardware overhead while improving scalability at higher clock frequencies.
  • Experimental characterization of interface synchronization jitter as a measurable system parameter, supported by full-spectrum validation (100 kHz–20 MHz) and digital interface integrity verification, together with an open access, reproducible acquisition pipeline with phase-alignment logs and timing measurements.
This approach significantly lowers the entry barrier for implementing experimental timing-sensitive measurement and high-speed data acquisition systems while maintaining sub-nanosecond phase alignment accuracy. To provide an overview of the proposed synchronization framework for data acquisition, Figure 1 illustrates the conceptual architecture of the FPGA-based data acquisition system and the main clocking and data paths involved.

2. Asynchronous Condition of the Default LVDS Interface Between a Commercial ADC and a Custom FPGA

Contemporary high-speed ADCs predominantly employ the low-voltage LVDS interface as the standard for digital data transmission at the output. The widespread adoption of LVDS is attributed to its robust data transmission capabilities, superior energy efficiency, and exceptional noise immunity [42,43,44,45]. However, despite these advantages, a critical challenge for system designers lies in the improper routing of the original clock and frame signals from the ADC to the clock-capable I/O ports of the FPGA, which can compromise system synchronization and performance. The problem is explained in Section 3.

2.1. Default LVDS Interface Between ADC and FPGA

Generally, each LVDS transmission from the ADC includes (Figure 2) [32]:
  • One or more data lines per channel: 1-wire mode uses one signal line, while two-wire mode uses two lines.
  • Clock: A synchronous clock signal is phase-shifted by 90 degrees to the data signal. Two transmission modes affect the clock frequency:
    • Single data rate (SDR): One data bit is transmitted per original clock cycle and captured on the rising edge. Here, fclock = fdata.
    • Double data rate (DDR): Two bits are transmitted per original clock cycle, captured on both the rising and falling edges of the clock. In this case, fclock = 0.5fdata.
  • Frame: This digitized replica is delayed and phase-shifted by 90 degrees relative to the original clock.
Figure 2. Timing diagram of an ADC using DDR, two-wire LVDS interface, illustrating the phase relationship between the input clock, frame signal, and serialized output data bits.
Figure 2. Timing diagram of an ADC using DDR, two-wire LVDS interface, illustrating the phase relationship between the input clock, frame signal, and serialized output data bits.
Data 11 00023 g002
In this study, a commercial dual-channel ADC (Texas Instruments, AFE7225, 12-bit resolution with a maximum sampling rate of 125 MHz) is intentionally employed due to its standard LVDS output interface and strict clock–data alignment requirements. This choice allows the synchronization problem addressed in this work to be examined under practically relevant conditions, where the ADC clock and frame signals are constrained to general-purpose FPGA I/O pins rather than dedicated clock-capable inputs. A custom FPGA module equipped with an FMC-LPC interface (Figure 3) is used in combination with an FMC–ADC adapter that bridges the ADC’s LVDS outputs to the FPGA’s FMC connector [46,47,48]. The selected Kintex-7 FPGA platform provides sufficient clock-management and high-speed I/O resources while remaining representative of cost-sensitive and research-oriented custom designs. This hardware configuration deliberately avoids reliance on vendor-specific evaluation boards or ideal clock-routing assumptions, thereby enabling an objective evaluation of the proposed FPGA–ADC synchronization architecture.

2.2. Clock-Capable Input/Output (I/O) of FPGA

Figure 3 illustrates the system setup and the raw input data captured by the original clock and frame. Modern FPGAs provide dedicated clock-capable pins to receive external clock signals. These pins are designed to distribute timing references from devices such as ADCs to the internal routing network, ensuring proper synchronization. Although routing the ADC timing lines to clock-capable pins represents the optimal hardware design, this configuration is often impractical in low-cost, educational, industrial, or custom boards with fixed pin assignments.
As shown in Figure 3b,c, the original clock and frame from the ADC are not connected to the clock-capable ports of the custom FPGA through the FMC–ADC adapter. Instead, they are routed to general-purpose I/O (GPIO) banks, interpreted as ordinary data lines rather than timing references. Consequently, the A- and B-channel data cannot be correctly digitized or aligned with the original clock and frame, leading to random distortion in the output signals (Figure 3a).
The design process becomes more complex when the ADC timing signals are connected to GPIO pins instead of dedicated clock-capable pins. Traditional synchronization methods often struggle to maintain stable timing alignment in these situations due to two main challenges.
The first challenge is that the internal routing capabilities are specific to the vendor. For instance, in some architectures, such as Intel devices using the Altera clock control (ALT-CLKCTRL) primitive [49], a GPIO signal can connect to the global clock network. However, other major architectures, such as our Xilinx 7-series platform, which uses an input delay control block [50], do not permit this. Direct route from a GPIO pin to the leading internal clocking resource on these platforms is considered architecturally invalid.
The second challenge is that, even when bridging is possible, this new clock path introduces a routing delay (skew) compared to the data signals, which follow standard I/O paths [32,49]. This skew is highly unpredictable and varies each time; its exact value relies on the specific hardware layout and the uncertain outcomes of the place-and-route algorithms that optimize the entire design of the vendor, not just this one path. Therefore, this skew cannot be reliably adjusted with static timing constraints, as it may change with any minor design modification. It is also likely to differ across various hardware layouts, which limits portability. This combination of vendor inconsistency and timing skew restricts the use of traditional synchronization methods.
Although the asynchronous condition is not ideal for high-speed data acquisition, it offers a valuable opportunity to examine how timing discrepancies propagate through the data path and affect signal integrity. Such analysis is essential for designing robust timing-recovery schemes suited to cost-sensitive and reconfigurable FPGA platforms. Related studies on clock accuracy and jitter effects in high-speed circuits are presented in [51]. The present study focuses on this non-optimal yet practical configuration to overcome this limitation. Section 3 details the proposed synchronization method.

3. Proposed Solution of a Modified LVDS Interface Between a Commercial ADC and a Custom FMC-Integrated FPGA

Figure 4 presents the overall flow of the proposed synchronization method designed to interface a commercial high-speed ADC with a custom FMC-LPC-integrated FPGA for high-speed data acquisition and signal processing. Building upon the asynchronous configuration analyzed in Section 2.2, this method reconstructs timing signals internally within the FPGA and establishes synchronization with the external ADC through four successive functional stages:
  • Clock and frame generation: A pair of internal timing references, including clock and frame, is generated from the onboard crystal oscillator;
  • New clock phase shift alignment: The phase of the newly generated clock is dynamically adjusted to coincide with that of the incoming ADC clock signal;
  • New frame alignment: Based on the original frame, adjust the received message from the new frame signal to align with the newly generated clock signal;
  • Data synchronization and distribution: The adjusted clock and frame signals are then used to synchronize the A- and B-channel data paths inside the FPGA, providing stable and coherent inputs for subsequent phase computation.
Figure 4. The flowchart of the proposed solution with four main functional blocks.
Figure 4. The flowchart of the proposed solution with four main functional blocks.
Data 11 00023 g004
This four-stage architecture forms the foundation of the proposed synchronization system. The detailed implementation of each functional block is described in the following subsections.

3.1. Overview of the Hardware Synchronization System Built on High-Performance ADCs and Custom Low-Cost FPGAs

Figure 5 presents a detailed system schematic that integrates the proposed synchronization solution. The setup comprises three primary hardware components: a high-speed dual-channel ADC (AFE7225), an FMC-ADC adapter, and a custom Kintex-7 FPGA (XC7K325T) board. The ADC receives an external reference clock and two analog input signals, A and B, for digitization and subsequent signal processing. This study selects a carrier frequency of 100 MHz to illustrate the synchronization procedure; however, other frequencies can also be employed depending on the specific ADC configuration or application requirements. The ADC converts the analog inputs into 12-bit digital data streams and outputs them, along with the original clock and frame signals, through the FMC-ADC adapter interface. Acting as a passive interconnect board, the adapter bridges the ADC’s LVDS output pairs to the FPGA’s FMC-LPC port, preserving signal integrity during high-speed transmission. Inside the FPGA, an internal crystal oscillator provides a local timing reference (100 MHz in this implementation) from which the new clock and frame signals are generated. This frequency corresponds to the default setup of the current platform; other internal clock sources or operating frequencies can also be adopted, depending on the FPGA configuration. These internally derived timing references replicate the nominal characteristics of the ADC’s clock and frame lines, serving as the foundation for the synchronization process. The LVDS data lines entering the FPGA are routed through dedicated input buffers that convert differential pairs into single-ended logic levels compatible with the FPGA fabric. The converted signals include Frame, Clock, 6-bit Input A (low), 6-bit Input A (high), 6-bit Input B (low), and 6-bit Input B (high). These signals are then delivered to the synchronization module illustrated in Figure 6 for phase-shift and frame-alignment processing.
Figure 6 illustrates the FPGA-level synchronization architecture that reconstructs and aligns the timing and data streams received from the ADC. This internal structure implements the synchronization concept introduced in Figure 4 and corresponds to its four sequential stages (new clock & frame generator, new clock phase shift alignment, new frame alignment, and data reception). The synchronization block accepts eight input signals, including the internal 100 MHz FPGA clock, reset, original clock, and frame from the ADC, as well as four 6-bit LVDS data lines representing the low and high portions of Input A and Input B. It produces five outputs: the regenerated clock and frame, a data-ready flag, and two 12-bit parallel outputs corresponding to the reconstructed input channels A and B. At this level, the design logic operates as a unified module that regenerates internal timing references, then performs phase and frame alignment before reconstructing synchronized data streams. This organization ensures that the ADC’s external timing and data signals (originally routed through non-clock-capable I/O pins) are properly realigned to the FPGA’s internal clock domain. As a result, the entire data-acquisition path maintains consistent timing integrity and reliable communication between the ADC and FPGA.

3.2. New Clock and Frame Generator

Figure 7 illustrates the new clock and frame generator, which creates internal synchronization references within the FPGA. This block includes three input signals (phase-shift enable, phase-shift increase/decrease, and the 100-MHz FPGA clock signal) and four output signals (new clock, new frame, clock creation done, and phase-shift done). The generator operates based on the MMCM (Mixed-Mode Clock Manager) module, available in all Xilinx 7-series FPGAs. The MMCM takes the 100 MHz reference clock produced by the onboard crystal oscillator and synthesizes two new timing signals: a new clock and a new frame. Once both are initialized, the “clock creation done” flag is asserted, allowing subsequent phase-alignment stages to begin. Dynamic phase-shift control signals (increase/decrease, enable, done) are then used to adjust the output phase with high resolution in later synchronization processes. The reset input reinitializes the module to its default state when required.

3.2.1. Determining the Original and Frame Clock Frequencies of the LVDS Protocol

Accurate estimation of the ADC’s original timing frequencies is essential before synthesizing the new internal clock. The original (foriginalclock) and frame (foriginalframe) clock frequencies can be calculated [32]:
f o r i g i n a l   c l o c k = A D C _ b i t _ n u m b e r × s a m p l e _ r a t e B i t _ p e r _ c l o c k _ c y c l e   ×   n u m _ o f _ w i r e   ( w i r e )   ,
f o r i g i n a l   f r a m e = s a m p l e _ r a t e   ,
where the ADC_bit_number, sample_rate, bit_per_clock_cycle, and num_of_wire are the ADC resolution, the user-selected sample rate of ADC, the bit per one clock cycle, and the number of wires per channel. In this design, with ADC_bit_number (Texas Instrument, AFE7225, full sampling rate = 125 MS/s) = 12 bits, sample_rate = 100 MS/s, bit_per_clock_cycle = 2, num_of_wire = 2, the frequencies are foriginalclock = 300 MHz and forginalframe = 100 MHz.
Recognizing that handling DDR signals poses several challenges for system configuration and signal processing, the newly generated clock should have a frequency twice that of the original clock to transition the system to operate solely in SDR mode. Therefore, the frequencies of the new clock (fnewclock) and frame (fnewfrane) signals are required as
f n e w   c l o c k = 2 × f o r i g i n a l   c l o c k = 600   M H z ,
f n e w   f r a m e = f o r i g i n a l   f r a m e = 100   M H z ,

3.2.2. Adjust the New Clock and Frame Signal Frequencies Using MMCM to That of the Original Clock and Frame Signals [52]

Figure 8 presents the MMCM’s frequency-synthesis principle. The module performs programmable multiplication and division of the input clock by coefficients feedback multiplication (M), input division (D), and output division (O), respectively, to achieve the desired output voltage-controlled oscillator frequency (fVCO) according to
f V C O = f C L K I N × M D   ,
f o u t = f V C O O = f C L K I N × M D × O   ,
where fVCO, fout, M, D, and O are the VCO frequency generated, the fundamental clock frequency of the crystal oscillator, the multiplying and dividing coefficients of the VCO output frequency, the input FPGA clock frequency, and the setting coefficient of the output MMCM clock frequency, respectively.
To satisfy the timing requirements of the Kintex-7 XC7K325T FPGA, the selected coefficients are M = 12, D = 1, O = 2 for the new clock signal, and O = 12 for the new frame signal. Substituting into (5) with crystal oscillator frequency fCLKIN = 100 MHz, we obtain
f V C O = 100 × 12 1 = 1200   M H z ,
f n e w   c l o c k = 100 × 12 1 × 2 = 600   M H z ,
f n e w   f r a m e = 100 × 12 1 × 12 = 100   M H z .
This selection satisfies the required frequency (see Equations (3) and (4)).
In practice, the MMCM accepts a wide input frequency range of 10 MHz to 800 MHz, while maintaining a valid VCO operating range of approximately 600 MHz to 1440 MHz [53]. Therefore, it enables the FPGA to receive and synchronize external ADC clock signals whose frequencies, when multiplied, fall within the 600–1440 MHz VCO region. The frequency multiplication and division factors (M, D, O) are therefore selected such that the internal VCO stays within the 1.2 GHz region, ensuring stable locking and minimal phase jitter even if the ADC reference clock deviates by a few kilohertz from the nominal value. Hence, the proposed synchronization does not require both devices to share the same physical clock source; their frequencies need only to fall within the MMCM’s capture and tracking range.
It should be noted that the proposed clock generation and synchronization scheme does not impose a fixed maximum allowable frequency difference between the ADC clock and the FPGA clock. Instead, the tolerable frequency offset is determined by the capture range and dynamic tracking capability of the MMCM, together with the available timing margin for reliable data sampling.
In practice, stable synchronization can be maintained if the relative frequency difference results in a phase drift that can be compensated for by the clock alignment mechanism. If the frequency offset exceeds this capability, the system may temporarily lose lock and subsequently re-acquire synchronization through the state machine.

3.3. New Clock Phase-Shift Alignment

Although the newly generated clock and frame signals share the same frequency and duty cycle as the original ADC timing, a phase difference still exists due to routing delays and independent clock domains. Therefore, the phase of the regenerated clock must be precisely aligned with that of the original clock to ensure accurate synchronization between the ADC and FPGA.
Figure 9 illustrates the structure of the new clock phase-shift alignment block. It receives six inputs—new clock, new frame, clock-creation-done, phase-shift-done, reset, and original clock—and produces three outputs: phase-shift-enable, phase-shift-increase/decrease, and clock-copied. The block comprises two functional submodules: an ISERDES [50] unit that samples the reference clock and a phase-shift controller that dynamically adjusts the MMCM phase. The ISERDES captures the original clock as data across six consecutive 1-bit intervals (Q0–Q5). The phase-shift controller uses these sampled values to determine whether the regenerated clock is leading or lagging relative to the original. The controller then asserts the appropriate control signals (phase-shift-enable and phase-shift-increase/decrease) to tune the phase incrementally until both clocks are in sync. Once alignment is achieved, the “clock-copied” flag is set high to activate the subsequent synchronization stages. Because the original ADC clock is connected to a GPIO, it cannot be used directly for synchronous sampling within the FPGA. Therefore, it is treated as a reference data signal for phase comparison, while the regenerated clock serves as the active sampling clock.

3.3.1. Phase-Shift Controller

The phase-shift controller operates on the rising edge of the new frame and starts when the clock-creation-done signal from Section 3.2 is asserted. The controller achieves fine-grained tuning of the clock phase using the MMCM’s dynamic phase-shift feature, with a resolution defined as one-fifty-sixth of the VCO period:
P h a s e s h i f t   r e s o l u t i o n =   1 56 f V C O ( p s ) ,
P h a s e s h i f t   r e s o l u t i o n = 1 56 f V C O × f n e w   c l o c k × 360 ( d e g r e e ) .
With fVCO = 1.2 GHz and fnewclock = 600 MHz, the achievable phase-shift resolution is approximately 14.88 ps or 3.214 degrees per step, enabling highly accurate phase alignment. It should be emphasized that the ISERDES operates as a shift-register-based deserializer, capturing the incoming reference clock across six consecutive bit positions (Q0–Q5). This behavior is equivalent to a serial-in/parallel-out shift register clocked at 100 MHz, allowing the system to observe the phase relationship between the original and regenerated clocks at discrete sampling instants. However, the 14.88 ps resolution derived above corresponds to the internal dynamic phase-shift granularity of the MMCM’s VCO, which runs at 1.2 GHz. In other words, while the ISERDES updates its logic state every 10 ns, the MMCM can finely adjust the output phase in 14.88 ps steps, providing sub-nanosecond alignment accuracy beyond the ISERDES sampling period.
Figure 10 depicts the finite state machine transition diagram of the phase-shift controller. The controller is implemented as a Moore-type FSM, in which the control outputs depend only on the current state to ensure glitch-free operation of the MMCM phase-shift mechanism. The FSM operates across six states: initial, update, detect, increase, decrease, and lock. The six outputs Q5–Q0 from the ISERDES store consecutive samples of the original clock and are used to determine the phase relationship between the regenerated and reference clocks. This phase-comparison process serves as the core of feedback in the synchronization loop. It enables the controller to identify whether the FPGA-generated clock is leading, lagging, or aligned with the ADC clock and to issue the corresponding phase-shift command to the MMCM. The MMCM then performs phase adjustment with the fine resolution previously described (≈14.88 ps per step), allowing precise alignment of the regenerated clock with the ADC reference. Through this closed-loop operation, the system maintains stable synchronization and prevents sampling errors during high-speed data acquisition. The edge_var variable encodes this relation into one of three categories:
(1)
late—new clock lags (phase delayed);
(2)
soon—new clock leads (phase advanced);
(3)
same—aligned or 180° out-of-phase.
Figure 10. Moore-type finite state machine (FSM) transition diagram of the phase-shift controller (PSC) used for clock phase alignment and synchronization.
Figure 10. Moore-type finite state machine (FSM) transition diagram of the phase-shift controller (PSC) used for clock phase alignment and synchronization.
Data 11 00023 g010
When a reset is received, the FSM enters the Initial state, clearing all registers. Six consecutive 1-bit samples are loaded into the Q registers during the Update state. Based on the resulting pattern, the controller enters one of the three operational branches:
  • 1st Case—Phase Decreasing (“late”):
If the pattern Q5–Q0 = “101010”, the new clock is slower than the original (its phase is delayed), as shown in Figure 11. The controller asserts phase-shift-enable = 1 and phase-shift-increase/decrease = 0 for one frame cycle, causing the MMCM to decrement the phase. Once phase-shift-done is set, the FSM returns to update for verification (Figure 12).
  • 2nd Case—Phase Increasing (“soon”):
If Q5–Q0 = “010101”, the new clock leads the reference, as illustrated in Figure 13. The controller asserts phase-shift-enable = 1 and phase-shift-increase/decrease = 1 for one frame cycle, incrementing the MMCM phase. After the phase-shift-done is received, control loops return to Update (Figure 14).
  • 3rd Case—Case–Phase Lock (“same”):
When the sampled Q pattern alternates as “0x0x0x” or “1x1x1x”, the phase detector indicates an edge-coincidence condition between the regenerated and original clocks. In this case, the system may lock to either a 0° alignment (rising–rising edge coincidence) or a 180° alignment (rising–falling edge coincidence). These represent two alternative but equally valid lock states of the synchronization controller, as illustrated in Figure 15. Under this condition, the FSM transitions into the Lock state, indicating that the phase-alignment criterion has been satisfied.
In this state, the clock copied signal is asserted, enabling synchronized data acquisition, while the MMCM maintains the aligned phase through its internal feedback mechanism (Figure 16). Importantly, the Lock state does not represent a fixed or static phase condition. After phase confirmation, the controller deliberately returns to the Update state, where the FSM resumes its regular Update–Detect cycle. During this cycle, the ISERDES continuously samples the reference clock pattern (Q5–Q0), and the controller periodically evaluates potential phase deviations.

3.3.2. Sensitivity to Frequency Offsets and Phase-Tracking Mechanism

In the Lock state, the residual frequency mismatch between the ADC reference clock and the regenerated clock inside the FPGA is defined as
f = | f o r i g i n a l   c l o c k f n e w   c l o c k | ,
Since these two clocks are generated from independent oscillators, a small but unavoidable frequency mismatch is inevitable. This mismatch leads to a gradual relative phase drifting between the two clock domains over time. Over a monitoring interval Tm, the accumulated phase difference can be expressed as [54]
ϕ ( T m ) = 2 π f T m ,
This phase drift can be equivalently represented as a time offset (i.e., the delay of the regenerated clock relative to the original ADC clock) given by
τ ( T m ) = Δ ϕ ( T m ) 2 π f o r i g i n a l   c l o c k = Δ f f o r i g i n a l   c l o c k × T m   ,
In the proposed system, the phase controller evaluates the lock condition periodically with a minimum monitoring interval of approximately Tm ≈ 120 ns (corresponding to 12 frame-clock cycles). Because Δf mainly originates from the ppm-level tolerance of independent crystal oscillators, the accumulated phase drift within each monitoring interval is small and varies slowly. By leveraging the MMCM dynamic phase-shift mechanism, the controller compensates for this drift through discrete phase adjustments with a minimum resolution of 14.88 ps, corresponding to approximately 3.214° at fnewclock = 600 MHz.
To maintain stable tracking, the drift per monitoring interval must remain within the compensation capability of the phase-shift mechanism. Denoting the effective allowable correction per monitoring interval by Δtallow, the tracking condition is:
τ ( T m )   Δ t a l l o w ,
where the relationship between the maximum frequency offset Δfmax and Δtallow is
Δ f m a x = Δ t a l l o w T m × f
In our implementation, with a MMCM dynamic phase-shift resolution Δtstep of ~14.88 ps, a minimum monitoring Tm of 120 ns, and f = fnewclock = 600 MHz, the maximum frequency offset is Δfmax = 74.4 kHz. This corresponds to 124 ppm relative to 600 MHz. If we use a stricter criterion (e.g., half-step margin, ∆tallow = ∆tstep/2), the bound becomes Δfmax = 37.2 kHz (≈62 ppm). These values are comfortably above typical crystal oscillator tolerances (tens of ppm), explaining why slow drift can be continuously tracked in our experiments.
Therefore, the Lock state should not be interpreted as fixing the sampling phase at a single value, but rather as maintaining the sampling phase within a bounded safe region. When slow phase drift causes the ISERDES-sampled pattern to temporarily correspond to characteristic sequences such as “010101” or “101010”, the controller detects this deviation in subsequent Detect states and automatically performs fine phase correction. This closed-loop Lock–Detect–Realign mechanism enables stable long-term tracking and compensation of phase drift without requiring hard frequency locking between the ADC and FPGA clocks.

3.4. New Frame Alignment

Once the newly generated clock is phase-aligned with the reference, the next step is to realign the frame signal so that data packets from the ADC are correctly delimited within each frame period. This phase adjustment could also be performed using another MMCM block controlled by the same phase-shift controller described previously. However, such an approach would considerably increase FPGA resource usage because the number of available MMCM blocks per I/O bank is limited [49]. Using an MMCM from a different I/O bank may be a workaround, but it introduces additional routing delays and signal-management complexity. Fortunately, modern FPGAs provide dedicated ISERDES primitives with an internal bitslip mechanism, allowing bit-level alignment without requiring an additional MMCM. This section introduces an alternative frame-alignment strategy that leverages the bitslip capability to efficiently re-synchronize incoming data packets.
Figure 17 shows the block schematic of the frame-alignment module, which operates on the rising edge of the newly generated frame signal. The frame-alignment process begins after the completion of the clock phase-shift alignment, ensuring that the received 6-bit data packets are correctly synchronized so that all bits within one frame cycle belong to the same ADC sample. This block includes six inputs (new clock, new frame, clock copied, reset, bitslip, and original frame) and two outputs (data ready and bitslip). The bitslip signal sequentially shifts bits within the deserialized stream to achieve timing alignment. At this stage, the block coordinates two submodules: the ISERDES, which deserializes the original frame signal, and the frame-arrangement unit, which performs pattern detection and alignment control.
Similar to the clock phase-shift alignment, the ISERDES in this stage uses the new clock to sample the original frame before passing the deserialized bits to the Frame-arrangement unit. The latter dynamically adjusts the bitslip signal according to the captured bit sequence. The bitslip signal propagates through two paths: one loops back to the input ISERDES to refine packet alignment. At the same time, the other connects to the ISERDES modules in the data-receive block, which process the A- and B-channel data streams. The data-ready signal is asserted only when the system verifies that all bits received within one new-frame period correspond to the same ADC sample, thereby ensuring accurate data reconstruction. Finally, the reset signal restores the block to its initial state.

3.4.1. Frame-Arrange Operator

Figure 18 illustrates the difference between the packets captured by the new frame signal before and after the alignment process using the new frame alignment function. Initially, the exact bit position that marks the start of each captured packet is unknown, making it impossible to determine the sample boundaries. To align each received packet into a complete ADC sample, the frame clock is treated as a regular data signal and processed with the other data paths (DA_in1, DA_in0, DB_in1, DB_in0). As shown in Figure 18, a complete sample is successfully captured only when the system detects the unique bit sequence “000111” corresponding to the frame clock pattern. This detection condition causes the bitslip signal to remain active until the correct sequence is received. At this point, the system locks, and alignment is finalized.

3.4.2. Bitslip Submodule of ISERDES

Figure 19a illustrates the data-reception process without the bitslip operation, where the ISERDES functions as a 6-bit serial-to-parallel shift register. In this configuration, each 6-bit word is deserialized sequentially on the rising edge of the new clock signal, and the last bit of one packet immediately becomes the first bit of the next. For instance, sample N–1 spans bits’ a’ through ‘f’, while sample N begins at ‘g’ and ends at ‘l’. On the other hand, Figure 19b demonstrates the reception process when bitslip is activated. Upon detecting a frame or word-boundary mismatch, the bitslip control triggers a one-bit shift within the ISERDES chain during the next clock cycle. As a result, the current packet temporarily contains an additional deserialized bit ‘m’, which is discarded, while the subsequent packet realigns to start at the correct boundary ‘n’.
This time-domain adjustment enables the ISERDES to maintain proper word alignment despite initial or accumulated bit-offset errors. The bitslip submodule ensures that every 6-bit segment remains synchronized with the new clock and frame signals by monitoring the frame pattern on each clock cycle. Through this mechanism, the frame alignment ensures that all deserialized bits are correctly grouped into complete samples, providing consistent and reliable data reconstruction before the data-reception stage.

3.5. Data Reception

Figure 20 shows the Data reception block, which reconstructs complete 12-bit digital samples for both Input A and Input B channels after frame alignment. This block becomes active once the Data is ready and clock-copied signals are asserted, indicating that the clock and frame have been fully synchronized. It receives ten inputs (data ready, clock copied, new frame, new clock, reset, and bitslip) together with four LVDS data lines corresponding to the upper and lower six-bit segments of each channel (6-high-bits-input-A, 6-low-bits-input-A, 6-high-bits-input-B, 6-low-bits-input-B). Each data line is connected to an ISERDES module that deserializes the incoming six-bit word on the rising edge of the new clock signal. When the data ready signal is asserted, the data capture block concatenates the high- and low-bit segments to form a complete 12-bit sample for each channel. The resulting data words are then forwarded to the phase-measurement module for subsequent digital processing and display.
The reception process starts on the rising edge of the new frame and proceeds synchronously within the adjusted clock domain. The bitslip, provided by the frame-alignment stage, maintains correct word boundaries in case of residual bit offsets. The reset signal, shared across all synchronization modules, also reinitializes the data reception logic to ensure proper synchronization at startup. Through this coordinated operation between the ISERDES, bitslip, and data capture modules, the FPGA continuously receives and reconstructs two coherent 12-bit data streams from the ADC, achieving fully synchronized data acquisition across both channels.

3.6. Timing Uncertainty and Jitter Estimation

Maintaining timing integrity is crucial in high-speed data acquisition systems, as timing fluctuations can impact both the precision of phase-based measurements and the robustness of digital data acquisition. In the proposed FPGA–ADC synchronization architecture, timing uncertainty is therefore analyzed, clearly separating two distinct domains with different roles:
  • ADC sampling-domain jitter, which determines the temporal uncertainty of ADC conversion instants and limits the achievable SNR of phase- or time-based measurements;
  • FPGA-side synchronization and retiming uncertainty, which affects acquisition amplitude, data alignment, and the correctness of digital data acquisition at the ADC–FPGA interface.
Although both effects may influence the quality of the digitally processed signal, they serve different purposes in evaluation. ADC sampling-domain jitter is used to characterize the phase-noise-limited performance of measurements. In contrast, FPGA-side synchronization uncertainty determines whether the digital interface operates correctly and is therefore evaluated using digital integrity metrics, such as bit error rate (BER).

3.6.1. ADC Sampling-Domain Jitter and Phase-Noise-Limited SNR

In the present setup, ADC conversion is controlled exclusively by an external reference clock. The ADC clock routed into the FPGA (the original clock) is treated as a regular input signal (not as a synchronous capture clock for the receive logic). It is used only for internal reconstruction and alignment. Consequently, internal FPGA clocking does not influence the ADC conversion instants or the intrinsic analog performance of the converter [55]. The ADC sampling-domain jitter (σsamp) can be expressed as [54]
σ s a m p 2 = σ A D C   c l o c k   i n p u t 2 + σ A D C ,   A p t e r t u r e 2 ,
where σADC clock input is the jitter of the external sampling clock source, and σaperture is the intrinsic sampling aperture uncertainty of the ADC. For the AFE7225, σaperture = 250 fs RMS [28], while modern MHz-range clock sources typically exhibit sub-picosecond jitter [56,57,58]. Applying Equation (17) yields σsamp = ~1.0 ps RMS.
For phase- or time-based measurement applications, this sampling-domain jitter contributes directly to phase noise and limits the achievable SNR according to [54]:
S N R s a m p = 20 l o g ( 2 π f i n σ s a m p ) ,
where fin is the signal-carrying frequency. With fin = 20 MHz, the SNR is SNRsamp = ~77 dB. This value represents the intrinsic phase-noise floor of the sampling process and is independent of the FPGA–ADC synchronization mechanism.

3.6.2. FPGA-Side Synchronization Correctness

After conversion, the ADC outputs digital data and frame signals to the FPGA. In the proposed architecture, these signals are not routed to clock-capable inputs, necessitating internal clock reconstruction and alignment. As a result, FPGA-side synchronization/retiming uncertainty, denoted as σsync, becomes relevant at the digital interface level and can be expressed as [54]
σ s y n c 2 = σ M M C M   o u t p u t   c l k 2 + σ P S C 2 ,
where σMMCM output clk and σPSC are the residual jitter of the MMCM/VCO and the quantization uncertainty introduced by the discrete phase-shift controller (PSC), respectively. When the MMCM operates in internal feedback mode at a 1.2 GHz VCO frequency, σMMCM is conservatively estimated to be within 5–8 ps RMS. The PSC resolution of 14.88 ps corresponds to σPSC ≈ 4.3 ps RMS [59]. Applying Equation (19) yields σsync ≈ 9.1 ps RMS.
This uncertainty reduces the available setup/hold margin for digital data capture and alignment at the ADC–FPGA boundary. However, it is much smaller than the nanosecond-scale timing window and the ADC’s specified interface timing requirements [31], and is therefore not expected to limit the correct reception of data.

3.6.3. Phase-Noise Contribution Versus Synchronization Correctness

From a phase-noise perspective, both σsamp and σsync may contribute to the total phase uncertainty of the digitally processed signal. Accordingly, a combined timing uncertainty
σ t o t a l 2 = σ s a m p 2 + σ s y n c 2 ,
may be used to provide a conservative upper bound on the phase-noise floor in FPGA-domain phase or displacement measurements. However, it is essential to note that this combined metric is not used to evaluate the correctness of synchronization. While σsamp and σsync may both affect the quality of the recovered phase (e.g., phase-noise floor), only σsync governs reliable data capture and alignment at the digital interface. Table 1 summarizes the estimated timing-uncertainty components in the proposed acquisition chain, separating sampling-domain jitter and interface-domain synchronization/retiming uncertainty.

3.6.4. Interface Integrity Validation Using BER Measurements

The functional correctness of the proposed clock synchronization scheme is evaluated exclusively in the digital domain, where synchronization errors manifest as bit-level capture faults rather than as analog noise. While sampling-domain jitter limits the intrinsic phase-noise performance of the ADC, the correctness of clock and frame alignment at the ADC–FPGA boundary is determined solely by the integrity of the received digital data.
The BER is defined as
B E R = N e r r N b i t   ,
where Nerr is the number of detected bit errors over Nbit evaluated bits. In the absence of observed errors, an upper bound on BER is reported. Assuming Poisson statistics for rare error events, a 95% confidence upper bound is given by
B E R 95 % = 3 N b i t   ,
Section 4.2.3 applies these metrics to the ADC test-pattern captures to quantify interface integrity under the proposed synchronization scheme.
Beyond timing-related effects, the performance of high-speed ADCs is commonly characterized by intrinsic parameters, including differential nonlinearity, integral nonlinearity, total harmonic distortion, and offset. These parameters describe the static linearity and analog distortion behavior of the converter and are primarily determined by the ADC architecture and silicon implementation. In the proposed system, the synchronization of the architecture operates independently of these intrinsic ADC characteristics. Standard evaluation procedures for the aforementioned parameters, such as code-density testing and single-tone spectral analysis, therefore, remain directly applicable and are not affected by the clock reconstruction or alignment strategy. Consequently, the present analysis focuses on timing integrity and synchronization-induced effects, while assuming that intrinsic ADC performance follows the manufacturer’s specifications.

4. Simulation and Experimental Results

The performance of the FPGA-based signal acquisition system is assessed based on four primary criteria: the resource efficiency in signal synchronization, the preservation of signal integrity, the influence of SNR on the quality of the acquired signals, and the consistency and coherence of multi-channel signals within the acquired dataset.

4.1. Resource Efficiency in Signal Synchronization: Low Resource Consumption and Flexibility

One of the critical factors in FPGA-based design is accurately estimating resource utilization. A well-optimized design efficiently utilizes resources while fully meeting the requirements set forth by the designer. This directly impacts the maximum workload that the processing core can handle. The more streamlined the design, the greater the number of distinct tasks an FPGA can accommodate.
Table 2 presents a quantitative comparison between the proposed hardware synchronization architecture (Method 1) and the standard vendor reference design (Method 2, based on Xilinx XAPP524 [32]). Reference [32] describes a vendor-specific implementation under ideal clock-routing assumptions, relying on dedicated IDELAY and IDELAYCTRL primitives, which consume significant routing resources.
In contrast, the proposed architecture addresses the challenge of constrained I/O routing, where clock-capable inputs are unavailable. By leveraging the MMCM block for phase alignment instead of rigid delay lines, the system achieves substantial efficiency gains. Quantitatively, as shown in Table 2, the proposed method requires only 43 Look-Up Tables (LUTs), representing a 78% reduction compared to the 195 LUTs used in the vendor reference design. Furthermore, it eliminates the need for LUTRAMs (0 vs. 32) and reduces Flip-Flop usage by approximately 77% (59 vs. 258). These results confirm that the proposed strategy delivers comparable functionality with significantly lower logic overhead, validating its suitability for resource-constrained custom FPGA designs.

4.2. The Signals Collected by the FPGA-Based Signal-Processing System After Synchronization

4.2.1. Record Clean Signals at Different Amplitudes and Carrier Frequencies

Figure 21 presents the experimental setup used to evaluate the signals collected by the synchronized signal system implemented in this study. After the ADC–FPGA acquisition stage, a dedicated Butterworth band-pass filter is applied to suppress out-of-band noise in the preprocessed carrier signals over the frequency range from 100 kHz to 20 MHz. For each carrier frequency, different filter bandwidths are selected, resulting in different processing gains (Gp), as illustrated in Table 3. After acquisition and filtering, the signals are transmitted to the integrated logic analyzer (ILA) for visualization and subsequently stored as CSV files for offline analysis.
In the experiment, the FPGA-based data acquisition system recorded a pure 100-MHz original clock signal and an A-channel sine-waveform signal with its carrier frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz and amplitudes of 1 mV, 2 mV, …, 10 mV, 20 mV, …, 90 mV, 0.1 V, 0.2 V, …, 0.9 V, and 1 V, respectively, which are generated by a function generator (Moku: lab, a multifunction instrument by Liquid Instruments, in function generator mode, 16 bits, full sampling rate 500 MS/s). The carrier frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz were selected to validate the synchronization performance across a wide dynamic range representative of typical analog front-end and FPGA operating limits. These values span the low-frequency region (100 kHz), where timing skew effects are negligible, to the high-frequency boundary (20 MHz), where phase alignment and sampling jitter become dominant. The intermediate frequencies (1–10 MHz) correspond to the working range of many dual-channel ADCs and heterodyne interferometric systems used in precision metrology. This selection therefore provides a comprehensive validation of the proposed synchronization method under both low- and high-frequency conditions.
The capture results of the FPGA system within a 10 ns time range, along with the corresponding frequency domain analysis using fast Fourier transform (FFT), are shown in Figure 22, Figure 23, Figure 24 and Figure 25 and the Supplementary Material. Here, the A-channel signals were recorded with a sample number of 40,960 data points at a sampling rate of 100 MS/s. Figure 22, Figure 23, Figure 24 and Figure 25 present the measurement results of the 100 kHz-, 1 MHz-, 5 MHz-, 10 MHz-, and 20 MHz-sine-waveform signals, with amplitudes of 1 mV and 1 V, respectively, at a sampling rate of 100 MS/s. In Figure 22, the results for 100 kHz signals with 1 mV and 1 V are presented, achieving an SNR of greater than 85 dB. The subsequent results of the 1 MHz, 5 MHz, 10 MHz, and 20 MHz signals with amplitudes of 1 mV and 1 V, respectively, that are shown in Figure 22, Figure 23, Figure 24 and Figure 25 can also be obtained with an SNR of ~80 dB and up to 90 dB. This indicates that the FPGA-based data acquisition system can effectively capture and preserve signals within the carrier frequency range of 100 kHz to 20 MHz, maintaining a high SNR above 80 dB.
The experimentally measured high SNR values, reaching up to 91 dB, align well with the refined jitter-based estimation in Section 3.6. Based on a total effective jitter of approximately 1.03 ps at 20 MHz, the theoretical jitter-limited SNR is about 77 dB. After applying a digital Butterworth band-pass filter with a process gain (Gp) of 20 dB, the total theoretical SNR rises to approximately 97 dB [3]. The observed 6 dB discrepancy is expected, as it represents typical hardware implementation losses and residual noise components that are not accounted for in the idealized jitter-limited model. However, the signals acquired by the FPGA-based system still exhibit slight distortion or amplitude modulation, which may result from (i) the carrier frequency or primary signal falling outside the filter’s passband due to an excessively narrow bandwidth, or (ii) phase distortion and uneven amplitude attenuation caused by the filter’s steep roll-off when the carrier frequency fluctuates slightly during acquisition.
Figure 26 illustrates the linear relationship between the analog input and the digitized output of Channel A. It demonstrates that the FPGA-based system accurately preserves signal amplitude across carrier frequencies of 100 kHz and 20 MHz, and input levels ranging from 1 mV to 1 V, at a sampling rate of 100 MS/s. To quantitatively evaluate the agreement between the acquired digital result and the corresponding analog input reference, the relative error is defined as
r e l a t i v e   e r r o r = | a c q u i r e d   r e s u l t i n p u t   s i g n a l | i n p u t   s i g n a l × 100 % ,
is also represented in the same graphs for each case. For low input amplitudes (below 0.05 V), the relative error lies within 10–31%. As the signal amplitude increases beyond 0.1 V, the error falls below 5%, indicating improved signal-to-noise performance of the acquisition system. The fitting functions in each case follow the linear form y = ax, where a ≈ 1, with an R-squared value close to 1. Accordingly, the FPGA-based system successfully recovers carrier signals with amplitudes from 1 mV to 1 V across the 100 kHz–20 MHz band. It exhibits a highly linear response with negligible distortion during the analog-to-digital conversion process. This crucial first step enables the FPGA-based system to retain carrier or interferometric signals with high fidelity, thereby providing a reliable foundation for subsequent precise computations. For completeness, results obtained at intermediate frequencies of 1 MHz, 5 MHz, and 10 MHz are reported in Appendix A (Figure A1).

4.2.2. Record Clean Signals of the Two A and B Synchronized Channels

In this experiment, the FPGA-based system received a pure 100 MHz original clock signal and two sine-wave A- and B-channel signals with carrier frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz and amplitudes varying from 1 mV to 1 V at a sampling rate of 100 MS/s, similar to case (Section 4.2.1). Representative measurement results for the two channels are presented in Figure 27 and Figure 28, corresponding to the lowest (100 kHz) and highest (20 MHz) carrier frequencies. Additional results obtained at intermediate frequencies of 1 MHz, 5 MHz, and 10 MHz are provided in Appendix A (Figure A2 and Figure A3) for completeness.
In Figure 27, the two acquired signals exhibit nearly identical amplitudes and phases, demonstrating precise synchronization between the ADC channels. Minor amplitude or phase deviations (5–30%) can be attributed to analog-path losses and unequal BNC cable lengths between the function generator and the FPGA system. Because these discrepancies remain constant over time, they can be compensated through phase-deviation and amplitude-correction algorithms implemented in the subsequent FPGA processing stage.
Figure 28 compares the amplitude response of both channels for input voltages from 1 mV to 1 V. Each channel follows a linear relationship (y = ax, a ≈ 1) with R2 values close to 1, confirming high linearity and consistent gain across the full input range. The relative error is 10–31% for low amplitudes (below 0.05 V) and decreases to below 5% once the amplitude exceeds 0.1 V. The consistency of this behavior between channels A and B demonstrates uniform analog-to-digital conversion and reliable two-channel synchronization at high sampling rates.
The detailed amplitude-fitting results for all tested frequencies are summarized in Table 4. The fitting coefficients verify that the linearity of the two-channel acquisition remains excellent across the entire 100 kHz–20 MHz range, with R2 ≈ 1 in every case. The relative error is below 1% for input amplitudes above 0.1 V, below 10% for amplitudes between 0.01 V and 0.1 V, and below 30% for the lowest range of 0.001 V to 0.01 V. These results indicate that the FPGA-based acquisition system achieves high reconstruction accuracy for input signal amplitudes greater than 0.1 V. In addition, the error decreases as the sampling-to-carrier ratio increases. This occurs because a higher ratio provides more sampling points per signal period, allowing more accurate waveform reconstruction and reducing the influence of jitter and phase misalignment. These quantitative results are consistent with the graphical responses in Figure 27 and Figure 28, confirming that the proposed synchronization method maintains stable, uniform performance for both ADC channels. Consequently, the FPGA-based acquisition platform can simultaneously and accurately recover paired carrier signals from 1 mV to 1 V across the 100 kHz–20 MHz band, ensuring a robust foundation for precise phase computation in subsequent processing stages and providing a reliable synchronized two-channel dataset that can serve as a foundation for downstream phase measurement in interferometric applications (demonstrated in prior works [23,60]).

4.2.3. Bit-Error Verification

To verify digital interface integrity, two specialized ADC test patterns (CONFIG128, address 0x337 [31]) were utilized at a 100 MHz clock frequency, as shown in Figure 29. The data was captured directly via the ILA, enabling real-time inspection of 65,536 consecutive samples for each pattern at the hardware level. The alternate pattern (alternating between 0101010101012 (1365) and 1010101010102 (2730)) was used to stress the interface under a high toggle rate, while the data ramp pattern (incrementing by one every four cycles) was used to verify sample-to-sample continuity. Following Section 3.6.4, with Nsamples = 65,536 samples per pattern and Nbits/sample = 12 evaluated bits per sample, the total number of inspected bits is Nbit = Nsamples × Nbits/sample = 786,432. As observed in Figure 29a, the clean transitions between the two logic states confirm stable data latching, while Figure 29b shows a continuous linear ramp without apparent disruptions. No bit errors or sequence disruptions were observed over the inspected window (zero-error observation). Therefore, the 95% confidence upper bound on BER defined in Equation (22) is reported as BER95% < 3.82 × 10−6. Crucially, this value reflects the statistical limit imposed by the FPGA’s ILA memory depth rather than the intrinsic error rate of the interface. Considering the zero-error observation, consistently high SNR, and long-term stable operation (Section 4.3), the effective BER is expected to be orders of magnitude lower than the reported upper bound and may approach the 10−10 level typically expected for properly operating high-speed digital interfaces. The results indicate that the proposed reconstruction and synchronization scheme maintains reliable digital interface operation and that the synchronization and retiming uncertainty does not introduce observable bit-level degradation under the tested conditions.

4.3. Long-Term Stability Evaluation

To evaluate the long-term stability of the proposed synchronization and acquisition workflow, we operated the system continuously for 12 h while applying a 1 MHz single-tone input at Input A. A short acquisition snapshot was recorded every 30 min, and the SNR was computed using a standard single-tone FFT-based method (excluding DC and harmonic bins consistently across all snapshots). As shown in Figure 30, the measured SNR remains nearly constant over the 12 h run, staying within a narrow band of approximately 88–91 dB (≈3 dB peak-to-peak difference). The average SNR is 89 dB with a standard deviation of ~1 dB. No loss of lock was observed during the run, indicating that the closed-loop Lock-detect behavior successfully tracks slow drift between the independent ADC reference clock and FPGA oscillator, while ensuring timing integrity at the ADC–FPGA boundary.
The demonstrated stable synchronization at sampling rates up to 125 MS/s and accurate signal reception over the 100 kHz–20 MHz range correspond to the operating point of the current experimental platform. Under this configuration, the achievable sampling rate and signal bandwidth are governed by the selected ADC devices, the timing margins of the LVDS interface, and the phase-shift resolution of the MMCM-based alignment mechanism. From an architectural standpoint, the proposed synchronization framework is defined at the level of clock reconstruction, alignment, and data capture, and is therefore applicable to FPGA–ADC platforms operating under comparable routing and interface constraints. Accordingly, the proposed synchronization framework is not inherently tied to the current sampling rate and can be extended to ADC devices operating at higher sampling rates.

5. Cost Efficiency of the Phase Measurement System Implemented with the Proposed Method

Table 5 summarizes representative signal acquisition platforms used for phase measurement in heterodyne interferometry, along with indicative hardware cost ranges. The listed commercial systems, including PXIe-based solutions, standalone interferometric instruments (e.g., from NI or Polytec), and integrated data acquisition platforms, are typically designed as turnkey instruments for industrial or metrology-grade applications and therefore feature a high level of system integration. While they offer high performance, they effectively act as proprietary “black boxes”, where internal processing logic is inaccessible to researchers. In contrast, the proposed system adopts a fully reproducible “white box” architecture. This design emphasizes flexibility at the component level, allowing different ADC devices and FPGA platforms to be substituted with minimal modification to the synchronization scheme. Such flexibility reduces dependency on proprietary hardware and facilitates cost-effective implementation.
Within this framework, Table 5 illustrates that the proposed FPGA–ADC architecture enables high-speed data acquisition with moderate hardware complexity. For example, a configuration based on the ADS42LB49, combined with a Kintex-7 FPGA, supports sampling rates of up to 250 MS/s with an SNR of approximately 73.2 dB. In contrast, an AFE7225-based configuration achieves sampling rates of up to 125 MS/s with comparable signal quality. Crucially, it achieves this comparable signal quality at approximately 4–5% of the cost of high-end alternatives (e.g., <$800 versus >$20,000). These results highlight the feasibility of implementing high-speed phase measurement architectures using flexible and accessible hardware platforms, which can significantly reduce implementation costs in custom and research-oriented designs without relying on highly integrated commercial instruments.

6. Conclusions

This paper has presented a reproducible, vendor-independent synchronization architecture for high-speed FPGA-based data acquisition systems. By shifting the focus from proprietary, application-specific designs to a generalized “white box” framework, we successfully addressed the challenge of interfacing high-speed ADCs with FPGAs under constrained I/O routing conditions where dedicated clock resources are unavailable. The proposed method utilizes a closed-loop phase-shifting mechanism based on MMCM and ISERDES to reconstruct and align clock and frame signals internally, ensuring timing integrity and data reproducibility.
Experimental validation on a custom platform, comprising a Kintex-7 FPGA and an AFE7225 ADC, demonstrated robust synchronization at sampling rates of up to 125 MS/s. The system achieved consistent signal acquisition across a frequency range of 100 kHz to 20 MHz. Digital interface integrity was verified through bit-error-rate measurements, which confirms error-free data capture and correct clock/frame alignment under the proposed synchronization scheme. In addition, the measured interface-level timing uncertainty remains below 10 ps RMS, while the observed signal-to-noise ratio exceeding 80 dB reflects the phase-noise-limited measurement quality of the system rather than the correctness of synchronization. Furthermore, the resource utilization analysis confirmed that our architecture reduces logic overhead by approximately 78% compared to standard vendor-provided reference designs.
A key contribution of this work is the provision of a cost-effective and transparent alternative to commercial “black box” instruments. While high-end proprietary systems offer integrated performance, they often limit user accessibility and customization. In contrast, our proposed architecture delivers comparable signal quality and synchronization stability at a significantly lower implementation cost (under $800 versus over $20,000 for comparable commercial setups), as highlighted in the comparative analysis. This approach significantly lowers the entry barrier for advanced experimental research, enabling the community to implement, verify, and extend high-speed data acquisition workflows using accessible hardware components. Future work will focus on extending this synchronization framework to multi-channel, multi-board synchronized arrays, supporting large-scale distributed measurement applications.

Supplementary Materials

The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/data11010023/s1, Figures S1–S280: Experimental capturing results and FFT analysis from channels A and B for sine-waveform signals with carrier frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz, and amplitudes ranging from 1 mV to 1 V.

Author Contributions

Conceptualization, V.M.N. and T.D.N.; methodology, V.M.N.; software, V.M.N.; validation, V.M.N. and T.D.N.; formal analysis, V.M.N.; investigation, T.D.N.; resources, V.M.N.; data curation, V.M.N.; writing—original draft preparation, V.M.N.; writing—review and editing, T.D.N.; visualization, T.D.N. and V.M.N.; supervision, T.D.N.; project administration, T.D.N.; funding acquisition, T.D.N. All authors have read and agreed to the published version of the manuscript.

Funding

This work is funded by Hanoi University of Science and Technology (HUST) under project number T2024-PC-029.

Institutional Review Board Statement

This article does not contain any studies with human participants or animals performed by any of the authors.

Informed Consent Statement

There are no individual participants included in the study.

Data Availability Statement

The original contributions presented in the study are included in the article and Supplementary Material; further inquiries can be directed to the corresponding author.

Acknowledgments

We would like to express our sincere thanks to the Computer—Communication—Control 3C Incorporation, Vietnam, for the use of the equipment.

Conflicts of Interest

The authors declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

Abbreviations

The following abbreviations are used in this manuscript:
ADCAnalog-to-Digital Converter
ADS42LB49High-Speed ADC from Texas Instruments
AFE7225Analog Front-End 7225 (Texas Instruments high-speed ADC)
ALTCLKCTRLAltera Clock Control
BERBit error rate
CMOSComplementary Metal-Oxides Semiconductor
DDRDouble Data Rate
FFFlip-Flop
FMCFPGA Mezzanine Card
FMC-ADCFPGA Mezzanine Card—ADC Adapter
FMC-LPCFPGA Mezzanine Card—Low Pin Count
FPGAField-Programmable Gate Array
FSMFinite State Machine
FFTFast Fourier Transform
GPIOGeneral-purpose I/O
ILAIntegrated Logic Analyzer
ISERDESInput-Serial-to-Deserializer
JESD204xJEDEC High-Speed Serial Data Interface Standard for Data Converters
LVDSLow-Voltage Differential Signaling
PCIPeripheral Component Interconnect
PLLPhase-locked loop
PSCPhase shift controller
PSCLKPhase-Shifted Clock
PXIePCI Extensions for Instrumentation
SDRSingle Data Rate
SNRSignal-to-Noise Ratio
VCOVoltage-Controlled Oscillator
VDD-650Polytec Laser Vibrometer Model VDD-650

Appendix A

Figure A1 illustrates the amplitude relationship between the input A-channel signals generated by the function generator and the corresponding measurements obtained from the FPGA-based system. The results are shown for carrier frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz, with signal amplitudes ranging from 1 mV to 1 V at a sampling frequency of 100 MHz.
Figure A1. The amplitude relationship between the input A-channel signal applied by the function generator and the result measured by the FPGA-based data acquisition system. Their carrier frequencies of (a,b) 100 kHz, (c,d) 1 MHz, (e,f) 5 MHz, (g,h) 10 MHz, and (i,j) 20 MHz with linear and algorithmic axes, respectively.
Figure A1. The amplitude relationship between the input A-channel signal applied by the function generator and the result measured by the FPGA-based data acquisition system. Their carrier frequencies of (a,b) 100 kHz, (c,d) 1 MHz, (e,f) 5 MHz, (g,h) 10 MHz, and (i,j) 20 MHz with linear and algorithmic axes, respectively.
Data 11 00023 g0a1aData 11 00023 g0a1b
Figure A2 illustrates the acquisition results with all carrier frequency cases and an amplitude of 1 V from both channels of the FPGA-based system.
Figure A2. In-phase signals with identical frequency and amplitude acquired simultaneously from both ADC channels. (a) Two-channel 100 kHz, 1 V input signal; (b) two-channel 1 MHz, 1 V input signal; (c) two-channel 5 MHz, 1 V input signal; (d) two-channel 10 MHz, 1 V input signal; (e) two-channel 20 MHz, 1 V input signal.
Figure A2. In-phase signals with identical frequency and amplitude acquired simultaneously from both ADC channels. (a) Two-channel 100 kHz, 1 V input signal; (b) two-channel 1 MHz, 1 V input signal; (c) two-channel 5 MHz, 1 V input signal; (d) two-channel 10 MHz, 1 V input signal; (e) two-channel 20 MHz, 1 V input signal.
Data 11 00023 g0a2
Figure A3 shows the amplitude relationship between the input two-channel signals generated by the FG and the measured result of the FPGA-based system using carrier signal frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz with amplitudes ranging from 1 mV to 1 V over a sampling frequency of 100 MHz.
Figure A3. The amplitude relationship between the input two-channel signals generated by the FG and the measured result of the FPGA-based system. Their carrier frequencies of (a,b) 100 kHz, (c,d) 1 MHz, (e,f) 5 MHz, (g,h) 10 MHz, and (i,j) 20 MHz with linear and algorithmic axes, respectively.
Figure A3. The amplitude relationship between the input two-channel signals generated by the FG and the measured result of the FPGA-based system. Their carrier frequencies of (a,b) 100 kHz, (c,d) 1 MHz, (e,f) 5 MHz, (g,h) 10 MHz, and (i,j) 20 MHz with linear and algorithmic axes, respectively.
Data 11 00023 g0a3aData 11 00023 g0a3b

References

  1. Fraden, J. Handbook of Modern Sensors: Physics, Designs, and Applications, 3rd ed.; Springer: New York, NY, USA, 2004. [Google Scholar]
  2. Webster, J.G. The Measurement, Instrumentation, and Sensors Handbook; CRC Press: Boca Raton, FL, USA, 1999. [Google Scholar]
  3. Proakis, J.G.; Manolakis, D.G. Digital Signal Processing: Principles, Algorithms, and Applications, 3rd ed.; Prentice Hall: Upper Saddle River, NJ, USA, 1996. [Google Scholar]
  4. Oppenheim, A.V.; Schafer, R.W. Discrete-Time Signal Processing, 3rd ed.; Pearson: Upper Saddle River, NJ, USA, 2014. [Google Scholar]
  5. Haykin, S. Adaptive Filter Theory, 5th ed.; Pearson: Upper Saddle River, NJ, USA, 2014. [Google Scholar]
  6. Xu, G. Design of Data Acquisition System Based on FPGA. Adv. Mater. Res. 2012, 403–408, 1592–1595. [Google Scholar] [CrossRef]
  7. Kuon, I.; Tessier, R.; Rose, J. FPGA Architecture: Survey and Challenges. Found. Trends Electron. Des. Autom. 2007, 2, 135–253. [Google Scholar] [CrossRef]
  8. Meyer-Baese, U. Digital Signal Processing with Field Programmable Gate Arrays; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  9. Wojciechowski, A.A.; Tatara, T.; Kamiński, T.; Kulesza, Z. Synchronization of Data Acquisition Systems for the Purpose of Structural Health Monitoring. Sensors 2017, 17, 2630. [Google Scholar] [CrossRef]
  10. Huang, W.; Fang, Y.; Liu, H.; Zhang, X. Design of 16-Channel High-Speed Synchronous Data Acquisition System. In Proceedings of the 2023 IEEE AUTOTESTCON, National Harbor, MD, USA, 28–31 August 2023; pp. 1–6. [Google Scholar] [CrossRef]
  11. Tsoeunyane, L.; Winberg, S.; Inggs, M. Automatic Configurable Hardware Code Generation for Software-Defined Radios. Computers 2018, 7, 53. [Google Scholar] [CrossRef]
  12. Berrazueta-Mena, D.; Navas, B. AHA: Design and Evaluation of Compute-Intensive Hardware Accelerators for AMD-Xilinx Zynq SoCs Using HLS IP Flow. Computers 2025, 14, 189. [Google Scholar] [CrossRef]
  13. Li, C.; Tian, S.; Yang, K.; Ye, P.; Huang, W.; Ye, Z. FPGA-Based Design of Multipoint Parallel EMD for Anomaly Detection in Acquisition System. IEEE Trans. Ind. Electron. 2025, 72, 8481–8491. [Google Scholar] [CrossRef]
  14. Sarkar, A.; Chakrabarty, J.; Althaf, M.S. Implementation of Serial FPDP and 10G Ethernet in an FPGA-Based Real-Time Embedded Hardware. In Proceedings of the IEEE Wireless Antenna and Microwave Symposium (WAMS), Visakhapatnam, India, 29 February–3 March 2024; pp. 1–5. [Google Scholar] [CrossRef]
  15. Diouri, O.; Gaga, A.; Ouanan, H.; Senhaji, S.; Faquir, S.; Jamil, M.O. Comparison Study of Hardware Architectures Performance between FPGA and DSP Processors for Implementing Digital Signal Processing Algorithms: Application of FIR Digital Filter. Results Eng. 2022, 16, 100639. [Google Scholar] [CrossRef]
  16. Li, H.; Fan, C.; Shi, Z.; Yan, B.; Chen, J.; Yan, Z.; Liu, D.; Shum, P.; Sun, Q. Spatio-Temporal Joint Over-Sampling-Downsampling Technique for Ultra-High Resolution Fiber Optic Distributed Acoustic Sensing. Opt. Express 2022, 30, 29639. [Google Scholar] [CrossRef]
  17. Memon, T.; Beckett, P.; Sadik, A.Z. Sigma-Delta Modulation Based Digital Filter Design Techniques in FPGA. ISRN Electron. 2012, 2012, 538597. [Google Scholar] [CrossRef]
  18. Ortega, E.; Martínez, A.; Oliva, A.; Sanz, F.; Rodríguez, O.; Prieto, M.; Parra, P.; da Silva, A.; Sánchez, S. A Digital Beamforming Receiver Architecture Implemented on an FPGA for Space Applications. arXiv 2024, arXiv:2405.18992. [Google Scholar] [CrossRef]
  19. Motta, L.L.; Acuña Acurio, B.A.; Aniceto, N.F.T.; Meloni, L.G.P. Design and Implementation of a Digital Down/Up Conversion Directly from/to RF Channels in HDL. Integration 2019, 68, 30–37. [Google Scholar] [CrossRef]
  20. Meng, C.; Xu, C.; Liao, J. Research on Clock Synchronization of Data Acquisition Based on NoC. Appl. Sci. 2024, 14, 4838. [Google Scholar] [CrossRef]
  21. Teng, F.; Yang, W.; Yan, J.; Ma, H.; Jiao, Y.; Gao, Z. A Parallel Solution of Timing Synchronization in High-Speed Remote Sensing Data Transmission. Remote Sens. 2023, 15, 3347. [Google Scholar] [CrossRef]
  22. Nguyen, T.D.; Duong, Q.A.; Higuchi, M.; Vu, T.T.; Wei, D.; Aketagawa, M. 19-Picometer Mechanical Step Displacement Measurement Using Heterodyne Interferometer with Phase-Locked Loop and Piezoelectric Driving Flexure-Stage. Sens. Actuators A Phys. 2020, 304, 111880. [Google Scholar] [CrossRef]
  23. Nguyen, T.D.; Higuchi, M.; Vu, T.T.; Wei, D.; Aketagawa, M. 10-pm-Order Mechanical Displacement Measurements Using Heterodyne Interferometry. Appl. Opt. 2020, 59, 8478. [Google Scholar] [CrossRef]
  24. Tamiya, H.; Taniguchi, K.; Yamazaki, K.; Aoyama, H. Detection Principle and Verification of Non-Contact Displacement Meter with Picometer Resolution. J. Adv. Mech. Des. Syst. Manuf. 2018, 12, JAMDSM0107. [Google Scholar] [CrossRef]
  25. Sun, Y.; Li, W.; Xing, X.; Wang, J.; Hu, P.; Tan, J. A Picometre-Level Resolution Test Method without Nonlinearity for Heterodyne Interferometer Measurement Electronics. Photonics 2024, 11, 331. [Google Scholar] [CrossRef]
  26. Köchert, P.; Flügge, J.; Weichert, C.; Köning, R.; Manske, E. A Fast Phasemeter for Interferometric Applications with an Accuracy in the Picometer Regime. In Proceedings of the 10th IMEKO TC14 Symposium on Laser Metrology for Precision Measurement and Inspection in Industry, Braunschweig, Germany, 12–14 September 2011; Available online: https://imeko.net/publications/tc14-2011/IMEKO-TC14-2011-34.pdf (accessed on 6 March 2025).
  27. Nguyen, T.D.; Dinh, G.N. Stability and Resolution of a Conventional Displacement Measuring Heterodyne Interferometer Using a Single Phase-Locked Loop. Exp. Mech. 2023, 63, 1015–1032. [Google Scholar] [CrossRef]
  28. Dong, N.T.; Tai, N.T.; Hoang, D.V.; Mai, N.T.P.; Tung, V.T. Sub-Nanometer Displacement Measurement Using Heterodyne Interferometer and Down-Beat Frequency Technique. In The AUN/SEED-Net Joint Regional Conference in Transportation, Energy, and Mechanical Manufacturing Engineering, Proceedings of the International Conference on Emerging Applications in Engineering and Technology, Daman, India, 29–30 December 2022; Springer: Singapore, 2022; pp. 981–988. [Google Scholar] [CrossRef]
  29. Choi, S.; Yang, H.; Noh, Y.; Kim, G.; Kwon, E.; Yoo, H. FPGA-Based Multi-Channel Real-Time Data Acquisition System. Electronics 2024, 13, 2950. [Google Scholar] [CrossRef]
  30. Texas Instruments. ADS42LB49 Datasheet, SLLSBO4. Available online: https://www.ti.com/lit/ds/symlink/ads42lb49.pdf (accessed on 14 January 2025).
  31. Texas Instruments. AFE7225 Datasheet, SLWS233. Available online: https://www.ti.com/lit/ds/symlink/afe7225.pdf (accessed on 14 January 2025).
  32. Defossez, M. Serial LVDS High-Speed ADC Interface XAPP524 (v1.1). Xilinx Application Note. 2012. Available online: https://docs.amd.com/v/u/en-US/xapp524-serial-lvds-adc-interface (accessed on 6 March 2025).
  33. Texas Instruments. High-Speed Data Converter Pro User’s Guide, SLWU087E. Available online: https://www.ti.com/lit/ug/slwu087e/slwu087e.pdf (accessed on 14 January 2025).
  34. Texas Instruments. AFE7225 Evaluation Module User’s Guide, SLOU362. Available online: https://www.ti.com/lit/ug/slou362/slou362.pdf (accessed on 14 January 2025).
  35. Texas Instruments. ADS42LB49 Evaluation Module User’s Guide, SLAU465A. Available online: https://www.ti.com/lit/ug/slau465a/slau465a.pdf (accessed on 14 January 2025).
  36. Xilinx. KCU105 Evaluation Board. Available online: https://www.xilinx.com/products/boards-and-kits/kcu105.html#documentation (accessed on 6 March 2025).
  37. Octopart. TSW1400EVM by Texas Instruments. Available online: https://octopart.com/tsw1400evm-texas+instruments-22269695 (accessed on 6 March 2025).
  38. Sivanathan, S.; Roula, M.A.; Li, K.; Qiao, D.; Copner, N.J. Design of an FPGA-Based High-Speed Data Acquisition System for Frequency Scanning Interferometry Long-Range Measurement. IEEE Open J. Instrum. Meas. 2023, 3, 7000110. [Google Scholar] [CrossRef]
  39. Poshala, P.; Shetty, P. Synchronizing the Giga-Sample ADCs Interfaced with Multiple FPGAs. Application Report SLAA643; Texas Instruments: Dallas, TX, USA, 2014; Available online: https://www.ti.com/lit/pdf/slaa643 (accessed on 6 March 2025).
  40. Wojciechowski, A.A. A Proof-of-Concept FPGA-Based Clock Signal Phase Alignment System. Electronics 2024, 13, 3295. [Google Scholar] [CrossRef]
  41. Ngo, V.M.; Nguyen, H.P.; Vu, T.T.; Nguyen, M.P.M.; Le, T.M.; Nguyen, T.D. Hardware Synchronization of High-Speed ADC and Custom Low-Cost FPGA for Phase Meter of Small Displacement Heterodyne Interferometry. In Proceedings of the 4th Annual International Conference on Material, Machines, and Methods for Sustainable Development (MMMS 2024), Da Nang, Vietnam, 18–21 September 2024; Long, B.T., Ed.; Lecture Notes in Mechanical Engineering; Springer: Cham, Switzerland, 2025; pp. 1–10. [Google Scholar] [CrossRef]
  42. Melo, R.A.; Valinoti, B. Serial QDR LVDS High-Speed ADCs on Xilinx Series 7 FPGAs. In Proceedings of the 2019 X Southern Conference on Programmable Logic (SPL), Buenos Aires, Argentina, 10–12 April 2019; pp. 25–30. [Google Scholar] [CrossRef]
  43. Zhang, Q.; Chen, Y.; Su, Y.; Ye, F.; Ren, J. A Testing System for High-Speed Multi-Channel ADC with LVDS Data Output Based on FPGA. In Proceedings of the 12th IEEE International Conference on Solid-State and Integrated-Circuit Technology, Guilin, China, 28–31 October 2014; pp. 1–3. [Google Scholar] [CrossRef]
  44. Bloomingdale, C.; Hendrickson, G. LVDS Data Outputs for High-Speed Analog-to-Digital Converters. Analog Devices Application Note AN-586. 2011. Available online: https://www.analog.com/media/en/technical-documentation/application-notes/5957542118600205599850975382134073431740717454123180480718an586.pdf (accessed on 6 March 2025).
  45. Stackler, M.; Glascott-Jones, A.; Pilard, R.; Chantier, N. Interfacing FPGA with High-Speed Data Converter Using Parallel and Serial Interface. Signal Integrity Journal. 2018. Available online: https://www.signalintegrityjournal.com/articles/744-interfacing-fpga-with-high-speed-data-converter-using-parallel-and-serial-interface (accessed on 6 March 2025).
  46. Xilinx. Enhancing I/O Design Flexibility with the FPGA Mezzanine Card (FMC) Standard. White Paper WP315. 2009. Available online: https://docs.amd.com/v/u/en-US/wp315 (accessed on 6 March 2025).
  47. Alvarez, P.; Cattin, M.; Lewis, J.; Serrano, J.; Wlostowski, T. FPGA Mezzanine Cards for CERN’s Accelerator Control System—Plus Some Reflections on Open Hardware. CERN Technical Report. 2009. Available online: https://cds.cern.ch/record/1215572/files/CERN-ATS-2009-097.pdf (accessed on 6 March 2025).
  48. Iamelectronic. Breakout Board for Low-Pin Count FPGA Mezzanine Cards. Available online: https://fmchub.github.io/projects/FMC_LPC_BREAKOUT/Datasheet/FMC_LPC_BREAKOUT_datasheet.html (accessed on 6 March 2025).
  49. Intel Corporation. User Guide Clock Control Block (ALTCLKCTRL) IP Core. Available online: https://cdrdv2-public.intel.com/654442/ug_altclock.pdf (accessed on 6 March 2025).
  50. Xilinx. 7 Series FPGAs SelectIO Resources User Guide, UG471 (v1.10). Available online: https://docs.amd.com/v/u/en-US/ug471_7Series_SelectIO (accessed on 6 March 2025).
  51. Wu, K.; Zhang, H.; Chen, Y.; Luo, Q.; Xu, K. All-Silicon Microdisplay Using Efficient Hot-Carrier Electroluminescence in Standard 0.18 μm CMOS Technology. IEEE Electron Device Lett. 2021, 42, 541–544. [Google Scholar] [CrossRef]
  52. Xilinx. 7 Series FPGAs Clocking Resources User Guide, UG472 (v1.14). Available online: https://www.xilinx.com (accessed on 6 March 2025).
  53. AMD. Kintex-7 FPGAs Data Sheet: DC and AC Switching Characteristics (DS182); Advanced Micro Devices, Inc.: San Jose, CA, USA, 2018; Available online: https://docs.amd.com/v/u/en-US/ds182_Kintex_7_Data_Sheet (accessed on 16 October 2025).
  54. Shinagawa, M.; Akazawa, Y.; Wakimoto, T. Jitter Analysis of High-Speed Sampling Systems. IEEE J. Solid-State Circuits 1990, 25, 220–224. [Google Scholar] [CrossRef]
  55. Understanding the Effect of Clock Jitter on High Speed ADCs. Linear Technology Design Note 1013. Available online: https://www.analog.com/media/en/reference-design-documentation/design-notes/dn1013f.pdf (accessed on 26 October 2025).
  56. LMK03318 Ultra-Low-Noise Jitter Clock Generator Family with One PLL, Eight Outputs, Integrated EEPROM. Datasheet. Available online: https://www.ti.com/lit/ds/symlink/lmk03318.pdf (accessed on 26 October 2025).
  57. CDCM9102 Low-Noise Two-Channel 100 MHz Clock Generator. Datasheet. Available online: https://www.ti.com/lit/ds/symlink/cdcm9102.pdf (accessed on 26 October 2025).
  58. Moku:Lab, Time & Frequency AnalyzerDatasheets, Versions v24-1011 to v25-0822, 2024–2025. Available online: https://liquidinstruments.com/products/integrated-instruments/time-frequency-analyzer (accessed on 26 October 2025).
  59. Towfic, Z.J.; Sayed, A.H. Clock jitter estimation in noise. In Proceedings of the 2011 IEEE International Symposium of Circuits and Systems (ISCAS), Rio de Janeiro, Brazil, 15–18 May 2011. [Google Scholar] [CrossRef]
  60. Hu, P.; Wang, J.; Lin, X.; Xing, X.; Fu, H.; Tan, J. Phase Measurement Method Based on Digital Dual Frequency Comb for High-Precision High-Speed Heterodyne Interferometry. IEEE Sens. J. 2023, 23, 9707–9715. [Google Scholar] [CrossRef]
  61. Liquid Instruments. Moku:Lab Specifications. Available online: https://download.liquidinstruments.com/documentation/specs/hardware/mokulab/MokuLab-Specifications.pdf (accessed on 6 March 2025).
  62. National Instruments. PCI-5122 Specifications. Available online: https://www.ni.com/docs/en-US/bundle/pci-5122-specs/page/specs.html (accessed on 6 March 2025).
  63. Bauer, M.; Ritter, F.; Siegmund, G. High-Precision Laser Vibrometers Based on Digital Doppler-Signal Processing. In Proceedings of the SPIE 4827, Fifth International Conference on Vibration Measurements by Laser Techniques: Advances and Applications, Ancona, Italy, 18–21 June 2002; SPIE: Bellingham, WA, USA, 2002. [Google Scholar] [CrossRef]
  64. AliExpress. XC7K325T FPGA Board. Available online: https://vi.aliexpress.com/item/1005001275162791.html (accessed on 6 March 2025).
Figure 1. System overview. Arrows with the same color correspond to the same signal channel and represent its data flow throughout the system.
Figure 1. System overview. Arrows with the same color correspond to the same signal channel and represent its data flow throughout the system.
Data 11 00023 g001
Figure 3. Interface incompatibility between high-speed ADC and custom FPGA. (a) The block diagram of the FPGA signal-processing system, (b,c), the default reception of the original clock, frame clock, and input signals on the I/O banks of the FPGA.
Figure 3. Interface incompatibility between high-speed ADC and custom FPGA. (a) The block diagram of the FPGA signal-processing system, (b,c), the default reception of the original clock, frame clock, and input signals on the I/O banks of the FPGA.
Data 11 00023 g003
Figure 5. Schematic of the synchronous FPGA-based data acquisition system using a high-speed ADC and a custom FPGA module. The color-highlighted region on the right-hand side highlights the synchronization architecture with the data stream, similar to that shown in Figure 1.
Figure 5. Schematic of the synchronous FPGA-based data acquisition system using a high-speed ADC and a custom FPGA module. The color-highlighted region on the right-hand side highlights the synchronization architecture with the data stream, similar to that shown in Figure 1.
Data 11 00023 g005
Figure 6. Synchronization of data transmission from ADC to FPGA. Brown square markers indicate the input and output ports of each functional block.
Figure 6. Synchronization of data transmission from ADC to FPGA. Brown square markers indicate the input and output ports of each functional block.
Data 11 00023 g006
Figure 7. New clock and frame generator.
Figure 7. New clock and frame generator.
Data 11 00023 g007
Figure 8. Overview of the clock frequency synthesis function of the MMCM. MMCM, mixed-mode clock management.
Figure 8. Overview of the clock frequency synthesis function of the MMCM. MMCM, mixed-mode clock management.
Data 11 00023 g008
Figure 9. New clock phase-shift alignment. ISERDES, input-serial-to-deserializer.
Figure 9. New clock phase-shift alignment. ISERDES, input-serial-to-deserializer.
Data 11 00023 g009
Figure 11. Phase comparison between the input original and the new clock signals. The new clock phase is slower than the original clock phase. The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Figure 11. Phase comparison between the input original and the new clock signals. The new clock phase is slower than the original clock phase. The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Data 11 00023 g011
Figure 12. Flow chart of a decreased phase for the phase-shift controller.
Figure 12. Flow chart of a decreased phase for the phase-shift controller.
Data 11 00023 g012
Figure 13. Phase comparison between the input original and the new clock signals. The new clock phase is earlier than the original one. The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Figure 13. Phase comparison between the input original and the new clock signals. The new clock phase is earlier than the original one. The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Data 11 00023 g013
Figure 14. Flowchart of an increase phase for the phase-shift controller.
Figure 14. Flowchart of an increase phase for the phase-shift controller.
Data 11 00023 g014
Figure 15. Phase comparison between the original ADC clock and the regenerated FPGA clock, illustrating two alternative valid lock states: (a) rising-edge–to–rising-edge alignment (0°) and (b) rising-edge–to–falling-edge alignment (180°). The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Figure 15. Phase comparison between the original ADC clock and the regenerated FPGA clock, illustrating two alternative valid lock states: (a) rising-edge–to–rising-edge alignment (0°) and (b) rising-edge–to–falling-edge alignment (180°). The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Data 11 00023 g015
Figure 16. Flow chart of the lock state for the phase-shift controller.
Figure 16. Flow chart of the lock state for the phase-shift controller.
Data 11 00023 g016
Figure 17. Block schematic of frame alignment.
Figure 17. Block schematic of frame alignment.
Data 11 00023 g017
Figure 18. Acquire samples from the new frame before (a) and after (b) the alignment process is completed. The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Figure 18. Acquire samples from the new frame before (a) and after (b) the alignment process is completed. The dotted vertical lines mark the time instants corresponding to the rising edges of the new clock signal.
Data 11 00023 g018
Figure 19. Capturing bits without (a) and using (b) bitslip.
Figure 19. Capturing bits without (a) and using (b) bitslip.
Data 11 00023 g019
Figure 20. Data reception.
Figure 20. Data reception.
Data 11 00023 g020
Figure 21. Experiment setup. (a) Block diagram and (b) photograph of the FPGA-based data acquisition system.
Figure 21. Experiment setup. (a) Block diagram and (b) photograph of the FPGA-based data acquisition system.
Data 11 00023 g021
Figure 22. Capturing result of a 100 kHz sine-waveform signal with an amplitude of 1 mV. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Figure 22. Capturing result of a 100 kHz sine-waveform signal with an amplitude of 1 mV. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Data 11 00023 g022
Figure 23. Capturing the result of a 100 kHz sine-waveform signal with an amplitude of 1 V. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Figure 23. Capturing the result of a 100 kHz sine-waveform signal with an amplitude of 1 V. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Data 11 00023 g023
Figure 24. Capturing the result of a 20 MHz sine-waveform signal with an amplitude of 1 mV. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Figure 24. Capturing the result of a 20 MHz sine-waveform signal with an amplitude of 1 mV. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Data 11 00023 g024
Figure 25. Capturing the result of a 20 MHz sine-waveform signal with an amplitude of 1 V. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Figure 25. Capturing the result of a 20 MHz sine-waveform signal with an amplitude of 1 V. (a) Time-domain waveform (10 ns per point, corresponding to a 100 MS/s sampling rate). (b) FFT analysis of the signal shown in (a).
Data 11 00023 g025
Figure 26. The amplitude relationship between the input A-channel signal applied by the function generator and the result measured by the FPGA-based data acquisition system. Their carrier frequencies of (a) 100 kHz and (b) 20 MHz with algorithmic axes, respectively.
Figure 26. The amplitude relationship between the input A-channel signal applied by the function generator and the result measured by the FPGA-based data acquisition system. Their carrier frequencies of (a) 100 kHz and (b) 20 MHz with algorithmic axes, respectively.
Data 11 00023 g026
Figure 27. In-phase signals with identical frequency and amplitude acquired simultaneously from both ADC channels. The horizontal axis represents time progression (10 ns per point, corresponding to a 100 MS/s sampling rate). (a) Two-channel 100 kHz, 1 V input signal; (b) two-channel 20 MHz, 1 V input signal.
Figure 27. In-phase signals with identical frequency and amplitude acquired simultaneously from both ADC channels. The horizontal axis represents time progression (10 ns per point, corresponding to a 100 MS/s sampling rate). (a) Two-channel 100 kHz, 1 V input signal; (b) two-channel 20 MHz, 1 V input signal.
Data 11 00023 g027
Figure 28. The amplitude relationship between the input two-channel signals generated by the function generator and the measured result of the FPGA-based system. Their carrier frequencies are at (a) 100 kHz and (b) 20 MHz with algorithmic axes.
Figure 28. The amplitude relationship between the input two-channel signals generated by the function generator and the measured result of the FPGA-based system. Their carrier frequencies are at (a) 100 kHz and (b) 20 MHz with algorithmic axes.
Data 11 00023 g028
Figure 29. Data captures under various test scenarios: (a) Capture of the alternate pattern between 0 and 1; (b) Capture of the Data ramp pattern.
Figure 29. Data captures under various test scenarios: (a) Capture of the alternate pattern between 0 and 1; (b) Capture of the Data ramp pattern.
Data 11 00023 g029
Figure 30. Long-term SNR stability over 12 h for a 1 MHz input signal at Input A (30 min/sample).
Figure 30. Long-term SNR stability over 12 h for a 1 MHz input signal at Input A (30 min/sample).
Data 11 00023 g030
Table 1. Summary of timing-uncertainty components, including sampling-domain jitter (SNR limit) and interface-domain synchronization/retiming uncertainty.
Table 1. Summary of timing-uncertainty components, including sampling-domain jitter (SNR limit) and interface-domain synchronization/retiming uncertainty.
Uncertainty CategoryJitter/Timing UncertaintyRMS Estimation Value (ps)
Sampling-domain
(phase-noise-limited SNR)
ADC clock input<1
ADC aperture0.25
Total sampling jitter (σsamp)~1.0
Interface-domain
(synchronization correctness)
MMCM output clock≤8
Synchronization/retiming4.3
Total sync uncertainty (σsync)9.1
The sampling-domain jitter components define the phase-noise-limited SNR of the measurement. In contrast, the digital interface domain uncertainties are used exclusively to assess the correctness of synchronization and the integrity of data acquisition.
Table 2. Comparison of resource utilization between the new hardware synchronization method and the manufacturer-provided synchronization method [32].
Table 2. Comparison of resource utilization between the new hardware synchronization method and the manufacturer-provided synchronization method [32].
ResourceUtilizationReduction (%)
(This Work)[32]
MMCM10−100
Input-delay control01100
Input-delay01100
Look-up table4319578
Look-up table random-access memories032100
Flip flop5925877
Table 3. Filter bandwidth and process gain for each input signal.
Table 3. Filter bandwidth and process gain for each input signal.
Carrier Frequency at 100 MS/s (MHz)Bandwidth (MHz)Process Gain (Gp) (dB) [3]
0.1155
1155
5510
101.515
200.520
Table 4. The amplitude relationship between the input two-channel signals generated by the function generator and the measured result of the FPGA-based system. This two-channel system is investigated at carrier signal frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz, with amplitudes ranging from 1 mV to 1 V, over a sampling frequency of 100 MHz.
Table 4. The amplitude relationship between the input two-channel signals generated by the function generator and the measured result of the FPGA-based system. This two-channel system is investigated at carrier signal frequencies of 100 kHz, 1 MHz, 5 MHz, 10 MHz, and 20 MHz, with amplitudes ranging from 1 mV to 1 V, over a sampling frequency of 100 MHz.
Carrier Signal Frequencies (MHz)Channel AChannel BSampling-to-Carrier Ratio
FittingError (%)FittingError (%)
0.1y = 1.0307x, R2 ≈ 1<10y = 1.0201x, R2 ≈ 1<101000
1y = 1.0733x, R2 = 1<15y = 0.9961x, R2 = 1<20100
5y = 1.0139x, R2 = 1<12y = 0.9605x, R2 = 1<3120
10y = 1.0256x, R2 ≈ 1<20y = 0.899x, R2 ≈ 1<3210
20y = 0.9931x, R2 = 1<27y = 0.9922x, R2 = 1<315
Table 5. Representative signal acquisition platforms and indicative hardware cost ranges.
Table 5. Representative signal acquisition platforms and indicative hardware cost ranges.
Data Acquisition SystemADC
Resolution
Sample RateSNR (dB)Cost ($)
Moku: Lab [61]12-bit1.25 GS/s70 to 80 ~5000
NI PCI-5122 [62]14-bit100 MS/s75 to 85 >15,000
NI 5733 (ADC) + FPGA PXIe-7972R [25]16-bit120 MS/s85 to 95 ~24,000
VDD-650 (Polytec) [63]12-bitDown conversation and 5.12 MS/s65 to 75>10,000
AFE7225 [31] + TSW1400EVM [37]12-bitUp to 125 MS/sAround 70~20,000
AFE7225 [31] + custom Kintex7 FPGA [64] (this work)<800
ADS42LB49 [30] + TSW1400EVM [37]14-bitUp to 250 MS/sAround 73.2~20,000
ADS42LB49 [29] + custom Kintex7 FPGA [64]<800
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ngo, V.M.; Nguyen, T.D. A Reproducible FPGA–ADC Synchronization Architecture for High-Speed Data Acquisition. Data 2026, 11, 23. https://doi.org/10.3390/data11010023

AMA Style

Ngo VM, Nguyen TD. A Reproducible FPGA–ADC Synchronization Architecture for High-Speed Data Acquisition. Data. 2026; 11(1):23. https://doi.org/10.3390/data11010023

Chicago/Turabian Style

Ngo, Van Muoi, and Thanh Dong Nguyen. 2026. "A Reproducible FPGA–ADC Synchronization Architecture for High-Speed Data Acquisition" Data 11, no. 1: 23. https://doi.org/10.3390/data11010023

APA Style

Ngo, V. M., & Nguyen, T. D. (2026). A Reproducible FPGA–ADC Synchronization Architecture for High-Speed Data Acquisition. Data, 11(1), 23. https://doi.org/10.3390/data11010023

Article Metrics

Back to TopTop