Visible to Intel only — GUID: bxc1730840149447
Ixiasoft
1.1.1. Timing Path and Clock Analysis
1.1.2. Clock Setup Analysis
1.1.3. Clock Hold Analysis
1.1.4. Recovery and Removal Analysis
1.1.5. Multicycle Path Analysis
1.1.6. Metastability Analysis
1.1.7. Timing Pessimism
1.1.8. Clock-As-Data Analysis
1.1.9. Multicorner Timing Analysis
1.1.10. Time Borrowing
2.1. Using Timing Constraints throughout the Design Flow
2.2. Timing Analysis Flow
2.3. Applying Timing Constraints
2.4. Timing Constraint Descriptions
2.5. Timing Report Descriptions
2.6. Scripting Timing Analysis
2.7. Using the Quartus® Prime Timing Analyzer Document Revision History
2.8. Quartus® Prime Pro Edition User Guide: Timing Analyzer Archive
2.4.4.5.1. Default Multicycle Analysis
2.4.4.5.2. End Multicycle Setup = 2 and End Multicycle Hold = 0
2.4.4.5.3. End Multicycle Setup = 2 and End Multicycle Hold = 1
2.4.4.5.4. Same Frequency Clocks with Destination Clock Offset
2.4.4.5.5. Destination Clock Frequency is a Multiple of the Source Clock Frequency
2.4.4.5.6. Destination Clock Frequency is a Multiple of the Source Clock Frequency with an Offset
2.4.4.5.7. Source Clock Frequency is a Multiple of the Destination Clock Frequency
2.4.4.5.8. Source Clock Frequency is a Multiple of the Destination Clock Frequency with an Offset
2.5.1. Report Fmax Summary
2.5.2. Report Timing
2.5.3. Report Timing By Source Files
2.5.4. Report Data Delay
2.5.5. Report Net Delay
2.5.6. Report Clocks and Clock Network
2.5.7. Report Clock Transfers
2.5.8. Report Metastability
2.5.9. Report CDC Viewer
2.5.10. Report Asynchronous CDC
2.5.11. Report Logic Depth
2.5.12. Report Neighbor Paths
2.5.13. Report Register Spread
2.5.14. Report Route Net of Interest
2.5.15. Report Retiming Restrictions
2.5.16. Report Register Statistics
2.5.17. Report Pipelining Information
2.5.18. Report Time Borrowing Data
2.5.19. Report Exceptions and Exceptions Reachability
2.5.20. Report Bottlenecks
2.5.21. Check Timing
2.5.22. Report SDC
3.1.1. CDC Timing Overview
3.1.2. Identifying CDC Timing Issues Using Design Assistant
3.1.3. Identifying CDC Timing Issues Using Timing Reports
3.1.4. Debug CDC Example 1—Incorrect SDC Definition
3.1.5. Debug CDC Example 2—Additional Logic in the Crossing
3.1.6. Debug CDC Example 3—CDC Depending on Two Simultaneous Clock Domains
Visible to Intel only — GUID: bxc1730840149447
Ixiasoft
3.2.2.1. Resolve Violation: Asynchronous Reset Is Not Synchronized
The following steps describe how to resolve the RES-50001 Asynchronous Reset Is Not Synchronized DRC violation that occurs for the RDC Example:
Figure 247. Design Assistant Identifies Asynchronous Reset
- In the Design Assistant, right-click the RES-50001 violation, then click Report Asynchronous CDC. The report shows the topology of RDCs, including improperly synchronized destination nodes grouped under the Register Reset by Unsynchronized Signal category.
Figure 248. Report Asynchronous CDC - Register Reset by Unsynchronized Signal
- Take corrective action to implement reset synchronizers. The topology of a reset synchronizer typically consists of a series of D flipflops set by the asynchronous reset, as the following diagram shows:
Figure 249. Reset Synchronizers
The following examples define a three-stage synchronizer for a reset signal in Verilog and VHDL:
Three-Stage Synchronizer for Reset (Verilog HDL)
module reset_synchronizer ( input wire clk, // Clock signal of the destination domain input wire async_reset, // Asynchronous reset signal from the source domain output reg sync_reset // Synchronized reset signal for the destination domain ); reg [2:0] reset_ff; // 3 flip-flops for the synchronizer chain always @(posedge clk or posedge async_reset) begin if (async_reset) begin reset_ff <= 3'b111; // Assert the synchronizer flip-flops end else begin reset_ff[0] <= 1'b0; // First stage reset_ff[1] <= reset_ff[0]; // Second stage reset_ff[2] <= reset_ff[1]; // Third stage end sync_reset <= reset_ff[2]; // Output from the third stage end endmodule
Three-Stage Synchronizer for Reset (VHDL)
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity reset_synchronizer is Port ( clk : in STD_LOGIC; -- Clock signal of the destination domain async_reset : in STD_LOGIC; -- Asynchronous reset signal from the source domain sync_reset : out STD_LOGIC -- Synchronized reset signal for the destination domain ); end reset_synchronizer; architecture Behavioral of reset_synchronizer is signal reset_ff : STD_LOGIC_VECTOR(2 downto 0); -- 3 flip-flops for the synchronizer chain begin process(clk, async_reset) begin if async_reset = '1' then reset_ff <= (others => '1'); -- Assert the synchronizer flip-flops elsif rising_edge(clk) then reset_ff(0) <= '0'; -- First stage reset_ff(1) <= reset_ff(0); -- Second stage reset_ff(2) <= reset_ff(1); -- Third stage end if; sync_reset <= reset_ff(2); -- Output from the third stage end process; end Behavioral;
- After properly synchronizing the reset signal, Design Assistant and Report Asynchronous CDC identify the implemented topology under the Unconstrained Reset Synchronizer category.
Figure 250. Design Assistant Results
Figure 251. Unconstrained Reset Synchronizer in Report Asynchronous CDC
- Modify the .sdc timing constraints to ensure the synchronizer flipflops have sufficient time to stabilize the asynchronous reset signal and to ensure the setup and hold times are met for the flipflops within the synchronizer chain. The following is an example of the necessary timing constraints in SDC format:
# Define the clock (assuming the clock name is clk for the destination domain) create_clock -name clk -period 10 [get_ports {clk_port_name}] # Adjust period according to actual clock period # Define the asynchronous reset (assuming the reset name is async_reset) set_false_path -from [get_ports {async_reset_port_name}] -to [get_registers RDC|reset_ff[*]]
- After modifying the RDC constraints, Report Asynchronous CDC reports this as a Compliant Reset Synchronizer.
Figure 252. Compliant Reset Synchronizer
- Verify the RDC topology in the CDC Statistic tab.
Figure 253. CDC Statistic Tab
The following diagram shows how the design appears following these changes:
Figure 254. Design After Violation Resolution