Visible to Intel only — GUID: sss1396067287706
Ixiasoft
1. Intel® MAX® 10 FPGA Configuration Overview
2. Intel® MAX® 10 FPGA Configuration Schemes and Features
3. Intel® MAX® 10 FPGA Configuration Design Guidelines
4. Intel® MAX® 10 FPGA Configuration IP Core Implementation Guides
5. Dual Configuration Intel® FPGA IP Core References
6. Unique Chip ID Intel® FPGA IP Core References
7. Document Revision History for the Intel® MAX® 10 FPGA Configuration User Guide
3.1. Dual-Purpose Configuration Pins
3.2. Configuring Intel® MAX® 10 Devices using JTAG Configuration
3.3. Configuring Intel® MAX® 10 Devices using Internal Configuration
3.4. Implementing ISP Clamp in Intel® Quartus® Prime Software
3.5. Accessing Remote System Upgrade through User Logic
3.6. Error Detection
3.7. Enabling Data Compression
3.8. AES Encryption
3.9. Intel® MAX® 10 JTAG Secure Design Example
Visible to Intel only — GUID: sss1396067287706
Ixiasoft
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>;
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. |