前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇静态资源优化方案范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
基于对互联网需求的深入挖掘和分析,网宿科技在2010年5月正式对外宣布推出自主研发的DAA动态应用加速技术,成为国内唯一一家可以提供动态应用加速的服务提供商。据了解,该技术可以在传输的各个环节,如协议、路由、应用等多个方面进行优化,在网络波动时,传输效率提升180%以上。
网宿全站加速解决方案(WSA- Whole Site Accelerator)对含有动态内容的互联网网站具有明显的加速效果,满足网络访问速度及稳定性、安全性等多种需求,能为客户构建高效服务网站。
此方案创新性地提出了“全站加速”的概念,打破了以往行业内单项加速技术的局面。融合了网宿DAA(应用动态加速)、静态网页加速、源站服务、日志分析、网站质量评测报告、Myview客户服务系统和安全防护等多项产品和技术,对客户网站进行整体加速与实时优化,避开网络拥塞,显著加快访问速度,提高业务成功率,为客户带来最大化利润。同时,WSA可以帮助客户构建极高的安全性和稳定性网站。
网宿WSA全站加速解决方案具有以下优势:
加快用户访问速度,提高访问成功率:WSA加速后,响应时间缩短为不到原来的1/3,加速效果明显。
使用方便:无需域名动静分离,简化网站服务操作,使用简单。
适用性更强:可根据网站网络需求调整网络部署,同时可根据网站业务特点和行业特征调整方案部署。
合理分配流量,轻松应对突发访问:动静态内容混合加速,图片、网页和下载的文件缓存在节点处,可直接提供给用户;动态连接通过DAA加速,传输至源站处理;减轻服务器压力,使网络流量合理传输。
多方位网络安全保障:它部署了分布式、多层次的CDN安全体系。
网宿WSA采用了专用平台、专用服务网络、专用设备和专用服务团队,对网站进行深入分析并提供定制化服务。在内容传输方面,网宿科技与各运营商紧密合作,在各大运营商内均部署了众多WSA应用节点,对客户网站的动态、静态内容进行混合加速,可有效减少网络传输中间环节对最终访问质量的影响。
本文在Globus分层模型设计思想的基础上提出一种优化的网格资源管理模型HRMM(HierarchicalResourceManagementModel),并给出了相应的资源管理算法。为了提高效率,在HRMM的主要模块中运用了GlobusToolkit2.4提供的数据结构和接口。
1HRMM的总体结构
HRMM的设计思想是:动态接收来自用户的作业请求,并为该作业分配符合条件的计算资源,同时提供整个计算过程中有关资源信息的在线反馈,接受用户的在线控制。HRMM的体系结构如图1所示,将计算网格的资源管理任务分为四个层次:作业并行分析、全局资源分配、局部资源分配和本地资源管理。
由图1可见,用户经过GUI(图形用户界面)向HRMM提交作业请求,作业并行分析器接收用户的作业请求,再按最大并行度将作业中的任务划分为若干任务组,提交给全局资源分配器。对多任务组中的每个任务,全局资源分配器在静态资源库中一次搜索多个满足该需求的集群,组成候选集群组提交给局部资源分配器。局部资源分配器在动态资源库中读取候选集群组中每个集群的有关信息,并将相应任务分配给最符合条件的集群。然后,该集群应用本地资源管理器执行任务。在整体上,本地资源管理器每隔一定时间向静态资源库发送静态资源更新信息。另外,局部资源分配器读取动态资源库前,动态资源库会从本地资源管理器读取更新信息。
在这个分层模型中,一方面,用户提交的作业能够以最大的并行度执行,从而高效体现了并行计算的思想;另一方面,选多个集群组成候选集群组,再确定其中某一分配资源的方案,由于综合考虑了任务的静态需求和动态需求,避免重复的查询操作,从而提高了资源分配的效率。
2作业并行分析器
如图1所示,用户经过GUI向作业并行分析器提交作业请求。这个请求包括该作业中所含的多个任务的相关信息、任务间的依赖关系及每个任务的计算资源需求。作业并行分析器分析该作业中的任务及相互关系,根据各任务的依赖关系将作业中的任务划分为不同的任务组,并对每个任务组进行适当描述后提交给全局资源分配器。
2.1作业的拓扑表示
一个作业由一个或多个任务组成。作业的拓扑定义为一个满足如下条件的有向无环图:该图的节点与作业中的任务一一对应;若任务B直接依赖于任务A,则存在一条由节点A到节点B的有向边,称A为B的直接前驱,B为A的直接后继;如果存在一条从A到B的由多条有向边组成的有向通路,则称A为B的前驱,B为A的后继。
图2表示一个作业的拓扑结构。设该作业由标记为A~G的7个任务及其相互关系组成。如图2所示,任务D需要在任务A和B完成后才能开始,而任务G必须在任务正和F完成后才能开始。
为了提高作业的并行执行效率,需要关注任务在拓扑定义中的深度。记任务T的直接前驱集合为Pd(T),则其深度d(T)为:
若Pd(T)=φ,则d(T)=1;
若Pd(T)≠φ,则d(T)=max{d(R)}+1.
R∈Pd(T)
2.2作业的最大并行度划分
作业的并行划分是指:一个作业拆分后形成的一系列对应每个任务、前后有序且相互独立的任务组。一个作业可以有一个或多个并行划分方案,形成该作业对应的并行划分集,记作,I()为中的任务组数。称为作业的最大并行度划分,如果:E∈,且ξ∈。I()≤I(ξ)将作业中的多个任务按照相应的深度进行划分,形成一个最大并行度划分。如图2中的作业,其最大并行度划分为:={(A,B),(C,D,E),F,G}。
3全局资源分配器
全局资源分配器接收到以RSL描述的任务组后,立刻进行分析和解释,获得每个任务的静态资源需求。系统根据每个任务的资源需求在静态资源库中搜索满足条件的多个集群,并将结果提交给局部资源分配器。
3.1静态资源库
系统中的静态资源库采用基于轻量目录访问协议LDAP结构。在HRMM模型中,网格系统的所有静态资源都在LDAP服务器的DIT(目录信息树)中建立了相应的目录项,并用<属性,值>的组合描述各种资源属性。静态资源库选择LDAP可以在性能上带来以下优点:
(1)LDAP专门对读操作进行了优化,在读操作频繁的情况下,可以提高读取效率。
(2)LDAP是跨平台协议
,可在任何计算机上使用。从而增加系统对异构网格环境的适应性。
(3)LDAP服务器支持分布式的结构,静态资源库可访问本地或全局的LDAP服务器,并能很方便地实现同步,即增强资源管理的分布性。
3.2全局资源分配算法
根据任务组中每个任务的静态需求,全局资源分配器在静态资源库中搜索满足需求的集群。在搜索时首先随机选择搜索的起始位置,然后为每个任务分别返回最先发现的N个满足该任务需求的集群,形成候选集群组,并以ClusterList数据结构描述后提交给局部资源分配器;其中ClusterList是用来描述候选集群组的广义表结构,如图3所示。对于任何一个任务,如果只找到K(
4局部资源分配器
局部资源分配器在动态资源库中搜索候选集群组的动态信息,将这些动态信息和从全局资源分配器获得的静态信息相组合并进行综合分析,最终将任务组中的每个任务分配给最适合的集群。
4.1动态资源库
动态资源库中的数据以XML描述,带来如下优点:
(1)XML针对更新操作进行了优化。因此,对于需要不断更新的动态资源库,可有效提高效率。
(2)XML和LDAP在存储结构上都是树状结构,可以很方便地相互转化。用XML描述数据,可使动态资源库和基于LDAP的静态资源库具有更好的耦合性。
(3)XML与平台无关,以XML表示的数据可很方便地被其他程序使用。
4.2局部资源分配策略
局部资源分配器得到候选集群组ClusterList后,从动态资源库获取每个候选集群的动态信息,并将这些动态信息添加到相应集群的静态信息之后,然后将静态资源和动态资源信息相组合,形成集群综合资源信息。设一个集群的动态资源信息为h=[h1,…,hm]T,静态资源信息为t=[t1,…,td]T,其中m和d分别为动态和静态资源描述的字段数,则集群综合信息为υ=[tThT]T=[υ1,…,υp]T,其中P=m+d。如图3所示,集群2,2的综合信息表示为υ2.2。类似地,将任务静态资源需求和动态资源组合,设一个任务的动态资源需求为g=[g1,…,gm]T,静态资源需求为s=[s1,…,sd)T,则综合资源需求为r=[sTgT]T=[r1,…,rp]T。任务i的综合资源需求表示为ri。在确定分配策略时,将只考虑任务的综合资源需求和集群的综合资源信息。
首先,为了任务能够顺利完成,最终被选择的集群必须同时满足任务的静态资源需求和动态资源需求,即满足任务的综合资源需求:
∨i∈[1,n],∨j∈[1,p],Vi,f(i)[j]≥ri[j]
其中,n为任务组中的任务数量,p为向量u/和r的维数,f(i)为任务i的候选集群(即ClusterList中Taski对应的集群链表)中最终被选择集群的序号。因此,首先在ClusterList中删除所有不满足上述条件的集群,并记第i个任务还剩余Ki个符合综合资源需求的候选集群,其中1≤i≤n,1≤Ki≤N。最后,局部资源分配器要为每个任务Taski从Ki个候选集群中选择最合适的一个。综合考虑计算网格的整体资源分配效率,在具体选择集群时采用如下决策机制:
(1)获选集群的综合资源信息应尽量接近相应任务的综合资源需求,避免资源的浪费,即:
(2)获选集群和任务提交节点间的总网络延迟应尽量小,即:
其中tj为全局标识为j的集群的延迟;
(3)HRMM为每个用户规定了计算资源占用量的上限,即:
其中W为该用户对计算资源占用量的上限,且W>0。
综合考虑上述三方面,局部资源分配可以描述为如下二次规划问题:
其中C是可以改变的加权系数,且C>0。由于f(i)为离散值且取值范围有限,因此提出以下优化方法,通过较少的计算来搜索近似的最优解。记候选集群组为ClusterList,则算法表示如下:
STEP1.对每个任务和候选集群,将静态和动态资源信息组合为综合资源信息;
STEP2.删除ClusterList中不满足总和资源需求的集群;
STEP3.,计算每个集群i,j的局部损失Cost[i,j]:=vi,j-ri+C·tij;
STEP4.并行地对Cost的每一列排序,并按从小到大的次序重排ClusterList中的集群链表;
STEP5.如果,则报告不存在满足条件的解,算法结束;
STEP6.∨i∈[1,n],并行计算Cost*:=vi,k-ri+C·ti,k,其中k=aramin(vi,j<vi,1);
STEP7.∨i∈[1,n],并行计算d(i]:=
STEP8.置b:=argmin(d[j]),并删除ClusterList中任务b的集群链表中前k-1个集群节点;
STEP9.如果满足则转STEPl0,否则转STEP6;
STEP10.∨i∈[1,n],将第i个任务分配给ClusterList中相应任务集群链表中的第一个集群,算法结束。
该算法为资源分配查找到了近似的最优解,并在最大程度上利用了资源管理站点所在集群的计算资源,将大部分计算并行化。设资源管理站点所在集群的节点数为户,则该算法在每个节点上的计算复杂度为O(n2n/P)
本文将介绍FPGA的功耗、流行的低功耗功能件以及影响功耗的用户选择方案,并探讨近期的低功耗研究,以洞察高功率效率FPGA的未来趋势。
功耗的组成部分
FPGA的功耗由两部分组成:动态功耗和静态功耗,信号给电容性节点充电时产生动态功耗。这些电容性节点可以是内部逻辑块、互连架构中的布线导线、外部封装引脚或由芯片输出端驱动的板级迹线。FPGA的总动态功耗是所有电容性节点充电产生的组合功耗。
静态功耗与电路活动无关,可以产生于晶体管漏电流,也可以产生于偏置电流。总静态功耗是各晶体管漏电功耗及FPGA中所有偏置电流之和。动态功耗取决于有源电容一侧,因而可随着晶体管尺寸的缩小而改善。然而,这却使静态功耗增加,因为较小的晶体管漏电流反而较大。因此静态功耗占集成电路总功耗的比例日益增大。
如图1所示,功耗很大程度上取决于电源电压和温度。降低FPGA电源电压可使动态功耗呈二次函数下降,漏电功耗呈指数下降。升高温度可导致漏电功耗呈指数上升。例如,把温度从85℃升高至100℃可使漏电功耗增加25%。
功耗分解
下面分析一下FPGA,总功耗的分解情况,以便了解功耗的主要所在。FPGA功耗与设计有关,也就是说取决于器件系列、时钟频率、翻转率和资源利用率。
以Xilinx Spartan-3 XC3S1000FPGA为例,假定时钟频率为100MHz,翻转率为12.5%,而资源利用率取多种实际设计基准测试的典型值。
图2所示为XC3S1000的活动功耗和待机功耗分解图。据报告显示,活动功耗是设计在高温下活动时的功耗,包括动态和静态功耗两部分。待机功耗是设计空闲时的功耗,由额定温度下的静态功耗组成。CLB在活动功耗和待机功耗中占最主要部分,这不足为奇,但其他模块也产生可观的功耗。I/O和时钟电路占全部活动功耗的1/3,如果使用高功耗的I/O标准,其功耗还会更高。
配置电路和时钟电路占待机功耗近l/2,这在很大程度上是偏置电流所致。因此,要降低芯片的总功耗,就必须采取针对所有主要功耗器件的多种解决方案。
低功耗设计
FPGA的设计中使用了多种功耗驱动的设计技术。以Xilinx Virtex系列为例,因为配置存储单元可占到FPGA中晶体管数的1/3,所以在该系列中使用了一种低漏电流的“midox”晶体管来减少存储单元的漏电流。为了减少静态功耗,还全面采用了较长沟道和较高阈值的晶体管。动态功耗问题则用低电容电路和定制模块来解决。DSP模块中乘法器的功耗不到FPGA架构所构建乘法器的20%。鉴于制造偏差可导致漏电流分布范围很大,可筛选出低漏电流器件,以有效提供核心漏电功耗低于60%的器件。
除了融入FPGA设计之外,还有许多设计选择方案影响到FPGA的功耗。下面分析部分这类选择方案。
1 功耗估计
功耗估计是低功耗设计中的一个关键步骤。虽然确定FPGA功耗的最准确方法是硬件测量,但功耗估计有助于确认高功耗模块,可用于在设计阶段早期制定功耗预算。
如图1所示,某些外部因素对功耗具有呈指数的影响;环境的微小变化即可造成预估功耗的重大变化。使用功耗估计工具虽难以达到精准,但仍然可以通过确认高功耗模块来为功耗优化提供极好的指导。
2 电压和温度控制
如图1所示,降低电压和温度均可显着减少漏电流。电源电压降低5%就可降低功耗10%。通过改变电源配置,很容易调整电源电压。目前的FPGA不支持大范围电压调整,推荐的电压范围通常是±5%。结温可以用散热器和气流等冷却方案来降低。温度降低20℃可减少漏电功耗25%以上。降低温度还可呈指数提高芯片的可靠性。研究表明,温度降低20℃可使芯片总体寿命延长10倍。
3 悬挂和休眠模式
悬挂和休眠等模式可有效降低功耗。以Xilinx Spartan-3A FPGA为例,该器件提供两种低功耗空闲状态。在悬挂模式下,VCCAUX电源上的电路被禁用,以减少漏电功耗和消除偏置电流,这样可降低静态功耗40%以上。悬挂时仍保持芯片配置和电路状态。将唤醒引脚置位即可退出悬挂模式。此过程用时不到1ms。
休眠模式允许关闭所有功率调节器,从而实现零功耗。若要重启,必须重开电源并配置器件,此过程需要数十毫秒。切断电源后,所有I/O均处于高阻抗状态。如有I/O需要在休眠模式下主动激活,则必须保持对相应I/O组供电,这会消耗少量待机功率。
4 I/O标准方案
不同I/O标准的功耗水平相差悬殊。在牺牲速度或逻辑利用率的情况下,选择低功耗I/O标准可显著降低功耗。例如,LVDS是功耗大户,其每对输入的电流为3mA,每对输出的电流为9mA。因此,从功耗角度来看,应该仅在系统技术规范要求或需要最高性能时才使用LVDS。
替代LVDS的一种功耗较低而性能较高的方案是HSTL或SSTL,但这二者仍要每输入消耗3mA。如果可能,推荐换用LVCMOS输入。此外,DCI标准是功耗大户。当连接到RLDRAM等存储器件时,请考虑在存储器上使用ODT,而在FPGA上使用LVDCI,以减少功耗。
5 嵌入式模块
用嵌入式模块替代可编程架构可显著降低功耗。嵌入式模块是定制设计的,因此其体积和开关电容都比可编程逻辑的小。这些模块的功耗是等效可编程逻辑的1/5~1/12。如果设计缩小并可装入较小的器件,则使用嵌入式模块可以降低静态功耗。一个潜在的缺点是,使用大型嵌入式模块可能无法更有效地实现非常简单的功能。
6 时钟生成器
在时钟生成中考虑功耗因素可以减少功耗。数字时钟管理器广泛用于生成不同频率或相位的时钟。然而,DCM消耗的功率占VCCAUX不可小觑的一部分;因此,应尽可能限制使用DCM。通过使用多种输出(如CLK2X、CLKDV和CLKFX),一个DCM常常可生成多种时钟。与为同一功能使用多个DCM相比,这是一种功耗较低的解决方案。
7 Block RAM的构建
多个Block RAM常常可以组合起来构成一个大型RAM。组合的方式可以对功耗意义重大。时序驱动的方法是并行访问所有RAM。例如,可以用4个2k×9RAM构成一个2k×36RAM。
这个较大RAM的访问时间与单个Block RAM相同;然而,其每次访问的功耗却相当于4个Block RAM的功耗之和。
一种低功耗的解决方案是用4个512×36b RAM构成同样的2k×36bRAM。每次访问都会预先解码,以选择访问4个Block RAM之一。尽管预解码延长了访问时间,但较大RAM每次访问的功耗却与单个Block RAM大致相同。
低功耗研究
1 降低电压
降低电压是减少功耗的最有效方式之一,而且随之而来的性能下降对许多并不要求最高性能的设计来说是可以接受的。不过,目前FPGA的工作电压范围很小,在某些电压敏感型电路上还不能使用。
在Xilinx研究实验室,CLB电路被重新设计成能在降低许多的电压下工作,以便在较低功耗情况下提供宽裕的性能权衡余地。例如,对于90nm工艺,电压下降200mV可降低功耗40%,最高性能损失25%;电压下降400mV可降低功耗70%,最高性能损失55%。
2 细粒度电源开关 可编程逻辑设计特有的开销之一是并非所有片上资源都用于给定的设计。可是,未使用的资源保持供电状态,并以漏电功耗的形式增加了总功耗。模块级电源开关可分别关掉未使用模块的供电。每个模块通过一个电源开关耦接到电源。开关闭合时,该模块工作。开关断开时,该模块从电源有效断开,从而使漏电功耗降到1/50~1/100。电源开关的粒度可以小到单个CLB和BlockRAM。在设计中,这些电源开关可以通过配置比特流进行编程,也可由用户直接控制或通过访问端口控制,实际设计的基准测试结果表明,细粒度电源开关可减少漏电功耗30%。
3 深睡眠模式
便携电子产品的主要要求之一是器件空闲时功耗极低或无功耗。以XilinxSpartan-3A FPGA为例,该芯片可通过进入休眠模式来达到此目的,这需要外部控制,苏醒缓慢,且不能恢复FPGA状态。设计动态控制上述细粒度电源开关,令其关闭所有内部模块供电,仅保留配置和电路状态存储组件为供电状态。这样形成的状态是一种深睡眠模式,其漏电功耗为额定功耗的1%~2%,保存FPGA状态,退出此模式仅需数微秒。
4异构架构
电路的最高时钟频率取决于其时序关键型路径的延迟。非关键型路径的速度可以较慢而不影响整体芯片性能。在大型系统中,可以有几个速度关键型模块(如处理器中的数据通路),其他模块可以是非关键型(如缓存)。
当今的FPGA就功耗和速度而言是相同的,每个CLB均有同样的功耗和速度特性。异构架构可降低功耗,这种架构包含一些低功耗(同时也较慢)的模块,方法是在低功耗模块中实现非关键型模块。这样做不影响整体芯片性能,因为时序关键型模块并未损失性能。
创建异构架构的一种方法是,分配两条核心供电轨,即一条高电压轨(VDDH)和一条低电压轨(VDDL)。FPGA的每个器件用嵌入式电源开关选择这二者之一,并相应采用高速度或低功耗特性。设计的详细时序确定之后,电压选择便告完成,所以只有非关键型模块才应以VDDL供电。
创建异构架构的另一种方法是,将FPGA分成不同的区,并将这些区分别预制为具有高速度和低功耗特性。可以用不同电源电压、不同阈值或通过若干其他设计权衡条件来实现这些区。要避免性能下降,设计工具必须将设计的时序关键型器件映像成高速度区,而将非关键型器件映射成低功耗区。
5 低摆幅信令
随着FPGA容量增加,片上可编程互连的功耗越来越大。减少这种通信功耗的一种有效方法是使用低摆幅信令,其中导线上的电压摆幅比电源电压摆幅低得多。现今,低摆幅信令常见于在高电容性导线(如总线或片外链接)上进行通信的情况。低摆幅驱动器和接收器比CMOS缓冲器更复杂,所以占用更多芯片面积。但是,随着片上互连逐渐成为总体功耗的较大组成部分,低摆幅信令的功耗优势将证明增加设计复杂性是值得的。当然,FPGA用户不会看到内部信号电压的差异。
图3所示为具有上述某些概念的FPGA架构,其可编程异构架构由高速度和低功耗两个区组成。一个片上功耗模式控制器可管理各种降功耗模式,即深睡眠模式、悬挂模式和休眠模式。在架构内部,可以用专用的供电开关关掉每个逻辑块的电源。通过布线架构的通信信号流经低摆幅驱动器和接收器,以降低互连功耗。
关键词:数字系统;IC;设计
一、数字IC设计方法学
在目前CI设计中,基于时序驱动的数字CI设计方法、基于正复用的数字CI设计方法、基于集成平台进行系统级数字CI设计方法是当今数字CI设计比较流行的3种主要设计方法,其中基于正复用的数字CI设计方法是有效提高CI设计的关键技术。它能解决当今芯片设计业所面临的一系列挑战:缩短设计周期,提供性能更好、速度更快、成本更加低廉的数字IC芯片。
基于时序驱动的设计方法,无论是HDL描述还是原理图设计,特征都在于以时序优化为目标的着眼于门级电路结构设计,用全新的电路来实现系统功能;这种方法主要适用于完成小规模ASIC的设计。对于规模较大的系统级电路,即使团队合作,要想始终从门级结构去实现优化设计,也很难保证设计周期短、上市时间快的要求。
基于PI复用的数字CI设计方法,可以满足芯片规模要求越来越大,设计周期要求越来越短的要求,其特征是CI设计中的正功能模块的复用和组合。采用这种方法设计数字CI,数字CI包含了各种正模块的复用,数字CI的开发可分为模块开发和系统集成配合完成。对正复用技术关注的焦点是,如何进行系统功能的结构划分,如何定义片上总线进行模块互连,应该选择那些功能模块,在定义各个功能模块时如何考虑尽可能多地利用现有正资源而不是重新开发,在功能模块设计时考虑怎样定义才能有利于以后的正复用,如何进行系统验证等。
基于PI复用的数字CI的设计方法,其主要特征是模块的功能组装,其技术关键在于如下三个方面:一是开发可复用的正软核、硬核;二是怎样做好IP复用,进行功能组装,以满足目标CI的需要;三是怎样验证完成功能组装的数字CI是否满足规格定义的功能和时序。
二、典型的数字IC开发流程
典型的数字CI开发流程主要步骤包含如下24方面的内容:
(1)确定IC规格并做好总体方案设计。
(2)RTL代码编写及准备etshtnehc代码。
(3)对于包含存储单元的设计,在RTL代码编写中插入BIST(内建自我测试)电路。
(4)功能仿真以验证设计的功能正确。
(5)完成设计综合,生成门级网表。
(6)完成DFT(可测试设计)设计。
(7)在综合工具下完成模块级的静态时序分析及处理。
(8)形式验证。对比综合网表实现的功能与TRL级描述是否一致。
(9)对整个设计进行Pre一layout静态时序分析。
(10)把综合时的时间约束传递给版图工具。
(11)采样时序驱动的策略进行初始化nooprlna。内容包括单元分布,生成时钟树
(12)把时钟树送给综合工具并插入到初始综合网表。
(13)形式验证。对比插入时钟树综合网表实现的功能与初始综合网表是否一致。
(14)在步骤(11)准布线后提取估计的延迟信息。
(15)把步骤(14)提取出来的延迟信息反标给综合工具和静态时序分析工具。
(16)静态时序分析。利用准布线后提取出来的估计延时信息。
(17)在综合工具中实现现场时序优化(可选项)。
(18)完成详细的布线工作。
(19)从完成了详细布线的设计中提取详细的延时信息。
(20)把步骤(19)提取出来的延时信息反标给综合工具和静态时序分析工具。
(21)Post-layout静态时序分析。
(22)在综合工具中实现现场时序优化(可选项)。
(23)Post一alyout网表功能仿真(可选项)。
(24)物理验证后输出设计版图数据给芯片加工厂。
对于任何CI产品的开发,最初总是从市场获得需求的信息或产品的概念,根据这些概念需求,CI工程师再逐步完成CI规格的定义和总体方案的设计。总体方案定义了芯片的功能和模块划分,定义了模块功能和模块之间的时序等内容。在总体方案经过充分讨论或论证后开始CI产品的开发。CI的开发阶段包含了设计输入、功能仿真、综合、DFT(可测试设计)、形式验证、静态时序分析、布局布线等内容。而CI的后端设计包括布局、插入时钟树、布线和物理验证等内容,后端设计一般能在软件中自动完成,如SIE软件就能自动完成布局布线。
三、IC开发过程介绍
IC开发过程包括设计输入、功能仿真、综合、可测试性设计DFT、形式验证、静态时序分析、布局、插入时钟树、布线、物理验证等内容,下面分别进行详细介绍。
设计输入:一般包括图形与文本输入两种格式。文本输入包括采用verilog和vHDL两种硬件描述语言的格式,verliog语言支持多种不同层次的描述,采用硬件描述语言主要得益于采用综合器来提高设计效益;图形输入一般应该支持多层次逻辑图输入,主要应用在一些专门的电路设计中,但是图形输入耗时费力且不方便复用。
功能仿真:功能仿真的目的是为了验证设计功能的正确性和完备性。搭建的测
试环境质量和测试激励的充分性决定了功能仿真的质量和效益,仿真工具也是比较多,而且功能比较齐全。
综合:所谓综合,就是将设计的HDL描述转化为门级网表的过程。综合工具(也可称为编译器)根据时间约束等条件,完成可综合的TRL描述到综合库单元之间的映射,得到一个门级网表等;综合工具可内嵌静态时序分析工具,可以根据综合约束来完成门级网表的时序优化和面积优化。
可测试性设计DFT:目前大多数CI设计都引入可测试结构设计,一般在电路初步综合后可进行DFT设计。典型的DFT电路包括存储单元的内建自测BIST电路、扫描链电路和边界扫描电路。BIST电路是为了测试而设计的专门电路,它可以来自半导体生产厂商,也可以用商用的工具自动产生。扫描链电路一般是用可扫描的寄存器代替一般的寄存器,由于带扫描功能的寄存器的延时与一般的寄存器并不一致,所以在综合工具进行时序分析时最好就能考虑这种“附加”的延迟。边界扫描电路主要用来对电路板上的连接进行测试,也可以把内部扫描链的结果从边界扫描电路引入。
形式验证是一种静态的验证手段,它根据电路结构静态地判断两个设计在功能上是否等价,从而判断一个设计在修改前和修改后其功能是否保持一致。
静态时序分析:静态时序分析是CI开发流程中非常重要的一环。通过静态时序分析,一方面可以了解到关键路径的信息,分析关键路径的时序;另一方面,还可以了解到电路节点的扇出情况和容性负载的大小。
布局:
布局被认为是整个后端流程最关键的一步,布局首先是在满足电路时序要求的条件下得到尽可能小的实现面积,其次布局也是把整个设计划分成多个便于控制的模块。布局的内容包括把单元或宏模块摆放到合适的位置,其目的是为了最大限度地减小连线的RC延迟和布线的寄生电容效应,此外,良好的布局还可以减小芯片面积和降低布线时出现拥赛现象的几率。
插入时钟树:时钟树又称时钟网络,是指位于时钟源和它所有扇出的寄存器时钟输入端之间的BUFFER驱动逻辑,时钟树通常根据物理布局情况生成。时钟树的插入关键在于如何控制时钟信号延时和时钟信号扭曲,因为较大的延迟对解决电路的保持时间问题不利,较大的时钟扭曲往往增加寄存器锁存不稳定数据的几率。但是时钟信号延迟和时钟信号扭曲问题是对矛盾,如果设计对两者都要求比较严格的话,时钟树的插入往往需要考虑比较多。
布线:布线分为两个阶段完成:预布线和详细布线,预布线时版图工具把整个芯片划分为多个较小的区域,布线器只是估算各个小区域的信号之间最短的连线长度,并以此来计算连线延迟,这个阶段并没有生成真正的版图连线。详细布线阶段,布线器根据预布线的结果和最新的时序约束条件生成真正的版图连线。但是如果预布线的时间比布局运行的时间还要长,这就意味着布局的结果是失败的,这时候就需要重新布局以减少布线的拥赛。:
布局布线完成之后,EDA工具根据布局布线的结果产生电路网表,产生真正的互连线延迟数据,这样以前综合工具DC根据线负载模型计算出来的延迟数据与这些互连线延迟数据相比是不够精确的,因此把这些版图提取出来的互连线延迟数据反标给DC重新进行综合优化,如果生成的网表满足了时序、面积及功耗要求后就生成电路版图,电路版图经过验证就可以制成芯片。
参考文献:
在钢铁工业的生产中,炼钢一连铸生产调度计划的编制是否合理科学,对钢铁生产的效率与水平都有很大程度的影响。如何优化其调度计划方案也就成为了当前业界最为关注的课题。从钢铁生产的整个工艺过程来看,炼钢一连铸环节是+非常关键的生产环节,是决定钢铁产量与质量的主要工艺阶段,而针对其所指定的调度计划方案也是钢铁生产管理中具有过渡作用的管理计划,起到了承上启下的作用,指导着钢铁加工的工艺流程顺序,控制着其施工进度。为了能够更好的保证钢铁生产顺利稳定、连续高效的进行生产,很有必要对炼钢一连铸调度计划的编制方法进行合理优化。以下本文就针对如何优化其调度计划编制方法进行探讨。
一、炼钢-连铸调度计划概述
钢铁生产管理中的炼钢一连铸计划调度主要是指对炼钢、精炼以及连铸等三个工艺阶段之间的相互混合流水作业流程进行组织调度与安排管理的过程。在炼钢一连铸的生产过程中,一般会受到连浇生产、生产资源、品种质量以及不同生产节奏等几方面的约束,另外,由于目前重钢新区的设计特点,连铸存坯场地狭窄也是其制约因素,为了能够保证生产工艺能够按照有条不紊的顺序依次进行生产,就必须要做好炼钢一连铸的调度计划编制工作,以缩短整个流程的用时,缩短生产周期;同时提高生产设备的利用效率,实现资源的优化配置。
二、炼钢-连铸调度计划的特点
基于钢铁的炼钢一连铸生产是具有工序多、生产线长、约束条件多、需要进行多段生产和多段运输的生产过程,其不但需要满足离散型工业的生产离散要求,还要满足流程工业的生产连续要求。炼钢一连铸生产最大的特点就是要将液态形式下的钢水转变为固态形式的钢坯,在这一转变过程中,对生产的连续性要求极高,必须要把握好加工时间以及设备之间的产品传输时间,确保产品到达每道工序的设备前都能够立即进行加工,而无须等待设备。为此,这就要求炼钢一连铸调度计划必须要具备一定的特点:间歇作业与连续作业混合使用,对于转炉或精炼设备等加工速度较快的设备,其生产调度可以采用间歇式的管理方法,而对于连铸机则需要采用连续作业的管理方法,以实现设备之间的生产同步配合;生产与物流要高度衔接,保证工序之间的产品传递及时、准确、高效和连续,这就决定了炼钢一连铸调度计划具有连续性、实时性以及高度复杂性。
三、炼钢-连铸调度计划的编制方法优化措施
炼钢连铸计划调度的业务主要包括组CAST计划、铸机分配、静态计划编制、动态计划调整和辅助设备的调度计划。目前在信息技术不断发展的推动下,炼钢一连铸调度计划已经实现了计算机编制管理。而在优化其编制方法时,需要对调度系统的相关功能模块进行优化设计,以实现高效科学的管理。
(一)连铸计划自动生成与优化:在连铸计划的调度管理模块中,首先需要对其生产设备的生产能力进行合理的预计算,并根据计算结果来合理分配转炉、精炼以及连铸的生产能力,以约束和控制生产流程的进度。并实现炼钢一连铸外供坯以及连铸坯初轧加工合同的LOT自动生成。优化CAST,以提高连铸机的生产能力和生产效率,降低生产成本。尽可能的实现连铸机的自动分配与流程安排,以增大连铸工艺阶段的生产总量,提高生产效益。
(二)日出钢计划静态排程优化:根据分配的连铸机、确定的CAST顺序和CAST间隔,并根据给定的转炉、精炼等设备条件,对各台连铸机日计划进行出钢计划静态排程。在进行日出钢计划静态排程的优化设计时,需要按照实际的生产状况来实时调度,调度计划优化后要达到以下目标:实现炼钢、精炼、连铸等工序之间的生产力平衡;实现RH、LF和CAS等精炼生产能力最大化满足品种质量的需求;实现连铸生产能力最大化;当RH、LF和CAS等精炼生产能力与连铸生产能力之间存在矛盾时,需要根据设置一定的重要性指标,并以此指标来对其各自的生产能力进行综合优化。
(三)出钢计划动态调整:由于重钢新区设计流程较为先进,工序间界面十分紧凑,在出钢计划的编制执行中,会受到很多因素的影响而发生变化,这样使得调度计划成为一种动态控制。为此在进行计划调整时,需要注意按照继承性和优化性相结合的原则进行调整。继承性是指当影响生产的事件出现时,可以通过工序的柔性组合或工序间的缓冲来消除这种不利影响时,尽量减少对原出钢计划的调整,从而保持计划的连贯性和一致性;优化性是指因为设备故障或工序间不匹配等原因需要对原出钢计划进行调整时,调整的方向是针对当前的条件对原计划进行优化。
四、结语