时序问题

时钟采样之前数据存在的时间称为建立时间,时钟之后 的称为保持时间,建立时间和保持时间是d触发器的物理属性,不可通过设计更改。

一个寄存器1的输出经过组合组合逻辑连接到下一个寄存器2的输入,寄存器延时+组合逻辑延时+寄存器2的建立时间=最小的时钟周期,决定了寄存器能跑的最高频率。

寄存器延时和建立时间都是固定的,唯一提高时钟频率的方法是减小组合逻辑延时。多个寄存器级联,组合逻辑延时最长的路径决定了系统的频率,称为关键路径。关键路径的组合逻辑可以优化,也可以应用流水线的方法进行优化

编译,filtter 然后timequest timing  analyze ,双击create timing netlist,constrains,create clock,填好参数后,点击targets,get ports的list,选择时钟,run。点击reports all summaries,report里有红色的说明不满足,可以点击report top failing paths,则显示不满足的路径。当不满足时钟时,可以调小时钟,file打开,可以constrains下write sdc file,下次直接修改sdc文件。constrains下read sdc file,reports all summaries。

时序约束分为时钟、input delays 、output delays、时序例外四个步骤。对于不同的情况有不同的约束方法。

当建立时间和保持时间不满足时,即出现亚稳态。当时序不满足时,不同时钟域的信号,按键、外部芯片读写等容易出现亚稳态。

减少亚稳态的方法如下:对1bit信号,建议用同步机制,打2拍,甚至是3拍。对于多bit数据流,建议用异步fifo。对于少量的外部的接口信号,发送可控的数据流,建议通过增加指示信号的方法。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值