Stratix® 10 Configuration User Guide

ID 683762
Date 4/05/2024
Public
Document Table of Contents

3.1.3. The AVST_READY Signal

Before beginning configuration, do trigger device cleaning by toggling the nCONFIG pin from high to low to high. This nCONFIG transition also returns the device to the configuration state.

If you use the Parallel Flash Loader II Intel® FPGA IP as the configuration host, the AVST_READY synchronizer logic is included.

Figure 19. Monitoring the AVST_READY Signal and Responding to Backpressure

The configuration files for Stratix® 10 devices can be highly compressed. During configuration, the decompression of the bit stream inside the device requires the host to pause before sending more data. The Stratix® 10 device asserts the AVST_READY signal when the device is ready to accept data. The AVST_READY signal is only valid when the nSTATUS pin is high. In addition, the host must handle backpressure by monitoring the AVST_READY signal and may assert AVST_VALID signal any time after the assertion of AVST_READY signal. The host must monitor the AVST_READY signal throughout the configuration.

The AVST_READY signal sent by the Stratix® 10 device to the host is not synchronized with the AVSTx8_CLK or AVST_CLK. To configure the Stratix® 10 device successfully, the host must adhere to the following constraints:

  • The host must drive no more than six data words after the deassertion of the AVST_READY signal including the delay incurred by the 2-stage register synchronizer.
  • The host must synchronize the AVST_READY signal to the AVST_CLK signal using a 2-stage register synchronizer. Here is a Register transfer level (RTL) example code for 2-stage register synchronizer:
    always @(posedge avst_clk or negedge reset_n) 
    	begin
    		if (~reset_n)
    		begin
    			fpga_avst_ready_reg1 <= 0;
    			fpga_avst_ready_reg2 <= 0;
    		else 
    			fpga_avst_ready_reg1 <= fpga_avst_ready;
    			fpga_avst_ready_reg2 <= fpga_avst_ready_reg1;
    		end
    	end
    Where:
    • The AVST_CLK signal comes from either Parallel Flash Loader II Intel® FPGA IP or your Avalon® -ST controller logic.
    • fpga_avst_ready is the AVST_READY signal from the Stratix® 10 device.
    • fpga_avst_ready_reg2 signal is the AVST_READY signal that is synchronous to AVST_CLK.
Note: You must properly constrain the AVST_CLK and AVST_DATA signals at the host. Perform timing analysis on both signals between the host and the Stratix® 10 device to ensure the Avalon-ST configuration timing specifications are met. Refer to the Avalon-ST Configuration Timing section of the Stratix® 10 Device Data Sheet for information about the timing specifications.
Note: The AVST_CLK signal must run continuously during configuration. The AVST_READY signal does not assert unless the clock is running.

Optionally, you can monitor the CONF_DONE signal to indicate the flash has sent all the data to FPGA or to indicate the configuration process is complete.

If you use the Parallel Flash Loader II Intel® FPGA IP as the configuration host, you can use the Quartus® Prime software to store the binary configuration data to the flash memory through the Parallel Flash Loader II Intel® FPGA IP.

If you use the Avalon-ST Adapter IP core as part of the configuration host, set the Source Ready Latency value between 1- 6.

Avalon-ST x8 configuration scheme uses the SDM pins only. Avalon-ST x16 and x32 configuration scheme only use dual-purpose I/O pins that you can use as general-purpose I/O pins after configuration.