FPGA (Field Programmable Gate Array), timing constraint optimization method thereof and high-speed signal processing system

By setting the output delay constraints and clock uncertainty constraints of FPGA, the metastable problem in the interface design of FPGA and high-speed chips is solved, and the timing stability of data during high-speed chip sampling is achieved and the system robustness is achieved.

CN119990018AActive Publication Date: 2025-05-13ZHEJIANG EASTONE WASHON TECHNOLOGY CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510474849.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-16
Publication Date
2025-05-13
Estimated Expiration
2045-04-16

AI Technical Summary

Technical Problem

There is a metastable problem in the design of FPGA and high-speed chip interfaces. The existing technology is difficult to effectively solve the timing matching problem in high-speed scenarios, resulting in system errors and functional failures.

Method used

By acquiring the timing parameters of the high-speed chip and measuring the data transmission delay, the output delay constraints and clock uncertainty constraints of the FPGA are set to ensure the timing stability of the data during sampling of the high-speed chip.

Benefits of technology

It effectively avoids uncertain states caused by data jumps, reduces metastable problems, and improves the timing robustness and reliability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119990018A_ABST
    Figure CN119990018A_ABST
Patent Text Reader

Abstract

The invention discloses an FPGA (Field Programmable Gate Array), a timing constraint optimization method thereof and a high-speed signal processing system. The optimization method comprises the following steps: acquiring timing parameters of a high-speed chip; wherein the time sequence parameters comprise establishment time and retention time; measuring or evaluating data transmission delay from the output end of the FPGA to the input end of the high-speed chip; setting an output delay constraint of the FPGA according to the time sequence parameter and the data transmission delay; and calculating the clock uncertainty, and setting the clock uncertainty constraint of the FPGA according to the clock uncertainty. According to the method, the output delay constraint and the clock uncertainty constraint of the FPGA are accurately set, so that the stability of data during high-speed chip sampling is ensured, the uncertain state caused by data hopping is avoided, and the metastable state problem is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of data processing, and in particular relates to an FPGA and a timing constraint optimization method thereof, and a high-speed signal processing system. Background Art

[0002] In modern digital circuit design, FPGA (field programmable gate array) is a flexible and powerful programmable logic device widely used in high-speed data processing, signal generation and interface control. At the same time, as the demand for bandwidth and speed in applications such as communications, radar, and data acquisition continues to increase, FPGAs often need to interact with high-speed chips (such as direct digital synthesizers DDS, analog-to-digital converters ADC, digital-to-analog converters DAC, etc.) for data. In these high-speed interfaces, a common challenge is the metastability problem. Metastability usually occurs when a signal is transmitted across clock domains or an external device samples the output signal of another device through its internal clock, especially when the setup time and hold time requirements of the signal are not met, which may cause the sampled data to be in an uncertain state, causing system errors or even functional failures.

[0003] The root cause of metastability lies in the timing mismatch of signals in digital circuits. For example, when the FPGA outputs data to a high-speed chip, and the high-speed chip uses its own clock to sample the data, if the data jumps near the edge of the sampling clock, the high-speed chip may capture an intermediate state, resulting in unpredictability of the logic output. This phenomenon is particularly significant in high-frequency applications, because when the clock cycle is shortened, the timing margin is greatly reduced, and the influence of factors such as signal propagation delay and clock jitter is amplified. In radar systems, metastability may cause unstable signal generation; in communication systems, it may cause an increase in bit error rate. Therefore, how to ensure the timing match between the FPGA and high-speed chip interfaces and eliminate or reduce metastability has become a key issue in the development of industry technology.

[0004] In FPGA design, timing constraints are usually set through synthesis tools (such as Xilinx's Vivado or Intel's Quartus) to optimize the reliability of signal transmission. These timing constraints are implemented through design constraint files (such as XDC files (Xilinx Design Constraints) or SDC (Synopsys Design Constraint) files), which guide the tool to meet the timing requirements of external devices during the synthesis and routing stages. However, in high-speed scenarios, traditional methods may not be sufficient to cope with complex timing challenges, which has prompted researchers and engineers to explore more accurate and robust solutions.

[0005] The existing methods for solving the metastable problem mainly include the following: (1) Synchronizer technology

[0006] Synchronizer is the traditional and most commonly used method to solve the problem of signal transmission across clock domains. Its basic principle is to extend the signal stabilization time by connecting multiple triggers in series in the target clock domain (usually two, called dual-trigger synchronizers), thereby reducing the probability of metastable state. Specifically, when the signal is transmitted from the source clock domain to the target clock domain, the first trigger may enter the metastable state due to timing conflicts, but the subsequent triggers will stabilize it to a certain logic level in the next clock cycle. In theory, as the number of triggers increases, the probability of metastable state decreases exponentially.

[0007] In FPGA design, synchronizer technology is widely used for signal transmission between different internal clock domains. For example, in Xilinx or Altera's FPGA design tools, engineers can implement a dual-flip-flop synchronizer through simple Verilog or VHDL code. However, when the output signal of the FPGA is directly sampled by a high-speed chip, the role of the synchronizer is limited. Because the synchronizer can only complete the stabilization of the signal inside the FPGA, it has limited effect in the interface between the FPGA and the external high-speed chip, and cannot control the sampling behavior of the high-speed chip. If the clock edge of the high-speed chip coincides with the jump time of the FPGA output signal, metastable states may still occur. In addition, the synchronizer will introduce additional clock cycle delays (usually 1-2 cycles, several nanoseconds), which may cause performance bottlenecks in systems with extremely high real-time requirements (such as high-speed data acquisition or real-time signal processing) and fail to meet performance indicators.

[0008] (2) Clock phase adjustment

[0009] Clock phase adjustment is a method of optimizing timing by hardware means. The core idea is to adjust the phase of the FPGA output clock or the high-speed chip sampling clock so that the stable window of the data signal is aligned with the sampling edge, thereby avoiding signal transitions falling into the clock's setup time and hold time window. This method usually relies on the phase-locked loop (PLL) or digital clock management module (DCM) inside the FPGA to set the phase offset of the output clock through programming. For example, in the Xilinx Vivado tool, engineers can use the phase adjustment parameters of the PLL to fine-tune the clock edge position.

[0010] In some designs, similar clock phase optimization can also be achieved through external delay lines or adjustable delay buffers. In theory, this method can completely eliminate metastability under ideal conditions. However, clock phase adjustment requires precise hardware debugging and simulation support, and its implementation process is extremely complex, especially in the scenario of multi-channel parallel data transmission, the cost of implementing phase consistency between channels is extremely high. For example, a 16-channel high-speed ADC interface with an FPGA needs to ensure that the clock phase of all channels is consistent, which places extremely high demands on hardware design and debugging. In addition, clock phase adjustment is highly sensitive to environmental factors (such as temperature and voltage fluctuations). Once the system operating environment changes (such as temperature increase causing changes in the internal delay of the chip), the phase drift of the PLL output clock may occur, resulting in timing failure, which in turn affects the long-term reliability of the system.

[0011] (3) Handshake Protocol

[0012] The handshake protocol is a solution based on control signals, which aims to ensure the stability of data transmission through communication negotiation. Its typical implementation includes the interaction of request and acknowledgement signals. The specific process is: the FPGA sends a request signal after preparing the data, and the high-speed chip returns a confirmation signal when it confirms that it is ready for sampling. Only after both parties have confirmed that the data is transmitted, the data begins to be transmitted. This method can effectively avoid metastable states because data is sampled only when the timing conditions of both parties are met.

[0013] The handshake protocol performs well in low-speed or control signal transmission, such as in I2C or SPI interfaces. However, in high-speed data transmission scenarios (such as continuous data flow between FPGA and high-speed DAC), the disadvantages of the handshake protocol are obvious. The handshake protocol sacrifices throughput for stability, and requires additional control signal interaction for each data transmission, which significantly reduces the throughput of the system and causes severe bandwidth shortages in high data rate applications (such as high-speed data converter interfaces). For example, if the data rate between the FPGA and the high-speed chip is required to reach 1Gbps, the overhead of the handshake protocol may reduce the actual bandwidth to 50% of the original, or even lower. In addition, the implementation of the handshake protocol requires additional logic design (such as state machine design) and pin resources, which increases the complexity and power consumption of the FPGA design and is not suitable for resource-constrained or highly integrated systems.

[0014] (4) Physical delay compensation

[0015] Physical delay compensation is a hardware layout-based solution that adjusts the propagation time of the signal to meet timing requirements. Specific methods include extending or shortening the trace length in PCB design, using delay line elements, or adding buffers after the FPGA output pins. For example, if the propagation delay of the FPGA output signal is too short to meet the hold time requirements of the high-speed chip, engineers may introduce additional delays by increasing the trace length (for example, changing a straight line to a serpentine trace).

[0016] This method is more common in early small-scale or low-speed designs because it is simple to implement and low-cost. However, in modern high-speed, high-density designs, the limitations of physical delay compensation are becoming increasingly prominent. First, physical delay compensation relies on precise control of hardware layout, and the accuracy is difficult to control. In high-frequency signal transmission, slight deviations in trace length (such as PCB trace length caused by PCB manufacturing tolerance, dielectric loss, etc.) may cause timing to deviate from design expectations and timing failure; second, this method lacks flexibility. Once the hardware design is completed, the delay parameters are fixed and cannot be adjusted through software to adapt to changes in different batches of chips or operating conditions. It is also difficult to promote to modular designs that require rapid iterations. In addition, in multi-channel systems, manually adjusting the trace length of each channel is a tedious and error-prone task, which is difficult to meet the needs of modern modular and reconfigurable designs.

[0017] In summary, the existing technologies for solving the metastable problem of FPGA and high-speed chip interfaces are either inefficient, complex to implement, or lack robustness. These limitations make the existing solutions unable to fully meet the needs of modern high-performance digital systems, and a more efficient, direct, and universal solution is urgently needed. Summary of the invention

[0018] The purpose of the present invention is to provide an FPGA and a timing constraint optimization method thereof, and a high-speed signal processing system to solve the metastable problem when designing the interface between FPGA and high-speed chip, and the problem that traditional solutions cannot meet the needs of modern high-performance digital systems.

[0019] The present invention solves the above technical problems through the following technical solutions: a method for optimizing FPGA timing constraints, wherein the FPGA is used for data interaction with a high-speed chip, and the optimization method comprises:

[0020] Acquire timing parameters of a high-speed chip; wherein the timing parameters include setup time and hold time;

[0021] Measure or evaluate the data transmission delay from the FPGA output to the high-speed chip input;

[0022] Setting an output delay constraint of the FPGA according to the timing parameters and the data transmission delay;

[0023] A clock uncertainty is calculated, and a clock uncertainty constraint of the FPGA is set according to the clock uncertainty.

[0024] Furthermore, the data transmission delay includes PCB routing delay and input buffer delay, the PCB routing delay is determined by the routing length and the dielectric constant, and the input buffer delay is an inherent delay at the input end of the high-speed chip.

[0025] Further, setting the output delay constraint of the FPGA according to the timing parameter and the data transmission delay specifically includes:

[0026] Determining a maximum delay based on the establishment time and the data transmission delay;

[0027] Determining a minimum delay according to the holding time and the data transmission delay;

[0028] An output delay constraint of the FPGA is set according to the maximum delay and the minimum delay.

[0029] Furthermore, the calculation formula of the maximum delay is: t_output_delay_max=t_setup-t_flight; Among them, t_output_delay_max represents the maximum delay, t_setup represents the setup time, and t_flight represents the data transmission delay; The calculation formula of the minimum delay is: t_output_delay_min=-(t_hold+t_flight); Among them, t_output_delay_min represents the minimum delay, and t_hold represents the hold time.

[0030] Furthermore, in the XDC file of the FPGA, the set_output_delay command is used to set the output delay constraint of the FPGA.

[0031] Furthermore, the specific calculation process of the clock uncertainty includes:

[0032] Get clock jitter data and clock path delay skew;

[0033] The clock uncertainty is calculated according to the clock jitter data and the clock path delay deviation, and the specific formula is: ; in, represents the clock uncertainty, represents the peak-to-peak jitter, Indicates the clock path delay skew.

[0034] Furthermore, in the XDC file of the FPGA, the set_clock_uncertainty command is used to set the clock uncertainty constraint of the FPGA.

[0035] Furthermore, the optimization method also includes verification and adjustment of FPGA timing, specifically including:

[0036] Perform timing analysis on FPGA;

[0037] According to the analysis results, determine whether the setup time and hold time of all paths are positive. If so, the verification is passed; otherwise, adjust the timing constraints of the FPGA.

[0038] Based on the same concept, the present invention provides an FPGA, which uses the FPGA timing constraint optimization method as described above to perform timing constraint optimization.

[0039] Based on the same concept, the present invention provides a high-speed signal processing system, including a high-speed chip and the FPGA as described above, wherein the high-speed chip and the FPGA perform data exchange.

[0040] Compared with the prior art, the advantages of the present invention are:

[0041] The present invention sets the output delay constraint of FPGA based on the setup time, hold time and data transmission delay of the high-speed chip to ensure the sampling stability; and enhances the timing robustness of the system under dynamic conditions by setting the clock uncertainty constraint;

[0042] The present invention ensures the stability of data during high-speed chip sampling by accurately setting the output delay constraint and clock uncertainty constraint of FPGA, avoids the uncertain state caused by data jump, and thus improves the metastable problem;

[0043] The present invention does not require additional hardware and can be directly implemented in FPGA design. The constraint parameters can be flexibly adjusted according to the specific hardware characteristics, avoiding the delay of synchronization logic or the complexity of physical adjustment. It has good versatility and is suitable for the needs of modern high-performance digital systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solution of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only one embodiment of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0045] Figure 1 is a flow chart of a method for optimizing FPGA timing constraints in an embodiment of the present invention;

[0046] Figure 2 4 is a structural block diagram of a high-speed signal processing system in an embodiment of the present invention. DETAILED DESCRIPTION

[0047] The following is a clear and complete description of the technical solutions in the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0048] The technical solution of the present application is described in detail with specific embodiments below. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0049] Embodiment 1

[0050] In the prior art, the output data timing of FPGA is usually generated by synthesis tools (such as Xilinx Vivado or Intel Quartus) according to the default optimization algorithm. However, this automatic timing optimization often prioritizes the performance of the internal logic of the FPGA, and may not meet the strict timing requirements of external high-speed chips. For example, a high-speed ADC may require the data signal to be stable for at least 2 nanoseconds before the rising edge of the sampling clock (setup time) and remain unchanged for 1 nanosecond after the rising edge (hold time). However, the output data generated by the FPGA synthesis tool may jump near the clock edge, causing the timing window to be destroyed, which in turn causes metastable problems.

[0051] Based on the above technical problems, the present invention provides an FPGA timing constraint optimization method, which optimizes the FPGA timing constraints to force the FPGA output data to reach the high-speed chip within a specified time, and directly ensures the timing stability of the data when the high-speed chip is sampled from the source of the data output.

[0052] In the actual operating environment, data transmission between FPGA and high-speed chip will be affected by many dynamic factors, such as clock jitter, propagation delay changes on PCB traces, and hardware characteristic drift caused by temperature or voltage fluctuations. These factors may cause the timing relationship determined in the simulation phase to fail in actual operation. For example, a carefully adjusted data output timing may not meet the setup time requirements of the high-speed chip because the clock jitter amplitude exceeds expectations.

[0053] Existing technologies often ignore these dynamic factors, or cover up the problem by adding redundant designs (such as multi-stage synchronizers), but this does not fundamentally solve the problem. To this end, the present invention reserves sufficient margin in the timing design to compensate for the influence of these uncontrollable dynamic factors. Specifically, the present invention introduces clock uncertainty parameters in the constraint file, and ensures that the design remains stable under the worst conditions by quantifying clock jitter and clock path delay deviation. This not only improves the robustness of the system, but also avoids the waste of resources caused by over-design.

[0054] The existing technology is often customized for specific chip models or application scenarios, such as adjusting the clock phase for a certain model of high-speed ADC, or designing a handshake signal for a specific data transmission protocol. Although this customization method is effective under specific conditions, it lacks universality. When the system needs to change the chip model or adapt to different interface requirements, the designer has to readjust the plan, which increases development time and cost. To this end, the present invention generates a universal constraint file template by analyzing the timing parameters and data propagation delay of the high-speed chip and combining the clock characteristics of the FPGA. This method not only reduces the complexity of the design and the difficulty of debugging, but can also be widely used in various fields such as communications, radar, and data acquisition, and has significant promotion value.

[0055] Figure 1 The flowchart of the FPGA timing constraint optimization method is shown. Figure 1 As shown, the timing constraint optimization method of the present invention comprises the following steps:

[0056] Step S1: Obtain timing parameters of a high-speed chip.

[0057] Among them, the timing parameters include setup time and hold time. The setup time and hold time of the input terminal can be obtained from the data sheet of the high-speed chip. The setup time (t_setup) refers to the minimum time that the data must be stable before the sampling clock edge, and the hold time (t_hold) refers to the minimum time that the data must remain stable after the sampling clock edge.

[0058] For example, a high-speed chip requires that data be stable 2ns before the rising edge of the clock (t_setup = 2ns) and remain unchanged 1ns after the rising edge of the clock (t_hold = 1ns).

[0059] Step S2: Measure or evaluate the data transmission delay from the FPGA output to the high-speed chip input.

[0060] In this embodiment, the data transmission delay includes PCB routing delay and input buffer delay. Among them, the PCB routing delay is determined by the routing length and dielectric constant, which is usually obtained through simulation tools (such as HyperLynx) or actual measurement; the input buffer delay is the inherent delay of the high-speed chip input end, and the specific parameters can be obtained from the data manual of the high-speed chip.

[0061] Step S3: Setting the output delay constraint of the FPGA according to the timing parameters and the data transmission delay.

[0062] In a specific implementation of the present invention, setting the output delay constraint of the FPGA according to the timing parameters and the data transmission delay specifically includes:

[0063] Step S3.1: Determine the maximum delay based on the setup time and the data transmission delay.

[0064] The maximum delay constraint ensures that data arrives ahead of the clock edge and meets the setup time requirement. The specific calculation formula is: t_output_delay_max=t_setup-t_flight(1) Among them, t_output_delay_max represents the maximum delay, t_setup represents the setup time, and t_flight represents the data transmission delay, that is, the time required for data to be transmitted from the transmitter to the receiver.

[0065] Exemplarily, t_setup=2ns, t_flight=1.5ns, then: t_output_delay_max=2ns-1.5ns=0.5ns.

[0066] XDC command: set_output_delay-max 0.5-clock [get_clockssys_clk] [get_ports {data[*]}]

[0067] Step S3.2: Determine the minimum delay according to the holding time and the data transmission delay.

[0068] The minimum delay constraint ensures that the data remains stable after the clock edge and meets the hold time requirement. The specific calculation formula is: t_output_delay_min=-(t_hold+t_flight) (2) Among them, t_output_delay_min represents the minimum delay, and t_hold represents the hold time.

[0069] Exemplarily, t_hold=1ns, t_flight=1.5ns, then: t_output_delay_min=-(1ns+1.5ns)=-2.5ns.

[0070] XDC command: set_output_delay-min-2.5-clock [get_clockssys_clk] [get_ports {data[*]}]

[0071] Step S3.3: Set the output delay constraint of the FPGA according to the maximum delay and the minimum delay.

[0072] In the FPGA's XDC file, the maximum and minimum data delays are set by the set_output_delay command to ensure that the arrival time and stabilization time of the data accurately match the sampling requirements of the high-speed chip, thereby ensuring that the data meets the timing requirements when the high-speed chip samples. This method does not rely on additional synchronizers or external clock adjustments, and solves the problem directly at the source of the data.

[0073] Step S4: Calculate the clock uncertainty, and set the clock uncertainty constraint of the FPGA according to the clock uncertainty.

[0074] Clock uncertainty includes setup time uncertainty (-setup) and hold time uncertainty (-hold). Setup time uncertainty affects the requirement for data to be stable before the clock edge, ensuring that the data arrives early and is stable; hold time uncertainty affects the requirement for data to remain stable after the clock edge, ensuring that the data does not change prematurely.

[0075] Typically, the effects of clock jitter on setup and hold times are symmetrical, so the value of clock uncertainty can be set to the same value in setup uncertainty and hold uncertainty unless there are special asymmetry requirements in the design.

[0076] The value of time uncertainty is not set arbitrarily, but needs to be calculated based on the specific characteristics of the system. In a specific implementation of the present invention, the specific calculation process of clock uncertainty includes:

[0077] Step S4.1: Obtain clock jitter data and clock path delay deviation.

[0078] Clock jitter is usually introduced by the clock source (such as crystal oscillator, phase-locked loop PLL, etc.). The specific value can be obtained from the data sheet or test report of the clock source. The commonly used jitter indicators are peak-to-peak jitter ( ), which represents the maximum possible time deviation of the clock edge. For example, the peak-to-peak jitter given in the clock source data sheet is 0.2ns.

[0079] In addition to clock source jitter, the clock signal will also introduce additional delay deviation in the transmission path (such as the FPGA internal clock tree). This uncertainty is usually small and can be estimated through the timing report of the FPGA tool or empirical values. For example, the delay deviation of the FPGA internal clock tree is 0.1ns, that is, the clock path delay deviation is 0.1ns.

[0080] Step S4.2: Calculate clock uncertainty based on the clock jitter data and the clock path delay deviation.

[0081] Clock uncertainty needs to take into account clock jitter data and clock path delay deviation. The specific calculation formula is: (3) in, represents clock uncertainty; Indicates peak-to-peak jitter, which indicates the maximum possible positive and negative deviation of the clock edge. In timing analysis, it is usually taken as a unilateral value (i.e. ) to conservatively estimate its impact on timing margin; Indicates the clock path delay skew.

[0082] For example, .

[0083] Apply the clock uncertainty values ​​to the timing constraints, usually setting the same value for setup uncertainty and hold uncertainty:

[0084] XDC Commands: set_clock_uncertainty -setup 0.2 [get_clocks sys_clk] set_clock_uncertainty -hold 0.2 [get_clocks sys_clk]

[0085] In the XDC file of the FPGA, use the set_clock_uncertainty command to set the clock uncertainty constraint of the FPGA. By setting the clock uncertainty constraint, the timing robustness of the system under dynamic conditions is enhanced.

[0086] Step S5: Verification and adjustment of FPGA timing.

[0087] Run timing analysis in FPGA tools (such as Vivado) to check whether the Setup Slack and Hold Slack of all paths are positive. If they are positive, it means that the verification has passed; if they are negative, it means that optimization adjustment is needed. Specifically, if the margin is insufficient, the data transmission delay can be optimized or the clock frequency can be reduced; if the jitter is too large, the clock source with lower jitter can be replaced.

[0088] The present invention ensures data stability during high-speed chip sampling by accurately setting output delay constraints and clock uncertainty constraints of FPGA, avoids uncertain states caused by signal jumps, and further eliminates or reduces metastable states. In high-speed chip interfaces, the reduction of metastable states significantly reduces system error rates. For example, the bit error rate can be reduced in communication systems, and the stability of signal generation can be improved in radar systems. The present invention is not only applicable to specific chips (such as AD9910), but can also be extended to interface designs of other high-speed chips (such as ADC, DAC), and has good versatility. Stable data sampling may bring unexpected performance improvements, such as higher signal integrity or lower power consumption.

[0089] The present invention provides a complete process from timing parameter acquisition to constraint setting, which is applicable to the interface scenarios of various high-speed chips. Unlike the traditional method that relies on indirect means such as synchronizers, clock phase adjustment, handshake protocols or physical delay compensation, the present invention uses the timing constraint tools (such as XDC files) in the FPGA design process to accurately control the delay parameters of the output data so that it fully meets the setup time and hold time requirements of high-speed chips, fundamentally eliminating or greatly reducing the possibility of metastable state.

[0090] The advantages of the present invention are its directness and simplicity. Traditional solutions often use additional logic modules or hardware adjustments to fix timing problems, while the present invention shifts the focus of problem solving to the data generation stage of the FPGA, avoiding the introduction of complex designs while improving the efficiency and reliability of the system. This change of thinking not only solves the pain points of the existing technology, but also opens up a new technical path for high-speed, high-precision digital interface design.

[0091] Embodiment 2

[0092] An embodiment of the present invention provides an FPGA, which uses the FPGA timing constraint optimization method in the first embodiment of the present application to perform timing constraint optimization.

[0093] like Figure 2 As shown, the high-speed signal processing system provided by the embodiment of the present invention includes a high-speed chip and the FPGA in the second embodiment of the present application, and the high-speed chip and the FPGA perform data exchange.

[0094] In practical applications, the metastable problem was successfully solved in the board design of FPGA and high-speed chips, the system operating frequency was increased to above 500MHz, and the timing margin was maintained above 0.3ns, verifying its high efficiency and feasibility.

[0095] What is disclosed above is only a specific implementation mode of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can easily think of changes or modifications within the technical scope disclosed in the present invention, which should be covered within the protection scope of the present invention.

Claims

1. A method for optimizing FPGA timing constraints, wherein the FPGA is used for data interaction with a high-speed chip, characterized in that: The optimization method comprises: Acquire timing parameters of a high-speed chip; wherein the timing parameters include setup time and hold time; Measure or evaluate the data transmission delay from the FPGA output to the high-speed chip input; Setting an output delay constraint of the FPGA according to the timing parameters and the data transmission delay; A clock uncertainty is calculated, and a clock uncertainty constraint of the FPGA is set according to the clock uncertainty.

2. The FPGA timing constraint optimization method according to claim 1, characterized in that: The data transmission delay includes PCB routing delay and input buffer delay. The PCB routing delay is determined by the routing length and the dielectric constant. The input buffer delay is the inherent delay of the high-speed chip input end.

3. The FPGA timing constraint optimization method according to claim 1, characterized in that: Setting the output delay constraint of the FPGA according to the timing parameter and the data transmission delay specifically includes: Determining a maximum delay based on the establishment time and the data transmission delay; Determining a minimum delay according to the holding time and the data transmission delay; An output delay constraint of the FPGA is set according to the maximum delay and the minimum delay.

4. The FPGA timing constraint optimization method according to claim 3, characterized in that: The calculation formula of the maximum delay is: t_output_delay_max=t_setup-t_flight; Among them, t_output_delay_max represents the maximum delay, t_setup represents the setup time, and t_flight represents the data transmission delay; The calculation formula of the minimum delay is: t_output_delay_min=-(t_hold+t_flight); Among them, t_output_delay_min represents the minimum delay, and t_hold represents the hold time.

5. The FPGA timing constraint optimization method according to claim 1, characterized in that: In the FPGA's XDC file, use the set_output_delay command to set the FPGA's output delay constraints.

6. The FPGA timing constraint optimization method according to claim 1, characterized in that: The specific calculation process of the clock uncertainty includes: Get clock jitter data and clock path delay skew; The clock uncertainty is calculated according to the clock jitter data and the clock path delay deviation, and the specific formula is: ; in, represents the clock uncertainty, represents the peak-to-peak jitter, Indicates the clock path delay skew.

7. The FPGA timing constraint optimization method according to claim 1, characterized in that: In the FPGA's XDC file, use the set_clock_uncertainty command to set the FPGA's clock uncertainty constraints.

8. The FPGA timing constraint optimization method according to any one of claims 1 to 7, characterized in that: The optimization method also includes verification and adjustment of FPGA timing, specifically including: Perform timing analysis on FPGA; According to the analysis results, determine whether the setup time and hold time of all paths are positive. If so, the verification is passed; otherwise, adjust the timing constraints of the FPGA.

9. An FPGA, characterized in that: The FPGA performs timing constraint optimization using the FPGA timing constraint optimization method according to any one of claims 1 to 8.

10. A high-speed signal processing system, characterized in that: The system comprises a high-speed chip and the FPGA as claimed in claim 9, wherein the high-speed chip performs data exchange with the FPGA.

Citation Information

Patent Citations

  • Fine-grained programmable sequential control logic module

    CN110018654A

  • Time sequence uncertainty setting method and device, electronic equipment and storage medium

    CN118211558A

  • Timing sequence optimization method based on early clock tree synthesis

    CN118569196A