MSAKARIM
Full Member level 3
- Joined
- Jun 2, 2015
- Messages
- 154
- Helped
- 1
- Reputation
- 2
- Reaction score
- 4
- Trophy points
- 1,298
- Activity points
- 2,528
I used around 16 BUFGCE in my design as a clock buffer, it passes in the synthesis step, but it gives me this error in "place_design" step:
[Place 30-120] Sub-optimal placement for a BUFG-BUFG cascade pair. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
< set_property CLOCK_DEDICATED_ROUTE ANY_CMT_COLUMN [get_nets clk1] >
BUFGCE_inst_1 (BUFGCTRL.O) is provisionally placed by clockplacer on BUFGCTRL_X0Y0
IP_1/BUFGCE_inst_0 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y1
IP_2/BUFGCE_inst_1 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y2
IP_3/BUFGCE_inst_4 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y5
IP_4/BUFGCE_inst_2 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y3
IP_5/BUFGCE_inst_3 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y4
IP_6/BUFGCE_inst_6 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y7
IP_7/BUFGCE_inst_5 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y6
IP_8/BUFGCE_inst_B (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y12
IP_9/BUFGCE_inst_C (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y13
IP_10/BUFGCE_inst_9 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y10
IP_11/BUFGCE_inst_8 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y9
IP_12/BUFGCE_inst_7 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y8
IP_13/BUFGCE_inst_A (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y11
IP_14/BUFGCE_inst_D (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y14
Sig1/BUFGCE_inst_sig1 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y16
Sig2/BUFGCE_inst_sig2 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y15
Sig3/BUFGCE_inst_sig3 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y17
The above error could possibly be related to other connected instances. Following is a list of
all the related clock rules and their respective instances.
Clock Rule: rule_gclkio_bufg
Status: PASS
Rule Description: An IOB driving a BUFG must use a CCIO in the same half side (top/bottom) of chip
as the BUFG
clk_IBUF_inst (IBUF.O) is provisionally placed by clockplacer on IOB_X0Y78
and BUFGCE_inst_1 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y0
[Place 30-120] Sub-optimal placement for a BUFG-BUFG cascade pair. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
< set_property CLOCK_DEDICATED_ROUTE ANY_CMT_COLUMN [get_nets clk1] >
BUFGCE_inst_1 (BUFGCTRL.O) is provisionally placed by clockplacer on BUFGCTRL_X0Y0
IP_1/BUFGCE_inst_0 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y1
IP_2/BUFGCE_inst_1 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y2
IP_3/BUFGCE_inst_4 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y5
IP_4/BUFGCE_inst_2 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y3
IP_5/BUFGCE_inst_3 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y4
IP_6/BUFGCE_inst_6 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y7
IP_7/BUFGCE_inst_5 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y6
IP_8/BUFGCE_inst_B (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y12
IP_9/BUFGCE_inst_C (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y13
IP_10/BUFGCE_inst_9 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y10
IP_11/BUFGCE_inst_8 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y9
IP_12/BUFGCE_inst_7 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y8
IP_13/BUFGCE_inst_A (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y11
IP_14/BUFGCE_inst_D (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y14
Sig1/BUFGCE_inst_sig1 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y16
Sig2/BUFGCE_inst_sig2 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y15
Sig3/BUFGCE_inst_sig3 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y17
The above error could possibly be related to other connected instances. Following is a list of
all the related clock rules and their respective instances.
Clock Rule: rule_gclkio_bufg
Status: PASS
Rule Description: An IOB driving a BUFG must use a CCIO in the same half side (top/bottom) of chip
as the BUFG
clk_IBUF_inst (IBUF.O) is provisionally placed by clockplacer on IOB_X0Y78
and BUFGCE_inst_1 (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y0