| Clocks high | Too many/high-freq clock nets always toggling; ungated clock trees; redundant MMCM/PLL outputs | Power-aware impl strategy (enables clock gating); reduce clock frequency where spec allows; remove unused generated clocks; consolidate clock domains | report_clock_networks, report_clock_utilization, set_implementation_strategy, configure_clocking_wizard, then re-impl + report_power |
| Logic / Signals high | High average toggle rate; large always-active combinational/sequential mass; high-fanout nets driving wide loads | Power-aware impl strategy + power_opt clock gating; then RECOMMEND clock-enable gating / operand isolation in RTL | report_high_fanout_nets, report_utilization_hierarchical (find the hot module), set_implementation_strategy, then RECOMMEND RTL via read_file_lines |
| BRAM high | Memories with enable always asserted; over-wide/over-deep RAMs; no sleep/cascade | Reconfigure memory IP (narrower/cascade/sleep); RECOMMEND RAM enable gating so unused banks idle | report_utilization, get_memory_config, configure_memory, then re-impl + report_power |
| DSP high | DSP slices clocked/active when idle; no operand isolation | Strategy that reduces/area-optimizes DSP (Flow_AreaMultThresholdDSP synth); RECOMMEND operand isolation / DSP enable gating | set_synthesis_strategy, report_utilization, then RECOMMEND RTL |
| I/O high | Excess slew rate, high drive strength, power-hungry I/O standard, unnecessary on-chip termination, high-toggle outputs | Edit XDC: lower SLEW (SLOW), reduce DRIVE, choose lower-power IOSTANDARD, remove needless termination | report_io, create_io_constraint / edit constraint file via read_file+replace_in_file, then re-impl + report_power |
| MMCM / PLL / GT high | More clock outputs or transceiver lanes than used; high VCO; unused GT channels powered | Reduce MMCM/PLL outputs & VCO; disable unused GT lanes (IP reconfigure) | report_clock_utilization, configure_clocking_wizard, IP reconfigure, then re-impl + report_power |
| Static / Device high (large share) | Silicon leakage: high junction temp, hot speed grade, oversized device | Mostly a device/thermal DECISION: lower junction temp (cooling/ambient), lower-power speed grade, smaller part. Surface as options — do NOT expect RTL to move it | report_power (junction temp, thermal margin), then present options + STOP |
| Junction temp / thermal margin critical | Inadequate cooling, high ambient, or genuinely high total power | Reduce dynamic power (rows above) AND flag cooling/ambient/derating; recompute margin after | report_power, then iterate dynamic-power rows + surface thermal trade-off |