UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor dgo42
Visitor
202 Views
Registered: ‎09-08-2019

Vivado 2019.1.2 carry4 CI and CYINIT incorrectly connected during implementation

Hello,

I try to realize some TDC. And as first target I try to implement wave union based on CARRY4 primitives.

I've successfuly simulated it, but after implementation is generated - it doesn't work.

Then I've found, that on two CARRY instances the CI and CYINIT inputs are mixed up.

After synthesis it is everything ok, but after implementation not

synthesis_1.png

impl_2.png

This are tho fragments of schematic after sinthesis.

 

And now are same fragments after implementation:

impl_1.png

impl_2.png

Independent from implementation strategy I get always wrong routing for 1 and 16 CARRY4 elements.

I've found AR# 62073 and tryed to put 

set_param synth.elaboration.rodinMoreOptions "rt::set_parameter constPropCarry false"

to some tcl file and configure it as tcl.pre script. Maybe I made it wrong?

But I've not found a solution how to force vivado do not to replace CI and CYINIT.

In attachment is the ring oscillator based on CARRY4 and the test fixture for simulation.

 

Can sombody help me?

 

Best regards,

Dimitrij

Tags (4)
0 Kudos
3 Replies
Visitor dgo42
Visitor
167 Views
Registered: ‎09-08-2019

Re: Vivado 2019.1.2 carry4 CI and CYINIT incorrectly connected during implementation

I don't know if it is a good solution, but after I've defined the wite to the CI pin as DONT_TOUCH = "yes", there was no fron connection more.

    (* DONT_TOUCH = "yes" *)(* KEEP = "TRUE" *) wire [(C_S_DELAY_LINE_LENGTH * 4) - 1 : 0] s;

 

0 Kudos
Xilinx Employee
Xilinx Employee
98 Views
Registered: ‎05-22-2018

Re: Vivado 2019.1.2 carry4 CI and CYINIT incorrectly connected during implementation

Hi @dgo42 ,

The solution of applying DONT_TOUCH attribute is very correct and you can move ahead with that WorkAround.

DONT_TOUCH will avoid any optimization or changes to be applied on the specific net or signal or instance.

Thanks,

Raj

Xilinx Employee
Xilinx Employee
72 Views
Registered: ‎05-22-2018

Re: Vivado 2019.1.2 carry4 CI and CYINIT incorrectly connected during implementation

Hi @dgo42 ,

Do you have further queries on this? If not, please close this thread by marking it as accepted solution. 

Thanks,

Raj

0 Kudos