Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Cons

在使用quartus ii进行FPGA开发时,遇到如下警告信息:
Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Constraints File is requiredby the TimeQuest Timing Analyzer to get proper timing constraints.Without it, the Compiler will not properly optimize thedesign.

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


言归正传,对这个问题的分析要从问题开始,什么sdc文件?
Sdc文件即Synopsys DesignConstraintsFile。翻译成中文是混合信号仿真设计限制文件。从字面意思我们就可以知道是缺少限制文件。再结合稳重提到的TimeQuestTiming Analyzer可以更加肯定,后文中也给出TimeQuest Timing Analyzerto get proper timing constraints.


好了,知道问题的症结所在,我们就可以下手来解决问题了
我们要做的就是利用TimeQuest TimingAnalyzer来添加时序约束。如下图所示
打开后界面如下图所示。
Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Cons_第1张图片
好开始干正事了。
点击菜单栏Netlist Create Timing Netlist,弹出的菜单中使用默认设置,点击 OK便可。
接着进行时钟约束,点击菜单栏 Constraints?Create Clock。 Clock name 是我们随便给约束的
信号起的名字,没有特别限制; Period 为时钟周期,我们的时钟晶振是 50MHz的,即 25ns;
Targets 选择实际被约束的时钟引脚,点击改行最后面的按钮可以选择相应的引脚信号; SDC
command 无须设置,自动根据前面的设置生成, Waveform edges 也无须设置,我们采用默
认设置,即 0ns 时钟上升, 20ns 下降。点击 Run 完成约束设置。

Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Cons_第2张图片
设置完时序约束文件,当时要更新他啦。接下来,我们要依次点击主界面右下方 task 栏里的Update Timing Netlist和 Write SDC File选项,弹出的 Write SDC File窗口如图所示,我们更改 SDC file name 为CMT.sdc,接着点击OK。(大家习惯的都是把文件名字设成与工程名字一样的
Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Cons_第3张图片
好了设置完成了,我们可以去,查看一个叫做CMT.sdc的文件了(其实就是我们之前生成的时序约束文件)。打开看看有什么?没错就是下面这句话
create_clock-name {CLK} -period 25.000 -waveform { 0.000 12.500 } [get_ports{CLOCK}]
好了,基本上就是这个样子了
回到工程,重新编译,问题解决啦!!


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


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

你可能感兴趣的:(FPGA,QuartusII,quartus,静态时序分析,时序约束)