Intel® MAX® 10 FPGA Configuration User Guide

ID 683865
Date 3/27/2023
Public
Document Table of Contents

3.5. Accessing Remote System Upgrade through User Logic

The following example shows how the input and output ports of a WYSIWYG atom are defined in the Intel® MAX® 10 device.

Note: WYSIWYG is a technique that performs optimization on the Verilog Quartus Mapping netlist within the Intel® Quartus® Prime software.
fiftyfivenm_rublock <rublock_name>
(
	.clk(<clock source>),
	.shiftnld(<shiftnld source>),
	.captnupdt(<captnupdt source>),
	.regin(<regin input source from the core>),
	.rsttimer(<input signal to reset the watchdog timer>),
	.rconfig(<input signal to initiate configuration>),
	.regout(<data output destination to core>)
);
defparam <rublock_name>.sim_init_config = <initial configuration for simulation only>;
defparam <rublock_name>.sim_init_watchdog_value = <initial watchdog value for simulation only>;
defparam <rublock_name>.sim_init_config = <initial status register value for simulation only>;
Table 30.  Port Definitions
Port Input/Output Definition
<rublock_name> - Unique identifier for the RSU Block. This is any identifier name which is legal for the given description language (e.g. Verilog, VHDL, AHDL, etc.). This field is required.
.clk(<clock source>) Input This signal designates the clock input of this cell. All operation of this cell are with respect to the rising edge of this clock. Whether it is the loading of the data into the cell or data out of the cell, it always occurs on the rising edge. This field is required.
.shiftnld(<shiftnld source>) Input This signal is an input into the remote system upgrade block. If shiftnld = 1, then data gets shifted from the internal shift registers to the regout at each rising edge of clk and it gets shifted into the internal shift registers from regin. This field is required.
.captnupdt(<captnupdt source>) Input This signal is an input into the remote system upgrade block. This controls the protocol of when to read the configuration mode or when to write into the registers that control the configuration. This field is required.
.regin(<regin input source from the core>) Input This signal is an input into the remote system upgrade block for all data being loaded into the core. The data is shifted into the internal registers at the rising edge of clk. This field is required
.rsttimer(<input signal to reset the watchdog timer>) Input This signal is an input to reset the user watchdog timer. A falling edge of this signal triggers a reset of the user watchdog timer. To reset the timer, pulse the RU_nRSTIMER signal for a minimum of 250 ns.
.rconfig(<input signal to initiate configuration>) Input This signal is an input into the configuration section of the remote update block. When this signal goes high, it initiates a reconfiguration. This field is required.
.regout(<data output destination to core>) Output This is a 1 bit output which is the output of the internal shift register updated every rising edge of .clk. The data coming out depends on the control signals. This field is required.