分享

FPGA学习历程(Ex):Quartus Warning收录(不定期更新)

 依米大人 2022-06-21 发布于北京

一、通解——查找官方手册

  在编译信息栏给出的 Warning 或者 Error 条目中选中指定的Warning 或者 Error 后按下 F1 就能打开 官方手册(咱这里使用的 Quartus II 软件版本为 13.1),在里面检索对应的 错误编号就能找到相关的问题说明与解决问题的建议(虽然可能并不能看明白它到底想表达什么)。
在这里插入图片描述

二、特解——个人向警告报告记录

2.1 Critical Warning,编号332012(332148)

  原文:Critical Warning (332012): Synopsys Design Constraints File file not found: 'top.sdc’. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.

  翻译:严重警告(332012):Synopsys Design Constraints File not found: 'top.sdc’。TimeQuest 定时分析器需要 Synopsys 设计约束文件来获得适当的定时约束。没有它,编译器就不能正确地优化设计。

  原因说明:该电路没有时序约束文件。在 Quartus II 13.0 和之后的版本,软件都默认要求开发者提供时序约束文件,如果没有提供,就会给出 “332012” 警告。再者,如果没有提供,软件会自动按照 1GHz 的要求来进行编译,时序要求如果达不到了,就会得到“332148”警告

  解决:还没到 “332148” 的程度就凑合着用吧,且暂时还不会写约束,先建个空白的 SDC 文件晾在一边,会了再来返工。

时序约束相关内容已收录在博客 FPGA学习历程(三):HC05串口通信与SDC 中的第五节。

2.2 Warning,编号169177

  原文:Warning (169177): 2 pins must meet Altera requirements for 3.3-, 3.0-, and 2.5-V interfaces. For more information, refer to AN 447: Interfacing Cyclone IV E Devices with 3.3/3.0/2.5-V LVTTL/LVCMOS I/O Systems.
  Info (169178): Pin sys_clk uses I/O standard 3.3-V LVTTL at G1
  Info (169178): Pin sys_rst_n uses I/O standard 3.3-V LVTTL at E4

  翻译:警告(169177): 2 引脚必须满足 Altera 要求3.3-,3.0-,和2.5 v接口。有关更多信息,请参阅 a 447: 3.3/3.0/2.5 v LVTTL/LVCMOS I/O 系统接口 Cyclone IV E 设备。
  Pin sys_clk 在 G1 使用 3.3 v LVTTL 标准 I/O
  Pin sys_rst_n 在 E4 使用 3.3 v LVTTL 标准 I/O

  原因说明:官方手册中居然没有收录这个警告!这个只是针对 Cyclone IV E 器件,要求设计者注意器件电平匹配的连接方法,而且还不能消除掉…

2.3 Warning,编号292013

  原文:Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature.

  翻译:功能 LogicLock 只有在获得有效的订阅许可证时才可用。您可以购买软件订阅以获得对该功能的完全访问权。

  原因说明:懂得都懂,想用?掏钱。

2.4 Warning,编号15714

  原文:Warning (15714): Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details.

  翻译:一些引脚有不完整的 I/O 分配。有关详细信息,请参阅I/O作业警告报告。

  原因说明:此警告主要是因为分配I/O引脚时,采用了默认的参数,主要是用来提醒懒人的,养成良好的设计习惯,一定要仔细对每一个管脚进行计算后,设置合理的参数,而不是简单用个默认值来搪塞。

  解决:打开Pin Planner,选择 Current Strength 和 Slew Rate 的参数,将默认值改成非默认值。

2.5 Warning,编号15058

  原文:Warning (15058): PLL “pll:pll_m0|altpll:altpll_component|pll_altpll: auto_generated|pll1” is in normal or source synchronous mode with output clock “compensate_clock” set to clk[0] that is not fully compensated because it feeds an output pin – only PLLs in zero delay buffer mode can fully compensate output pins.

  翻译:PLL“PLL:pll_m0|altpll:altpll_component|pll_altpll:auto_generated|pll1” 处于正常或源同步模式,输出时钟 “compensation ate_clock” 设置为 clk[0],因为它提供了一个输出引脚,所以没有完全补偿——只有在零延迟缓冲模式下的PLL才能完全补偿输出引脚。

  原因说明:指定的锁相环处于正常或源同步模式,并有指定的补偿输出时钟馈送输出引脚。因此,输出引脚将不会得到完全补偿,因为只有在零延迟缓冲模式下的锁相环才能完全补偿输出引脚。

  解决:如果不想补偿指定锁相环的输出引脚,可以不用理会这个警告,或者设置锁相环为无补偿模式来避免这个警告。如果要补偿另一个寄存器,则可以使用 COMPENSATE_CLOCK 参数来指定指定的时钟输出,或者设置 PLL 为零延迟缓冲模式来完全补偿输出引脚(没错来自官方手册的说明就是这么复杂)。

2.6 Warning,编号15064

  原文:Warning (15064): PLL “pll:pll_m0|altpll:altpll_component|pll_altpll: auto_generated|pll1” output port clk[0] feeds output pin “clk_25m~output” via non-dedicated routing – jitter performance depends on switching rate of other design elements. Use PLL dedicated clock outputs to ensure jitter performance.

  翻译:PLL " PLL:pll_m0|altpll:altpll_component|pll_altpll:auto_generated|pll1" 输出端口 clk[0] 通过非专用路由馈送输出引脚 “clk_25m~output” —— 抖动性能取决于其他设计元素的切换速率。使用锁相环专用时钟输出以确保抖动性能。

  原因说明:PLL 的输出用在了非专属的 PLL_OUT

  解决:设计电路板的时候最好将 PLL_OUT 用在相关的时钟信号上,如果没有使用,则这个警告不理会也可。

2.7 Critical Warning,编号35025

  原文:Critical Warning (35025): Partially connected in-system debug instance “auto_signaltap_0” to 171 of its 299 required data inputs, trigger inputs, acquisition clocks, and dynamic pins. There were 0 illegal, 0 inaccessible, and 128 missing sources or connections.

  翻译:编译器无法完全连接信号Tap逻辑分析仪或其他系统内调试实例,因为某些连接无效或不可用。

  原因说明:Signal Tap II 那边的连接问题,酌情自行处理。

  解决:把 Signal Tap II 那边的探针接好,或者连根拔起。

2.8 Critical Warning,编号332168

  原文:Critical Warning (332168): The following clock transfers have no clock uncertainty assignment. For more accurate results, apply clock uncertainty assignments or use the derive_clock_uncertainty command.

  翻译:下列时钟传输没有时钟不确定性分配。要获得更精确的结果,请应用时钟不确定性分配或使用 derive_clock_uncertainty 命令。

  原因说明:说到底还是约束问题。

  解决:在 Timing Analyzer 中打开 SDC 的时钟网表后,宣布选择菜单栏 Constraints ⟶ \longrightarrow ⟶ Derive Clock Uncertainty… ⟶ \longrightarrow ⟶ 勾选 overwrite 一栏并更新 SDC 文件。

2.9 Warning,编号13024

  原文:Warning (13024): Output pins are stuck at VCC or GND.

  翻译:输出引脚被卡在 VCC 或 GND。

  原因说明:在设计文件中输出引脚被最小化到 VCC 或 GND。这种情况可能是在逻辑综合过程中执行的优化过程的结果。

  解决:如果是在代码中刻意为之就不用管,不是的话就要仔细检查代码了。

2.10 Warning,编号332056

  原文:Warning (332056): PLL cross checking found inconsistent PLL clock settings.

  翻译:锁相环交叉检查发现不一致的时钟设置。

  原因说明:这是一个用于函数输出的通用警告消息,无需理会(???)。

2.11 Warning,编号332060

  原文:Warning (332060): Node: sd_ctrl_top:sd_ctrl_top_inst|sd_init:u_sd_init|div_clk was determined to be a clock but was found without an associated clock assignment.

  翻译:Node: sd_ctrl_top:sd_ctrl_top_inst|sd_init:u_sd_init|div_clk被确定为一个时钟,但是发现没有关联的时钟分配。

  原因说明:在使用 SDC 做了时钟约束但是在设计中又自行对已有的时钟进行了分频使用,而又没有在 SDC 文件中指明这也是个时钟并做约束的时候可能会弹出这个警告。

  解决:官方手册上给出的建议是在 SDC 文件里使用 derive_clocks 命令自动找到设计中的所有时钟节点。但实际上只要不影响使用放着不管也行。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多