Critical Issue
Description
Some configurations synchronous resets are not supported by SOPC Builder. If any of the following conditions are met, the HDL that SOPC Builder generates fails to connect reset ports:
- The reset port is not associated with a clock.
- The reset port is an output and no Avalon interface (master or slave) exists on the same clock domain.
- The reset port is an input and its associated clock is an output.
No validation or generation messages are displayed.
Resolution
To confirm that a reset port is not connected, do the following:
- Open the top-level design file generated by SOPC Builder in a text editor. (The top-level design file has a file name equal to the system name and a file extension corresponding to the HDL language you chose for system generation.)
- Inspect the instantiation of each module. For a given module named X in the SOPC Builder system, a module/entity named X is instantiated in the top-level design file. In the module/entity instantiation, the ports are connected by name. If any of the conditions listed in the Issue description are met, the reset signal is not connected to the global reset bus.
If you find an unconnected reset port, do one of the following:
- Use the Qsys Editor. On the Tools menu of the main Quartus II window, click Qsys and then open the SOPC Builder Design File (.sopc) and convert your system to Qsys.
- Manually modify the HDL to connect the reset. If the reset
is expected to be synchronized, you must also manually implement
synchronization. Reset synchronizers have a module name that consists
of <SOPC system name>_reset_<externally driven
clock name>_domain_synch_module. For example, an SOPC
system named sys with a clock source named
clk_0has a reset synchronizer module named sys_reset_clk_0_domain_synch_module.
A reset synchronizer, for example, is generated for an external clock source in your SOPC system.