cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
musthafavakeri
Explorer
Explorer
10,696 Views
Registered: ‎07-01-2015

Invalid constraint on register 'IO0_I_REG' during implementation

Jump to solution

Hi All,

 

Tool : Vivado 15.2.1

Device : xc7vx485tffg1761-2

Error: 

1) [Place 30-73] Invalid constraint on register 'IO0_I_REG'. It has the property IOB=TRUE, but it is not driving or driven by any IO    element.

2) [Place 30-73] Invalid constraint on register      'RATIO_NOT_EQUAL_4_GENERATE.SCK_O_NQ_4_NO_STARTUP_USED.SCK_O_NE_4_FDRE_INST'. It has the property IOB=TRUE,    but it is not driving or driven by any IO element.

I got these errors during implementation. But when I click at the blue lines, it says " cannot find cell".

 

Why does this happen......? 

 

Thanks ,

Musthafa

0 Kudos
Reply
1 Solution

Accepted Solutions
vemulad
Xilinx Employee
Xilinx Employee
19,387 Views
Registered: ‎09-20-2012

Hi @musthafavakeri

 

Open Implemented design and use the below commands to report the cells mentioned in the warning message.

 

show_objects -name find_1 [get_cells -hierarchical -filter { NAME =~ "*IO0_I_REG*" } ]
show_objects -name find_2 [get_cells -hierarchical -filter { NAME =~ "*RATIO_NOT_EQUAL_4_GENERATE.SCK_O_NQ_4_NO_STARTUP_USED.SCK_O_NE_4_FDRE_INST*" } ]

 

1) [Place 30-73] Invalid constraint on register 'IO0_I_REG'. It has the property IOB=TRUE, but it is not driving or driven by any IO    element.

2) [Place 30-73] Invalid constraint on register      'RATIO_NOT_EQUAL_4_GENERATE.SCK_O_NQ_4_NO_STARTUP_USED.SCK_O_NE_4_FDRE_INST'. It has the property IOB=TRUE,    but it is not driving or driven by any IO element.

 

The second warning message is correct. The flop mentined in second warning has IOB property set to TRUE (you can check cell properties window) and it is not eligible for packing in to IOB as it is not connected to top level ports directly.

 

Capture.PNG

 

The first warning message seems to be incorrect as the cells which I found using the below command are indeed placed in IOB. I will check this further.

 

show_objects -name find_1 [get_cells -hierarchical -filter { NAME =~ "*IO0_I_REG*" } ]

 

Thanks,

Deepika.

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)

View solution in original post

7 Replies
vemulad
Xilinx Employee
Xilinx Employee
10,690 Views
Registered: ‎09-20-2012

Hi @musthafavakeri

 

Can you attach _opt.dcp located in .runs-->impl_1 folder?

 

Also right click in messages window and select "discard old messages" in case if these messages are from old runs this helps.

 

Thanks,

Deepika.

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)
0 Kudos
Reply
musthafavakeri
Explorer
Explorer
10,671 Views
Registered: ‎07-01-2015

Hi Deepika,

 

Thank you for your reply.

Please find attached the _opt.dcp file.

 

Thanks,

Musthafa 

0 Kudos
Reply
vemulad
Xilinx Employee
Xilinx Employee
19,388 Views
Registered: ‎09-20-2012

Hi @musthafavakeri

 

Open Implemented design and use the below commands to report the cells mentioned in the warning message.

 

show_objects -name find_1 [get_cells -hierarchical -filter { NAME =~ "*IO0_I_REG*" } ]
show_objects -name find_2 [get_cells -hierarchical -filter { NAME =~ "*RATIO_NOT_EQUAL_4_GENERATE.SCK_O_NQ_4_NO_STARTUP_USED.SCK_O_NE_4_FDRE_INST*" } ]

 

1) [Place 30-73] Invalid constraint on register 'IO0_I_REG'. It has the property IOB=TRUE, but it is not driving or driven by any IO    element.

2) [Place 30-73] Invalid constraint on register      'RATIO_NOT_EQUAL_4_GENERATE.SCK_O_NQ_4_NO_STARTUP_USED.SCK_O_NE_4_FDRE_INST'. It has the property IOB=TRUE,    but it is not driving or driven by any IO element.

 

The second warning message is correct. The flop mentined in second warning has IOB property set to TRUE (you can check cell properties window) and it is not eligible for packing in to IOB as it is not connected to top level ports directly.

 

Capture.PNG

 

The first warning message seems to be incorrect as the cells which I found using the below command are indeed placed in IOB. I will check this further.

 

show_objects -name find_1 [get_cells -hierarchical -filter { NAME =~ "*IO0_I_REG*" } ]

 

Thanks,

Deepika.

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)

View solution in original post

vemulad
Xilinx Employee
Xilinx Employee
10,662 Views
Registered: ‎09-20-2012

Hi @musthafavakeri

 

The first warning talks about instance "mblaze_wrapper_inst/mblaze_i/axi_quad_spi_1/U0/IO0_I_REG".

 

show_objects -name find_3 [get_cells -hierarchical -filter { NAME =~ "*mblaze_wrapper_inst/mblaze_i/axi_quad_spi_1/U0/IO0_I_REG*" } ]

 

This flop cannot be packed in to IOB as it is not connected to top level ports.

 

Capture.PNG

 

Thanks,

Deepika,

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)
vemulad
Xilinx Employee
Xilinx Employee
10,659 Views
Registered: ‎09-20-2012

Hi @musthafavakeri

 

I have filed CR 910931 and addressed the below issues to factory

 

1. The first warning message has to list the complete hierarchical name of the instance.

2. The hypderlinks in the message window have to be fixed.

 

Thanks,

Deepika.

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)
0 Kudos
Reply
musthafavakeri
Explorer
Explorer
10,649 Views
Registered: ‎07-01-2015

Hi Deepika,

I am very thankful to you. It worked. You explained it very well.

 

Thanks,

Musthafa

0 Kudos
Reply
arhoufiry
Visitor
Visitor
2,266 Views
Registered: ‎02-04-2018

Can you please confirm what the solution is?

Did you just set the IOB property to FALSE?

0 Kudos
Reply