prim_cg_req

Drive Q-Channel qreq_no from qactive_i, qaccept_ni, and qdeny_i.

qreq_no is the active-low quiescence request: it follows qactive_i, so it falls, asking for the clock to stop, once the device is idle. After a deny, hold qreq_no high (request withdrawn) for DENY_DELAY cycles before it follows qactive_i again; an accept clears the hold. HysteresisW sizes the deny-hold counter.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
DENY_DELAYint unsigned1Cycles to hold after a deny before reasserting.
HysteresisWint unsigned(DENY_DELAY <= 1) ? 1 : $clog2(DENY_DELAY+1)Deny-hold counter width.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicQ-Channel clock.
rst_niinputlogicAsync reset, active-low.
qactive_iinputlogicDevice wants the clock.
qaccept_niinputlogicDevice accepted the quiescence request, active-low.
qdeny_iinputlogicDevice denied the quiescence request; starts the deny hold.
qreq_nooutputlogicQuiescence request to the device, active-low; low asks for the clock to stop.