Clock Enable Multicycle
The enable_reg register generates an enable pulse that is two times the clock period of the register. Therefore, a multicycle exception must be applied for the correct analysis. You must apply a multicycle setup of 2 and a multicycle hold of 1 to the enable-driven register fed by the register enable_reg. The multicycle exception is applied only to register-to-register paths where the destination register is controlled by enable_reg. To accomplish this, you can apply the set_multicycle_path exception to all enable-driven registers. This can be tedious, because all enable-driven registers must be specified. You can also use the combination of set_multicycle_path and get_fanouts.
Clock Enable Multicycle Constraints
#Setup multicycle of 2 to enabled driven destination registers set_multicycle_path 2 -to [get_fanouts [get_pins enable_reg|q] \ -through [get_pins -hierarchical *|ena]] -end -setup
The target of the set_multicycle_path exception is limited to all fan-outs of the enable_reg register that feed the enable port of a register. Use the following option:
[get_fanouts [get_pins enable_reg|q] -through [get_pins -hierarchical *|ena]]
The setup and hold relationships start at the enable_reg register and end at any enable-driven register at 2 and 1, respectively.
Did you find the information on this page useful?