We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 58393

Vivado 2013.3 Route : Carry chain route - critical warning net is not completely routed, routable but not routed


A design has five carry-in logic blocks in each column and passes the carryin signal from the fifth block of first column to the first block of second column. 

This design had been working in PlanAhead previously. 

However, when migrated to Vivado, route_design reports a critical warning 

"[Route 35-54] Net: dut/a1_b2/n_0_b_carry_gen[4].b_carry is not completely routed." 

The route status shows "routable but not routed".

This design has an XDC macro that forces a broken carry chain (COUT-->CIN not aligned) and so CYINIT needs to be routed using an AX route-thru. 

Because there is also an active signal on DI0, that signal needs to be routed with an A5LUT route-thru so as to reserve AX for the CYINIT. 

None of this is happening (even if CYINIT is routed alone) and so the CYINIT connection ends up unrouted.


This is an issue with the router where the carry multiplexer has an active signal on the DI0 input which is being routed using the AX pin.

The router should have anticipated the need to reserve the AX pin for the CYINIT connection and routed the DI0 pin using a route-thru via the A5LUT.

This has been fixed in Vivado 2014.1.
Possible work-arounds:
 1) Use fixed_route to route these unrouted nets and use the modified XDC.
 2) Instantiate a LUT1 buffer on the DI0 Signal and BEL constrain it to the A5LUT so that the AX path is left free for the CYINIT connection.
AR# 58393
Date Created 11/13/2013
Last Updated 07/31/2014
Status Active
Type General Article
  • Vivado Design Suite - 2013.3