后端设计流程完整Word文档下载推荐.docx

上传人:b****6 文档编号:19295342 上传时间:2023-01-05 格式:DOCX 页数:24 大小:398.46KB
下载 相关 举报
后端设计流程完整Word文档下载推荐.docx_第1页
第1页 / 共24页
后端设计流程完整Word文档下载推荐.docx_第2页
第2页 / 共24页
后端设计流程完整Word文档下载推荐.docx_第3页
第3页 / 共24页
后端设计流程完整Word文档下载推荐.docx_第4页
第4页 / 共24页
后端设计流程完整Word文档下载推荐.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

后端设计流程完整Word文档下载推荐.docx

《后端设计流程完整Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《后端设计流程完整Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。

后端设计流程完整Word文档下载推荐.docx

80%模块设计完成数据库准备,流程确认,流程运行中问题的解决,主要设计数据(芯片大小,总体布局,大体时序)的可行性确认

FirstSignOff:

100%设计,DFT,I/O完成 

数据库已确定,时序收敛基本完成,没有大的拥塞(congestion)

FinalSignOff:

最后细小的功能修改,时序收敛 

所有时序和布局布线问题解决

我们在简单介绍每一步工作的同时,着重介绍应该注意的问题,遇到的困难和解决的方法。

A.质量检查(Qualitycheck)

在流程的开始,至少有三样东西需要前端工程师提供:

门级网表(gatelevelnetlist),时序约束(timingconstraint)和时序分析报告(timinganalysisreport)。

其中网表文件是最重要的,拿到它之后,先不要急于将它放到后端EDA软件里去,而是要先检查一下它的质量,确认已消除哪怕是细小的错误/瑕疵,比如检查有无以下情况:

文法错误,连接短路,无任何连接的net,无驱动的输入引脚(pin),assign语句,wire类型以外的net,使用了由"

\"

开始的特别字符,数据总线的写法,名字的长度等,不同的厂家和软件对此都会有一些限制,为了后续工作的方便,建议定义一套比较严格的网表书写规则。

例如:

不许有"

无任何连接的net"

和"

无驱动的输入pin"

,无assign语句,只允许线(wire)型net,所有名字只许使用大小写英文字母,数字和下划线,头一个文字是英文字母,长度小于1024,模块之间的调用一律使用explicit格式。

这些要求看似繁琐,但是只要事先同前端工程师说明,在做逻辑合成之前设定好几个参数就可以了,并不增加他们的工作量。

其次要看设计是否需要DFT(可测试性),ATPG(自动测试格式生成),如果要的话,检查是否符合扫描链(scanchain)和存储器内建自测(memBist:

MemoryBIST)的设计要求。

然后要仔细阅读拿到的时序约束(timingconstrain)文件,检查时序设定是否完整、合理。

最后要流览时序分析报告,如果有setupviolation(setup冲突)存在的话,一般不允许大于时钟周期的10%,holdviolation暂时可以不解决,留到布线后再去除。

B. 

I/O单元布置(I/OPlace)

按顺序摆放I/OPAD本不是难事,但是如果考虑到内部各模块的位置、电源PAD的个数和种类时,有时排放I/OPAD也要仔细斟酌才行。

不同种类的信号PAD需要不同种类的电源,有些相同电压的电源也是不能共用的,特别是模拟信号与其电源本身都需要与其它信号隔离,电源PAD的个数计算要兼顾芯片封装的最低要求和芯片内部的功耗。

近两年常用的一种叫倒装片(flipchip)封装,其核心电路的供电不象传统的芯片由四周的电源PAD供电,而是由芯片中部的电源PAD直接从顶部灌到芯片中去,这种设计大大降低了对四周电源PAD的个数要求。

在试验轮(trial)时如果无法确定PAD个数、种类和位置,可以暂时跳过这步,并同时无视与PAD直接相连net的时序。

C.兆单元布置(MegacellPlace)

ADC、DAC、PLL、memory这类部件属于兆单元或称巨集(megacell),所有的后端EDA布局软件都有自动放置兆单元(megacell)的功能,但是很少听说厂家建议用户去相信自动放置后的结果,基本上来讲,在有五个以上兆单元(megacell)的设计中,这一步属于手工劳动。

排放前要同前端工程师沟通,了解运算数据的流向、各大模块间的关系和位置,依此来决定兆单元(megacell)的大体位置。

在逐一放置各个兆单元(megacell)时,要考虑其引脚(pin)的位置、方向、数量与相互间的对应关系,因为兆单元(megacell)常常会禁止几层金属布线层的使用,所以要注意给穿过它的信号线留有足够的空间,特别是兆单元(megacell)之间的距离。

如果兆单元(megacell)本身没有电源环(powerring),则要在它四周留下更大的空间以备加环。

环的宽度由厂商提供的公式,依速度、数据变化率求得。

有些软件可以将相邻的几个兆单元(megacell)合在一起做个环以节省空间,此时公共环的宽度应该是各个单独环宽度中最大者。

常见的布局规划(floorplan)方法是兆单元(megacell)放在四周,标准单元(standardcell)放在中间。

留给标准单(standardcell)的空间形状以方形为好,应尽量避免采用预留L形,U形或几个分离的标准单元(standardcell)空间方法。

但是这也不可以一概而言,它和设计本身关系密切,要依据情况分析而定。

兆单元(megacell)的排放极其重要,它可以决定后期工作的难易,建议在此多花工夫,找专家商量一下,力求精益求精。

D. 

行通道生成(RowGeneration)

行通道(Row)是为放标准单元(standardcell)用的,其整体形状已经被兆单元(megacell)的位置大致决定,行通道(row)和兆单元(megacell)之间要留有一定的空间,以利于兆单元(megacell)的信号连线。

在兆单元(megacell)之间做少许行通道(row),以备连线过长,加缓冲器接力,或生成时钟树时使用。

E. 

电源布线(PowerRouting)

电源布线前的功耗估算不是一件简单的事情,过于保守则功耗过大,芯片封装无法承受,过于乐观则有供电不足而影响速度的危险,到底什么才是合适的功耗只有在芯片做成之后才知道。

建议在管脚和面积允许的范围之内多留一些富裕。

电源布线时依各个模块的功耗不同,布线密度并不相同。

布线完了,应该用IRdrop检验整体的供电情况。

在传统的通过四周管脚供电、标准单元(standardcell)放在中央的设计中,标准单元(standardcell)集中的row的四周应该考虑加一圈电源环,环的宽度按如下方法计算:

环的宽度=所有row的电源线宽度之和/四周直接供电电源条数之和

布局(Placement)

布局主要指的是如何合理地放置标准单元(standardcell),我们并不希望软件过多地移动已经放好的兆单元(megacell)。

布局可以简单地根据cell的连接进行,也可以根据时序要求来做,还可以以拥塞程度(congestion)为主进行。

随着芯片速度的提高,越来越多的人首先选择按时序要求来布局,这时,先前入手的时序约束(timingconstrain)就派上用场了。

在布局开始之前,有人喜欢做一些分组(group)或分区(region),其好处是可以告诉布局软件一个大致的摆放范围,但是有一点要记住,这种作法会同所给的时序要求发生矛盾,特别是对边界的连接单元(cell)。

所以建议在定义分组(group)或分区(region)时,尽量宽松一些,并允许一定百分比的单元(cell)放在分组(group)或分区(region)之外,这样

做的结果同所谓的"

变形虫"

(amoeba)布局有同样的效果。

如果使用有时序要求的布局,而布局用的时序引擎(timingengine)与布线或计算延迟用的引擎(engine)不一样,则要注意引擎(engine)之间的计算误差,它们有时会有10倍之差。

如何有效地减小误差是一件技术性很强的工作,因为这常常涉与到数据库中最底层参数的变动。

不同的软件多少都会留几个相关的参数用来调整误差。

要谨慎使用两三年前出售的布局软件中的再优化功能,先作个小的验证后再决定是否使用。

如果有扫描链(scanchain),可以考虑在此时按照单元(cell)的物理位置做一次重新排序,以减少不必要的连线长度。

但是在空间不紧张的情况下,不做扫描链(scanchain)重新排序也未尝不可,毕竟它要花费时间,还要重新生成测试向量。

F. 

时钟树(ClockTree)

G. 

静态时序分析和优化(STA&

OPT)

到此我们已经有了一个完整的布局结果,如果没有拥塞(congestion)问题,就可以按预估线长提取延迟数据作静态时序分析和再优化了。

此时要注意的问题有:

延迟数据的精度和误差、静态时序分析所用条件的更改,例如把理想时钟(idealclock)变成传播时钟(propagatedclock)、输入(input)和输出(output)延迟的更改、再优化时是否提供了详细的布局信息和所用时序引擎(timingengine)之间的误差等。

再优化软件的选择非常重要,好的软件可以很快达到收敛的目的,差的软件会一遍一遍地绕圈,浪费很多时间。

软件的好坏与设计和工艺密切相关,很难一概而论,若要更详细的资料,请留意参阅本文作者在其它同期IC相关刊物上发表的文章"

EDA工具的选择"

事先对再优化软件作个性能评估是明智和必要的.

H. 

布局工程变更(PlacementECO)

通常我们说ECO是指所变更(包括增加和删除)单元(cell)的总数少于10%的情况,太大的变更建议从头再来一遍。

如果不想变更时钟树,则要求ECO没有触发器的增减和位置的挪动,但是可以允许变更现有触发器的大小(sizeup/down),如果时钟树尚未布线。

而一般的逻辑组合单元(cell)则可以作任何的修改。

布局变更(PlacementECO)和静态时序分析和再优化(STA&

OPT)可以多次循环,直到没有大的冲突(violation)为止。

I. 

布线(Routing)

布线时首先留出模拟信号用的走线和隔离空间。

然后考虑时钟树的布线,此时因为还没有数字信号走线,所以可以有很大的自由来选择用传输速度较快的金属层作时钟树布线。

最后是数字信号布线。

如果布线软件可以考虑时序要求,建议使用这一功能。

如果没有这个功能,并且又有一些关键路径(criticalpath),则可以加权给这些net,让它们优先被布线。

布好线的结果中,如果没有大面积或集中在一起的布线问题,可以暂时不去修正自动布线产生的小问题,而先作STA,因为很可能会有布线工程变更(routingECO)要作。

J. 

静态时序分析和再优化(STA&

因为布线已经完成,这时提取出来的延迟数据应该是十分真实的了,在此基础上作的再优化应该能够有效地去除任何setup和hold冲突(violation)。

其它注意事项与布局后的STA&

OPT相似。

万一试过手头所有的软件,仍然有少量冲突(violation)存在时,手工修改是最后一招了。

K.布线工程变更(RoutingECO)

这时ECO所受到的限制比布局变更(placementECO)更多,不能有任何触发器的修改,只能变更逻辑组合单元(cell)。

任何与时钟树相连单元(cell)的变更都会导致时钟树连线的变化,为了尽可能地减少对时序的影响,建议用手工做时钟树的修改。

布线变更(routingECO)可以循环多次,直到所有setup和holdviolation去除为止。

L. 

签收交付(TapOut)

以上是对传统的后端flat流程的简单介绍,在实际工作中,还会有不少附加的工作,例如对有小修改的网表做formal验证,在几个大的里程碑处,做详细的仿真,以确保电路与原设计功能一致。

如果希望结合利用不同软件的优点来完成整个流程,数据传送和格式转换又是另一个话题,在这些过程中,工程师需要自己写一些小的脚本程序(script)去帮助完

成工作。

二、层次化流程(Hierarchyflow)简介

当芯片的规模过大时,考虑到软件的承受能力和运行时间,我们不得不使用层次(hierarchy)化流程。

与扁平(flat)流程相比,分层(hierarchy)流程有不少附加的工作要做,如果不是必须,工程师一般不愿意用它。

下面的心得

体会,重点放在没有扁平(flat)流程的环节上。

A.顶层布局规划(Topfloorplan)

主要决定每个物理模块的大小、形状和位置,除一些模拟电路有特殊要求,需要放在最顶层以外,尽量将数字电路归入各个模块。

其余事项与扁平(flat)流程的兆单元布置(megacellplace)相似。

B.创建和布置宏单元(Create&

PlaceMacro)

生成和放置各个模块时,要注意模块间的间距,最顶层的走线、缓冲器的插入都会使用这些空间。

C.电源布线(Powerrouting)

用与扁平(flat)流程相同的方法在最顶层做完电源布线后,可以将结果打到各个模块中去,这样也就把各模块的电源布线做完了。

D.全局引脚优化(GlobalPinOptimization)

一般软件会按照最短距离来自动决定所有模块的输入输出引脚(IOPIN)。

依据条件可以分别对模块的PIN间距、使用的金属层和方向(哪侧可以使用,哪侧不能使用)做特别定义。

注意检验优化好的PIN不要和电源线有冲突。

如果一个模块被多次调用,在同时对这几个模块作PIN优化时,因为每个模块的位置不同,一个PIN会有多个最优化的位置,哪个是需要的,要事先指定清楚,或者干脆就不允许一个模块的多次调用。

E.时序分配预算(TimingBudget)

从最顶层的时序要求算出各个模块的时序要求时,要验证算法的合理性。

比如,从模块A到模块B共有10ns的时间,A本身要2ns,B本身要5ns,剩下的3ns如何分配?

全部给A、全部给B、一半一半、还是按比例分配?

以上各种分法都算合法,但是如果将这3ns用两次,既给A又给B,就不合理了。

相反,在时序不够时,也会有类似的问题发生。

F.模块分层(BlockLevel)各个模块内部的布局布线作法大致与扁平(flat)流程相同,不再赘述。

在完成最后的布线后,为了最顶层的布局布线,要多一步抽取模块的物理属性和时序属性的工作。

模块的时序属性是为减少最顶层的运算量准备的,这在SoC中十分有效。

G.修改布局规划(UpdateFloorplan)

做完模块内布局布线的各步工作后,再回到最顶层,首先用抽出的实际物理属性和时序属性替换以前的模块。

H.顶层布局(TopPlacement)

如果有其它未确定位置的单元(cell),还要做一次最顶层的布局

I.顶层时钟树(TopClocktree)

因为各模块已经有时钟树,最顶层的时钟树只需要作到各个模块的PIN为止。

由于每个模块中时钟树的最大最小延迟不同,要象扁平(flat)流程中提与的方法那样,在PIN上设定一个特别得到延迟。

顶层布线(TopRouting)和交付(TapOut)无特别需要另外陈述的。

结束语

本文介绍的后端设计流程是对后端设计中必须重点考虑和面对的课题的总览性介绍,具体

每一个专题的实现又需单独另行讨论,作者将结合国内目前的实际情况有计划地将设计工

程师和相关读者感兴趣的专题逐一讨论,并欢迎国内外专家批评指正,共同促进国内IC设

计水平的提高。

关键词释义:

EDAtools 

EDA工具软件

flipchip 

倒装芯片

gatelevelnetlist 

门级网表

place 

布局

deepsub-micron深亚微米

route 

布线

flatflow 

扁平流程

group 

分组

hierarchyflow 

分层次流程

region 

分区

timingconstrain 

时序约束

powerring 

电源环

timinganalysis时序分析

row 

行通道

net 

线,连线

Congestion 

拥塞

pin 

引脚

timingengine 

时序引擎

cell 

单元

scanchain 

扫描链

PAD 

基座

clocktree 

时钟树

Buffer 

缓冲器

buffertree 

缓冲器树

fillcell 

填充单元

clockinsertiondelay 

时钟树延迟

megacell 

兆单元(巨集)

clockskew 

时钟扭曲

standardcell 

标准单元

transitiontime传递时间

ECO 

工程变更要求

tapout(Signoff) 

交付(签收)

setup/holdtimeviolation建立/维持时序冲突

toplevel 

最顶层

layer 

金属(布线)层

script 

脚本

BIST(Built-inself-test)内建自测

DFT 

可测试性设计

--

5.作业流程设计

5.1配送中心内部作业流程设计图

基本作业流程分析与其设计:

物流配送中心的基本作业流程如下图所示。

综合归纳为7项作业活动:

①客户与订单管理;

②入库作业;

③理货作业;

④装卸搬运作业;

⑤流通加工作业;

⑥出库作业;

⑦配送作业。

1、客户订单管理:

物流管理的最终目标是满足客户需求,因此客户服务应该成为全局性的战略目标。

通过良好的客户服务,不仅可以提高物流配送中心的信誉,增加物流配送中心对客户的亲和力并留住客户,而且可以通过客户服务获得第一手市场信息和客户需求信息,为企业的进一步发展打下基础。

在本项作业活动中,主要完成客户合同的签订、客户管理、订单处理以与客户结算等工作。

2、入库作业

入库作业是指货物到达仓储区,经过接运、验收,码放置相应的货位,并完成交割手续的过程。

入库作业的大致过程为:

从送货车上将货物卸下,并核对该货物的数量与状态(数量检查、质量检查、开箱等),进行验收和分类,并搬运到物流配送中心的储存地点,然后将必要信息给予书面化等等。

在入库作业中,货物质量管理即验收工作至关重要。

3、理货作业

理货是物流配送中心的基本作业活动,主要完成货物的储存保管、库存控制、盘点、拣选、分拣、补货、再包装等工作。

储存保管作业的主要业务在于妥善保存货物,根据货物属性、货物存储对环境的要求等,对货物进行不定期检查、保养,善用仓储空间,对环境因素进行凋整,科学地确保货物质量和数量完整。

盘点作业,在物流配送中心的工作过程中,货物不断地进库和出库。

在长期积累下理论库存与实际库存数是不相符的。

有些货物因长期存货,品质下降,不能满足客户的需要。

为了尤校长我货物数量和质量情况,必须定期对各储存场所进行清点作业。

拣选是按订单或出库单的要求,从储存场所选出货物,并放置指定地点的作业。

在物流配送中心内部所涵盖的作业范围中,拣选作业是极为重要的一环。

其重要性相当

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1