DC学习(5)基本时序约束

参考http://www.cnblogs.com/IClearner/p/6624722.html,写得很好

一:时序约束

1:分类

  时钟的约束(寄存器-寄存器之间的路径约束),输入延时的约束,输出延时的约束

2:时序约束对电路的要求

  综合工具现在不能很好地支持异步电路,甚至不支持异步电路;

  single clock,single cycle,单个时钟,单延触发,不要一会posedge,一会negdege

3:同步电路常见结构

  

  具体路径如下图

  

  起点定义:

    输入端口;(input port)

    触发器或寄存器的时钟引脚

  输出端口:

    输出端口;

    时序器件的除时钟引脚外的所有输入引脚

  如在下面这个电路图中:

  

  有4条路径:

      *从输入端口A到FF1的D端口

      *从FF1的CLK端到FF2的D端

      *从FF2的CLK端到输出端口out1

      *从输入端口A到输出端口out1

   路径的特性是存在延时,也就是说,路径1、2、3、4都存在有延时,延时最长的一条路径称为关键路径。一般情况下,路径1、2、3是最常见的,路径4比较少见。

二:常见的时序路径约束

1:建立时间,保持时间,亚稳态

  *建立时间: 时钟有效沿到来之前的某段时间内,数据必须稳定,否则触发器锁存不住数据,这段时间称为建立时间,用Tsetup或者Tsu表示

  *保持时间:   时钟有效沿到来之后的某段时间内,数据也必须稳定,否则触发器锁存不住数据。这段时间称为保持时间,用Thold或者Th表示

  

  在第二个时钟上升沿的时候,要锁存住输入端D的高电平,D1是满足了建立时间和保持时间的情况;而D2则是建立时间没有满足,因此不能成功锁存住输入的高电平;D3保持时间不满足,也不能成功锁存输入的高电平。

  *亚稳态:每个触发器都有其规定的建立(setup)和保持(hold)时间参数,该参数存放在由半导体厂商所提供的工艺库中。假如触发器由时钟的上升沿触发,在这个时间参数内,输入信号是不允许发生变化的。否则在信号的建立或保持时间中对其采样,得到的结果是不可预知的,有可能是0或者1,即亚稳态。

2:路径2寄存器到寄存器间的约束(从FF1的CLK端到FF2的D端)

     为什么要约束时序路径?是为了满足寄存器的建立时间和保持时间。对于路径2,数据从FF1的D端口传输到FF2的D端口,主要需要经历触发器的翻转时间/转换延时、寄存器与寄存器之间的组合逻辑延时、连线延时这些种延时。因为数据是随着时钟的节拍一拍一拍往后传的,因此这里的寄存器与寄存器之间的路径约束,就是对时钟的建模,或者是说对时钟的约束。下面进行说明

  为了满足FF2建立时间的要求,也就是数据从FF1的CLK端口到达FF2的D端口再加上FF2的建立时间,不能超过时钟周期;也就是说(触发器的翻转时间/转换延时、寄存器与寄存器之间的组合逻辑延时、连线延时这些种延时)不能过大。例如:

  

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在数字电路设计中,时序约束是指规定设计中各个电子元件之间的时序关系,确保信号在正确的时间到达目标电路。在设计中,我们可以通过以下方式来为DC加上时序约束。 首先,我们可以使用时序约束语言来描述时序约束。常用的时序约束语言包括SDC(Synopsys Design Constraints)和SDF(Standard Delay Format)。通过使用时序约束语言,可以将时序要求以编程的方式指定给DC工具。 其次,我们需要确定输入输出端口时序要求。这包括输入数据到达时间、输出数据保持时间以及时钟频率等。通过合理设置这些要求,可以确保数据在正确的时间内到达或保持。 接下来,我们还需要确定电路中各个寄存器之间的时序关系。这可以通过使用时钟时序图来描述。时钟时序图可以指定寄存器之间的时钟偏斜、时钟上升沿或下降沿到达时间的限制等。 另外,我们还可以使用时序分析工具来检查时序约束是否满足。时序分析工具可以分析设计中的信号路径,并计算出信号的延迟时间。通过与时序约束进行比较,可以判断是否满足时序约束,并及时发现设计中的问题。 最后,我们可以使用时序优化技术来优化电路的时序性能。时序优化可以通过改变电路的结构、调整时钟布线或改进寄存器的时序性能等方式来改善电路的时序性能。 总之,通过合理设置时序约束、使用时序约束语言、时序分析和优化等方法,我们可以为DC添加时序约束,并确保电路满足时序要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值