如何创建SDC文件(初学者)

一、什么是时序约束

        用来描述设计人员对于时序设计的要求,比如时钟频率,输入输出的延时等。设计者需要告诉 EDA 工具,设计中所使用的时钟的频率是多少,然后工具才能按照所要求的时钟频率去优化布局布线,使设计能够在要求的时钟频率下正常工作。一般只用对输入时钟做约束

二、什么时候需要做时序约束

        要根据工程复杂度来进行确定,对于功能比较简单,时钟频率比较低(如流水灯,数码管,蜂鸣器等)不用做时序约束,对于网口通信,千兆网通信等时钟要求比较高的工程,则需要进行时序约束;

        当工程占用芯片逻辑资源较多的时候,尽管此时时钟频率仍然不是很高,但也要做时钟约束;

        当功能出错且是由于时序不满足导致的时候。

三、建立时间与保持时间

(1)建立时间(Tsu:setup)

        假设是时钟上升沿触发,则建立时间是指在时钟上升沿来到之前,数据必须要保持的状态的最低时间,如果建立时间不够,则在时钟上升沿到来时数据不能正常被传输。

(2)保持时间(Th:hold)

        同样假设是时钟上升沿触发,保持时间是指在时钟上升沿到来之后,数据必须要保持状态的最低时间,如果保持时间不够,数据同样不能被正确传输。

四、为什么要做时序约束

        即使对于同一个时钟输入,由于各器件布局位置不同,导致时钟输入到器件接受有时延,出现竞争冒险。时钟约束则优先保证时延最小来进行布线,但这可能会牺牲一些面积。

五、如何创建时序约束

打开工程,点开编译报告

展开Time Analyzer(18.1版本以下见图)红色部分则表示时序不满足,我们这里主要关注sys_clk,

创建时序约束(方法一)

点击file——new, 会出现下面的界面,点击Synopsys Design Constraints Files创建时序约束文件,在文本编辑窗口进行时钟编辑

创建时序约束(方法二)

点击Tools, Timing Analyszer,出现以下界面,点击netlist ,Creating timing netlist, 选择post-may ,点击ok

点击Constrains——creat clock,输入各参数

点击时钟目标target,列表,添加需要的端口

点击run ,双击弹出界面的write sdc file,然后点击OK,这样就生成了SDC文件

##本博客参考正点原子视频,如有侵权,请联系删除

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值