ERROR: [Constraints 18-642]

部署运行你感兴趣的模型镜像

https://china.xilinx.com/support/answers/62761.html

AR# 62761

Vivado 2014.3 : ERROR: [Constraints 18-642] Placement is not routable as design contains luts and/or flops

 

描述

My design is completely routed in Vivado 2014.1 without any error.

Vivado 2014.3 returns an error at placement and fails implementation.

 

 ERROR: [Constraints 18-642] Placement is not routable as design contains luts and/or flops whose data pins are driven by global clock signals and final placement is such that the number of such signals exceed the maximum allowable in a single tile. Only a maximum number of 5 distinct global clocks can drive data pins of SLICE resources in a single tile. The following clock nets need to be routed to non-clock pins in tile CLBLL_L_X2Y58: 
delay_clk_gen_inst_1/inst/clk_out3, delay_clk_gen_inst_1/inst/clk_out5, delay_clk_gen_inst_1/inst/clk_out4, delay_clk_gen_inst_1/inst/clk_out2, delay_clk_gen_inst_1/inst/clk_out6, delay_clk_gen_inst_1/inst/clk_out7, and delay_clk_gen_inst_1/inst/clk_out1 
ERROR: [Constraints 18-646] Placement is not routable. The following cell(s) are grouped together and are placed in one single tile. The total number of clocks on non-clock pins of these cells is greater than 5, therefore, placer is not able to legalize the design to satisfy the suggested number of clocks that can drive non-clock pins in a single tile. Please modify the design such that each cell has at most 2 clocks driving its non-clock pins. Also, if one or more cells should be grouped together and placed in one tile, make sure the total number of such clocks does not exceed the maximum suggested.

解决方案

 

The feasibility check can be overly restrictive. 

The routability of non-clock pins from global resources is complicated and the feasibility check is set at a conservative level to guarantee routability.

 

The following parameter has been added in the 2015.1 release to override the limit: 
 

set_param place.skipGFANChecks true

 

Use of this parameter will not guarantee routability, but will allow you to attempt it. 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think> 首先,用户的问题是关于Innovus工具的报错:"ERROR: (IMPCCOPT-2004): Cannot run CCOpt as no clock trees are defined." 用户提到参考了站内引用[1],但那个引用是关于另一个命令的,所以我要基于用户当前的问题和我的知识来回答。 用户说:"上述引用仅供参考",所以我不能直接复制那个引用,而是要专注于理解这个错误。 错误信息的意思是:无法运行CCOpt命令,因为没有定义时钟树。CCOpt是Clock Concurrent Optimization的缩写,用于时钟树优化。 在Innovus流程中,CCOpt是一个关键步骤,它在时钟树合成后进行时序优化。如果在运行CCOpt之前没有定义时钟树,工具就会抛出这个错误。 步骤回顾: 1. 在Innovus中,时钟树需要通过定义时钟规范(clock specification)或运行时钟树合成(clock tree synthesis,CTS)来创建。 2. CCOpt命令需要在时钟树已经定义后才能运行。 原因可能包括: - 没有运行CTS命令。 - CTS命令运行失败,导致没有时钟树被定义。 - 时钟定义不正确。 解决步骤: 1. 确保时钟树已经定义:运行`clockDesign`或`ccopt_design`(ccopt_design通常包括CTS和优化)。 2. 如果手动调整过时钟单元位置,需要使用正确的命令来定义时钟树。 响应结构: - 开头解释错误含义。 - 然后提供原因和解决步骤。 - 最后,按照系统指令,生成相关问题。 系统指令要求: - 所有行内数学表达式用$...$格式。 - 独立公式用$$...$$,但这里可能不需要公式。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾添加引用标识。用户提供了引用[^1],但我应该基于内容引用。 用户提到:"参考站内引用:引用[1]:innovus:手工做tree如何route clock tree... [^1]",所以在我的回答中,如果需要引用类似的内容,可以添加[^1],但这次错误不同。 用户的问题是关于CCOpt的错误,引用是关于另一个命令的,所以或许不需要直接引用。但系统指令说"回答中引用的段落末尾自然地添加引用标识",所以我如果提到相关内容,可以引用。 在我的回答中,我会解释错误,并提供解决方案。如果需要引用标准流程,可以添加引用。 最后,生成相关问题。 响应大纲: 1. 解释错误含义:这个错误表明在尝试运行CCOpt时,Innovus工具检测到没有定义任何时钟树。 2. 常见原因: - 没有运行时钟树合成(CTS)。 - CTS失败。 - 手动调整后没有重新定义时钟树。 3. 解决步骤: - 确保运行`ccopt_design`或类似的CTS命令。 - 如果手动调整位置,可能需要使用`route_ccopt_clock_tree_nets`或定义时钟树。 4. 生成相关问题。 </think> ### Innovus报错ERROR: (IMPCCOPT-2004): Cannot run CCOpt as no clock trees are defined.的含义 在Innovus工具中,报错`ERROR: (IMPCCOPT-2004): Cannot run CCOpt as no clock trees are defined.`表示工具无法执行CCOpt(Clock Concurrent Optimization)命令,因为当前设计中未定义任何时钟树。CCOpt是时钟树优化阶段的关键命令,用于在时钟树合成(Clock Tree Synthesis, CTS)后进行时序优化、功耗降低和时钟偏差调整。如果Innovus在运行CCOpt时检测不到有效的时钟树定义,就会触发此错误。 #### 错误的主要原因 1. **未运行CTS命令**: 在运行CCOpt之前,必须先执行时钟树合成(例如`ccopt_design`或`clockDesign`命令)。如果跳过CTS步骤,工具就无法构建所需的时钟树结构。 2. **CTS失败或未完成**: 即使运行了CTS命令,如果合成过程失败(如由于约束错误、资源不足或违规),时钟树可能未正确生成。 3. **手动调整后未重新定义时钟树**: 在手工调整时钟单元(clock cell)位置后(如您参考的站内引用[^1]所述),必须重新定义时钟树或使用特定命令(如`route_ccopt_clock_tree_nets`)来更新时钟树状态。否则,Innovus会认为时钟树未定义[^1]。 4. **设计约束问题**: 时钟规范(clock specification)未正确定义,例如时钟源端口未标记、时钟域配置错误或SDC(Standard Design Constraints)文件缺失。 #### 解决步骤 以下是处理此错误的推荐流程(基于Cadence Innovus标准流程),确保逐步执行以避免遗漏: 1. **检查时钟树状态**: 在Innovus Tcl控制台中运行命令检查时钟树是否已定义: ```tcl report_clock_trees ``` 如果输出显示“No clock trees defined”,则确认错误原因。 2. **运行或重新运行CTS**: 执行时钟树合成命令来定义时钟树: ```tcl ccopt_design ``` 或使用传统命令(如果适用): ```tcl clockDesign -noCCOpt ``` 确保CTS成功完成(查看日志文件确认无错误)。 3. **手工调整后的处理**: 如果进行了手工调整(如移动clock cell位置),优先更新时钟树定义: ```tcl route_ccopt_clock_tree_nets ``` 如果仍报错类似“Cannot run ‘route_ccopt_clock_tree_nets’ as no clock trees are defined”,则需先运行`ccopt_design -cts`来初始化时钟树[^1]。 4. **验证约束和设计**: - 检查SDC文件是否正确加载(使用`report_sdc`命令)。 - 确认时钟源端口已定义(例如,使用`create_clock`命令)。 - 运行`checkDesign`检查设计完整性。 5. **重新运行CCOpt**: 在确保时钟树存在后,执行优化命令: ```tcl ccopt_design -postCTS ``` 如果问题持续,检查工具版本兼容性或日志文件中的详细警告(如IMPCCOPT系列错误代码)。 #### 注意事项 - 这个错误通常在物理实现流程中出现,例如在布局后优化阶段。 - 手工调整时钟树会增加风险,建议优先使用自动化命令以减少此类错误[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值