学习日志之synthesis and optimization(3)——scheduling

scheduling的任务是在硬件运行的时候优化操作的先后执行顺序,因为在执行的时候会有很多各种各样的限制,包括数据上的dependence以及各各种各样的时间上的限制,但是为了追求运行速度需要尽可能多的并行操作运行,所以这个问题又被分为了好几个小问题,对这几个问题要解决,首先就需要对问题进行描述:

> 没有约束时的调度

> 有时间约束的调度

> 有运算资源约束的调度

> 在有时间限制情况下的最小资源使用的调度

首先要解决的是最基础的问题,即没有约束下调度的方法,这里我们需要达成的目标是在最开始的操作和最后一个操作起始时间之间的这一段时间达到最小

需要对各种变量和参数进行定义,并且设定一些理想条件

  1. 令sequencing graph 是一个非循环图,即从上到下执行不会有任何循环转跳G_{s}\left ( V,E \right )
  2. 上条中V为节点向量,表示这个图中所有的节点V=\left \{ v_{i};i=0,...n \right \},而E代表的是连接两个节点的边E=\left \{ \left ( v_{i},v_{j} \right );i\neq j;i,j=1,...,n \right \}
  3. 每两个操作之间都有操作延迟D=\left \{ d_{i}; i=0,...,n \right \},这个延迟是事先给出来的,并且第一个节点和最后一个节点本身都是不没有操作延迟的因为不做事,即d_{0}=0,d_{n}=0
  4. 每个操作v_{i}开始的时间为T=\left \{ t_{i}; i=0,...,n \right \}

然后根据常识可知道无约束的时候下一个操作开始执行的时间只要大于或等于前一个开始的时间加上前一个操作因为执行而延迟的时间即可:

t_{i}\geq t_{j}+d_{j}

其中\left ( v_{i},v_{j} \right )\in E

有了这些只后就可以开始描述问题了,对于无约束调度可以描述如下:

已知V,D,E,找一个调度的顺序,使得满足上面的条件,并且最顶端到最低端的用时最短。

解决这个问题有两种方式一种是ASAP另一种是ALAP

ASAP(as soon as possible)是先设最顶端的操作开始于t=0,然后中间的节点选取父节点都已经调度完的放在同一个时间并行执行,执行开始的时间是度父节点中开始最晚的开始时间加上父节点操作延迟时间,伪代码如下:

调度的结果如下两图所示:

另一种调度方式是ALAP(as late as possible)其过程是反过来的,调度的时候是先设置子节点,而中间选取的是子节点全都调度完的节点,伪代码如下所示,其中\bar{\lambda}是latency的上限,第一个节点和最后一个节点开始时间不能超过这个数:

经过调度的结果如下所示:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "constraining design for synthesis and timing analysis" 可以翻译为“约束设计用于综合和时序分析”。在硬件设计中,综合是将高级语言描述的设计转化成可实现的电路结构的过程,而时序分析是用于确保电路中的信号在正确的时间到达目标时刻的过程。 约束设计是指在进行综合和时序分析时对设计进行一系列的约束设定,以保证设计在性能、功耗、时序等方面达到预期目标。这些约束包括时钟频率、时序关系、时钟域划分、时序保持要求等。 综合是将高级语言描述的设计转化为逻辑门级的电路结构,以实现设计的功能。在综合过程中,约束设计起着重要的作用。通过设定约束,可以调整电路中的逻辑结构,使得电路在满足性能要求的同时具有最小的功耗或面积。 时序分析是用于验证电路的时序要求是否能够满足的过程。在时序分析中,约束设计同样起着关键的作用。通过设定时序约束,可以确保电路中的各个信号在正确的时间达到目标时刻。时序约束包括设置时钟频率、时序关系,以及对数据路径和时钟域的约束等。 因此,约束设计对于综合和时序分析是至关重要的。它不仅可以保证设计在实现过程中达到预期目标,还可以提高电路的性能和可靠性。对于复杂的设计,合理的约束设计可以显著提高设计的成功率,减少开发周期。因此,在硬件设计中,约束设计是一个不可忽视的关键步骤。 ### 回答2: “constraining design for synthesis and timing analysis” 可以翻译为“针对综合和时序分析的设计约束”。 在设计电子系统中,综合和时序分析是非常重要的步骤。综合是将高级语言描述的电路设计转化为逻辑门级的表示,而时序分析则用于保证电路在特定时钟频率下的正确性。 设计约束通常起到限制和指导综合和时序分析过程的作用。通过定义适当的约束,可以确保综合工具正确地转化设计,同时可以检测和解决时序问题。 在综合过程中,设计约束可包括时钟频率、数据通路、引脚分配、逻辑优化等方面。通过设置正确的约束,可以对综合工具进行指导,使其生成满足时序和功能要求的设计结果。 而在时序分析中,设计约束则指定了电路中的时序要求,例如最大延迟、最小延迟、时钟抖动等。通过正确设置约束,可以验证电路的时序正确性,预测潜在的时序问题,并提早发现和解决。 总之,设计约束对于综合和时序分析是不可或缺的。它们为设计工程师提供了一种有效的方式来控制综合工具的行为,并确保最终的电路设计在正确的时钟频率下能够正常工作。 ### 回答3: "Constraining design for synthesis and timing analysis" 的中文翻译是: 约束设计的合成和时序分析。 在集成电路设计过程中,合成是将高级语言描述的电路设计转换为门级网表的过程。为了确保合成后的电路能够满足设计要求,需要对电路设计进行一系列约束设置,即约束设计。这些约束可以包括时钟频率、延迟、面积等因素。约束设计将帮助合成工具在转换过程中正确地优化电路结构和功能。 在合成完成后,需要进行时序分析以确保电路在实际运行时能够满足时序要求。时序分析用于检测潜在的时序问题,如时钟偏差、操作间隔限制等。为了有效进行时序分析,需要在合成时针对时序要求进行相应的约束设置,并在分析时使用这些信息。 "Constraining design for synthesis and timing analysis" 主要包括两个方面,即合成和时序分析。合成通过约束设计来确保电路在转换过程中能够满足设计要求,而时序分析则通过约束设置来保证电路在实际运行时能够满足时序要求。这两个过程是集成电路设计中非常重要的环节,能够帮助提高电路的性能和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值