Hyperflex® Architecture High-Performance Design Handbook

ID 683353
Date 7/07/2025
Public
Document Table of Contents

2.2.7.3.1. Implementing Clock Gating

To implement clock gating, you access the USER_CLKGATE signal by use of the following IP available in the Quartus® Prime software:
  • Reset Release IP—holds your design in reset until configuration is complete by gating clocks, resets, or write enables. This IP outputs the nINIT_DONE signal. When nINIT_DONE is low, the device is no longer in configuration mode.
  • Clock Control IP—uses the inverted nINIT_DONE signal as a clock enable signal.

Follow these steps to implement clock gating:

  1. Open a design in the Quartus® Prime software.
  2. In IP Catalog, type reset release in the search field, and double-click the Reset Release IP .
  3. Specify appropriate parameters for your configuration in the parameter editor, and then click Generate HDL.
  4. Repeat steps 2 and 3 to add the Clock Control IP to your project. Prior to IP generation, specify the following options for the IP in the parameter editor:
    • Under Clock Gating, turn on the Clock Enable option.
    • For Clock Enable Type, select Root Level.
    • For Enable Register Mode, select Negative Latch.
  5. Connect the Reset Release and Clock Control IP together:
    • To gate the clocks, use inverted nINIT_DONE as the enable input to the Clock Control IP.
    • If initial conditions are required, Altera recommends that the Clock Control IP also use root clock gating.

    The following figure shows proper connections between the Reset Release and Clock Control IP to ensure accurate initial conditions after configuration:

    Figure 19. Connections between the Reset Release (reset_release) and Clock Control (clock_control) IP Cores

    The Clock Control IP uses the ena signal to perform the clock gating function. The clock signal on the output of the Clock Control IP is then safe for use with the initialized registers (ALM and Hyper-Registers).