关于FPGA中的警告:Critical Warni…

在使用quartus ii进行FPGA开发时,遇到如下警告信息:
Critical Warning: Synopsys Design Constraints File file not found: 'CMTT.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.

实际上这个警告并不影响我的程序的运行,但是还是查找了一下相关的信息,来解决这个问题。

言归正传,对这个问题的分析要从问题开始,什么sdc文件?

Sdc文件即Synopsys Design Constraints File。翻译成中文是混合信号仿真设计限制文件。从字面意思我们就可以知道是缺少限制文件。再结合稳重提到的TimeQuest Timing Analyzer可以更加肯定,后文中也给出TimeQuest Timing Analyzer to get proper timing constraints.


好了,知道问题的症结所在,我们就可以下手来解决问题了

我们要做的就是利用TimeQuest Timing Analyzer来添加时序约束。如下图所示

关于FPGA中的警告:Critical <wbr>Warning: <wbr>Synopsys <wbr>Design <wbr>Constraints <wbr>File <wbr>file <wbr>not <wbr>found:
打开后界面如下图所示。
关于FPGA中的警告:Critical <wbr>Warning: <wbr>Synopsys <wbr>Design <wbr>Constraints <wbr>File <wbr>file <wbr>not <wbr>found:
好开始干正事了。
点击菜单栏 Netlist Create Timing Netlist,弹出的菜单中使用默认设置,点击 OK 便可。
接着进行时钟约束,点击菜单栏 ConstraintsCreate Clock。 Clock name 是我们随便给约束的
信号起的名字,没有特别限制; Period 为时钟周期,我们的时钟晶振是 50MHz 的,即 25ns;
Targets 选择实际被约束的时钟引脚,点击改行最后面的按钮可以选择相应的引脚信号; SDC
command 无须设置,自动根据前面的设置生成, Waveform edges 也无须设置,我们采用默
认设置,即 0ns 时钟上升, 20ns 下降。点击 Run 完成约束设置。
关于FPGA中的警告:Critical <wbr>Warning: <wbr>Synopsys <wbr>Design <wbr>Constraints <wbr>File <wbr>file <wbr>not <wbr>found:
设置完时序约束文件,当时要更新他啦。接下来,我们要依次点击主界面右下方 task 栏里的 Update Timing Netlist和 Write SDC File选项,弹出的 Write SDC File 窗口如图所示,我们更改 SDC file name 为CMT.sdc,接着点击 OK。(大家习惯的都是把文件名字设成与工程名字一样的关于FPGA中的警告:Critical <wbr>Warning: <wbr>Synopsys <wbr>Design <wbr>Constraints <wbr>File <wbr>file <wbr>not <wbr>found:
关于FPGA中的警告:Critical <wbr>Warning: <wbr>Synopsys <wbr>Design <wbr>Constraints <wbr>File <wbr>file <wbr>not <wbr>found:
好了设置完成了,我们可以去,查看一个叫做CMT.sdc的文件了(其实就是我们之前生成的时序约束文件)。打开看看有什么?没错就是下面这句话
create_clock -name {CLK} -period 25.000 -waveform { 0.000 12.500 } [get_ports {CLOCK}]
好了,基本上就是这个样子了
回到工程,重新编译,问题解决啦!!

备注:其实TimeQuest Timing Analyzer是给我们提供一个GUI形式的语言编辑,我们通过设置对应的参数值,让它帮我们生成语言。不过其实想sdc文件中的那句话是属于tcl语言的。我们完全可以自己学习一下,不通过TimeQuest Timing Analyzer,而是直接自己编写语言。有兴趣的可以自己查一下,这里就不再多说啦,

本文的编辑参考特权同学《SF-CY3 FPGA 套件开发指南》的5.1.5节里面有更详细的讲解。有兴趣的可以去看一下。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值