当前位置:文档之家› ASIC设计流程中的典型问题研究

ASIC设计流程中的典型问题研究

第35卷第2期2007年4月浙江工业大学学报J OURNAL OF ZH E J IAN G UN IV ERSIT Y OF TECHNOLO GYVol.35No.2Apr.2007收稿日期:2006209210基金项目:浙江省教育厅资助科研项目(20051399)作者简介:章旌红(1964—),女,浙江绍兴人,副教授,主要从事运动生物力学、电路与系统研究.A SIC 设计流程中的典型问题研究章旌红,何剑春,陶东娅(浙江工业大学信息工程学院,浙江杭州310032)摘要:随着集成电路制造工艺的快速发展,系统芯片(SOC )及其功能ASIC 模块的研究越来越引起关注.基于ASIC 设计流程,讨论了当前ASIC 设计中逻辑综合、易测性、低功耗等一些典型问题,并以工艺独立阶段和工艺映射阶段中ASIC 综合需要解决的问题为研究重点,结合实例分析了其中的关键环节,以期作为高性能ASIC 设计优化、可测性设计、设计验证等方向分析研究的前期工作.关键词:ASIC ;逻辑综合;可测性设计;低功耗中图分类号:TN402 文献标识码:A 文章编号:100624303(2007)022*******R esearch on some typical problems in the ASIC design flowZHAN G Jiang 2ho ng ,H E Jian 2chun ,Tao Dong 2ya(College of Information Engineering ,Zhejiang University of Technology ,Hangzhou 310032,China )Abstract :Wit h t he fast develop ment of IC fabricating technology ,research on SOC and ASIC modules cause more attention.According to t he design flow ,some typical p roblems ,such as log 2ic synt hesis ,testability and low power dissipation ,was discussed in t he paper.And most atten 2tion was paid on t he ASIC synt hesis in t he technology independency and technology mapping p ro 2cedure separately.We hope t hat t he research is a good guide for t he st udy on design optimization ,design for test and verification.K ey w ords :ASIC ;logic synt hesis ;design for test ;low power dissipation0 引 言随着集成电路设计制造技术的进步,系统芯片(SOC )得到快速发展.对SOC 中完成特定功能的专用集成电路(ASIC )的研究显得越来越重要.通常,ASIC 芯片在尺寸、耗电量、发热量和成本方面比一般的IC 部件要求更高.近年来,由于鲁棒性设计方法和自动电路综合工具在芯片设计过程中的普遍应用,从高层次的设计描述到最后的芯片布图和掩模阶段的工作难度明显降低,导致ASIC 芯片和集成了ASIC 模块的芯片的需求迅速上升.目前,从消费电子到空间技术领域,ASIC 和具有ASIC 模块的半导体芯片都得到了广泛应用.笔者研究了ASIC 设计流程中逻辑综合、易测性、功耗优化等关键问题,着重讨论设计流程、设计方法、综合和物理设计方面的问题.1 ASIC 设计流程ASIC 的设计制造工序繁多.产品的性能要求一旦确定下来,就需要完成从高层次设计、电路综合到低层次详细设计的一系列工作.ASIC 设计的整个流程及各层次细节如图1所示.图1 ASIC 设计典型流程Fig.1 Typical ASIC design flow设计要求首先被表示成可执行的行为级模型.行为级模型包含了在满足时序、面积、功耗、测试等约束条件下实现的设计功能.行为级模型需要经过大量的输入条件验证,使所有的要求和功能都得到满足.行为级模型通过行为级综合工具转化成R TL 级模型.R TL 级模型使用加法器、乘法器、寄存器、多路选择器之类的寄存器级元件,通过元件互联构成设计的结构模型.R TL 级模型通过逻辑综合工具转化成逻辑门级.逻辑门级设计由门或者门的组合组成,逻辑综合通常都使用基于单元库的设计方法.门级网表需要进行最广泛的仿真,除了功能外,其他诸如时序和功耗等约束条件也需要在此分析.门级网表通过芯片区域布图、单元布局和互联布线转化成物理级设计版图(Layout ),该版图将用来产生制造芯片用的掩模组.2 ASIC 设计中的逻辑综合问题2.1 逻辑综合问题逻辑综合包括一系列的优化和技术,比如状态机优化、多级逻辑优化、重定时(Re 2Timing )、再综合(Re 2Synt hesis )、工艺映射(Technical Mapping )、版图生成后的晶体管尺寸调节等.优化目标可以是面积、速度、功耗或者多个标准,优化的具体步骤和目标有关,可大致分为两个阶段:工艺独立阶段和工艺映射阶段.工艺独立阶段优化进行操作,最小化状态;工艺映射阶段,逻辑网络被映射到某单元库,然后进行晶体管级的优化.2.2 逻辑综合的工艺独立阶段2.2.1 组合逻辑优化组合电路可以用乘积-和二级表达式表示.这类表达式可以用优化工具Esp resso ,Mini 或Presto 优化.为描述组合独立于工艺的逻辑优化步骤,以下述布尔函数为例演示逻辑网络的优化过程:F (A ,B ,C,D )=∑m (0,2,4,5,6,7,12)+∑d (8,10)其卡诺图如图2所示.根据卡诺图可得到简化的布尔函数为:F (A ,B ,C ,D )=C D +AB +B D图2 组合逻辑电路逻辑简化实例Fig.2 Simplification example for combinational logic circuit图2的卡诺图在概念上示范了组合逻辑的优化过程.该过程利用二级优化器Espresso 来优化逻辑.首先扩张包含每个on 集(函数值为1的点集)中点的卡诺圈使之尽可能大,可以覆盖无关集,不能覆盖off 集(函数值为0的点集).去冗余步骤中,对同样的点,去除中间较小的卡诺圈.最后,将剩余的卡诺圈化简,以减少相关变量数.代工厂提供的单元库常包含复杂门电路,如AND 2OR ,OR 2AND 或NOR 2AND 等.为充分利用单元库,要使用多级逻辑优化技术处理多级逻辑电路,使用厂家提供的复杂门以优化芯片的面积和延迟.当然,多级优化技术并不精确,多级网络的建模和优化只有启发式方法.2.2.2 时序逻辑优化2.2.2.1 时序电路模型时序电路通常可以通过一个有限状态机模型来表示.完整的有限状态机(FSM )描述表示为〈S ,I ,O ,f ,h 〉,其中S ,I ,O 分别指现态、输入和输出,f 为次态,h 为输出计算函数.次态函数f 可以被说明为f :S ×I →S.输出函数h 则可表示为h :S ×I →O(Mealy 机)或h :S →O (Moore 机).在Mealy 机中,・821・浙江工业大学学报第35卷输出随输入和状态而定;Moore 机中输出则只由状态决定.以一个实现“011”序列检测的Mealy 机为例讨论时序电路的设计.图3(a )为序列检测器的状态转换图,其中X 为串行数据输入端,Y 为检测结果输出端,其工作规律为:若从输入端X 检测到“011”序列,则从Y 端输出一个正脉冲;否则Y 端保持低电平.序列检测器有四个状态A ,B ,C ,D ,等价状态A 和D 合并后简化为三个状态,编码为00,01,10.图3(b )为计数器的状态转换表.对应于次态和输出向量的卡诺图示于图3(c ),从中可得简化的激励方程和输出方程:J 1=X Q 0K 1=1J 0=X K 0=X Z =X Q 0Q 1(3)图3(d )为根据上述等式得到的电路图.该电路有两个J K 触发器,对应状态的二位变量;组合逻辑部分通过简单门电路来实现.图3 时序电路实例———模4计数器Fig.3 4bit counter example of sequential circuit2.2.2.2 状态最小化状态最小化的目的是减小FSM 的状态的数量,减少状态的数量不仅可以减少编码位数,还可减少信号切换次数、逻辑门数.状态最小化不仅可降低电路面积,而且可加快电路速度、降低电路功耗.状态最小化通过寻找等价状态减少状态数量.上述序列检测器例子的状态转移图中,由于状态A和D 为等价状态,因此可化简为图4(a )所示最小化状态转移图.其相应的状态转换表见图4(b ).2.3 逻辑综合的工艺映射阶段2.3.1 技术映射将基于通用单元的逻辑网表转化为厂家网表的过程称作技术映射(Technology Mapping ).技术映射的目的是建立逻辑综合和物理设计之间的联系.技术映射允许我们将某设计在不同的技术和方式下实现.一般,单元库供应商可提供不同类型的库,每个类型的库可能在面积、性能、功耗和可靠性方面进行了特别的优化.技术库中的每个单元包括物理版图、时间模型、线负载(Wire 2Load )模型、行为模型(V HDL/Veril 2og 模型)、电路原理图和单元图标.对更大的单元,还包括它的布线和测试策略.CAD 工具使用库中的延时特性来分析电路和确定网表中每个节点上的电容,再使用库中每个单元的延时特性和库中的延时计算公式,计算出每个节点上的延时.连线的电容通过线负载模型初始估计,以后则使用布图规划、布局和布线工具返回的反注释信息计算得到.2.3.2 单元库绑定单元库绑定是将布尔等式或布尔网络转换成由单元库中逻辑门构成的网络的过程.单元库绑定方・921・第2期章旌红,等:ASIC 设计流程中的典型问题研究法被分成两种:基于规则的方法和基于树的方法.基于规则的库绑定技术利用简单的规则来认定电路模式,并将该模式替换为库中的等价模式.绑定规则来自库中单元的特性.基于规则的方法是启发性的,因为优化结果受到使用不同规则的次序的很大影响.基于规则的方法允许渐进式精练,允许重新绑定单元来查找全局最优结果.基于树的方法有“结构覆盖/匹配”和“布尔覆盖/匹配”两种.在结构方法中,逻辑网络被表示为一个以图表示的代数表达式.基于树的匹配类似于模式匹配.库中的单元被表示为模式图,匹配目的是找到一个对逻辑网络节点的覆盖,使得某些代价(可以是面积,功耗等)得到优化.3 静态时序分析时序分析的目的是保证时序约束(如触发器的建立/保持时序关系等)能够满足要求,保证电路的关键路径能满足所设定的时间预算.静态时序分析利用单元库中所提供的门延迟、上升时间、下降时间、电容、负载等内容来决定每个门的延迟和连线的延迟.静态时序分析必须遍历电路网表中所有路径来检测它们是否满足时序要求,它沿着不同的路径计算延时,并辨别其中的关键路径(Critical Pat h).深亚微米级设计中,连线延时的影响超过了门延时.为了在静态时序分析时计算路径延时,对互连电容和芯片线负载模型的准确估计非常重要,必须在布图规划的早期使用参数提取技术来获得准确估计值.经过对所有电路路径的测试,时序分析器可以决定电路中所有的关键路径.然而,电路中可能存在伪路径(False Pat h),即在任何输入下,电路正常运作时都不会形成的工作路径.静态时序分析工具可以认出简单的伪路径,但不能认出所有的.对于难于辨明的伪路径,设计者必须在运行静态时序分析工具以前明确地标明它们.4 结构式设计中的可测试设计可测试性是指在一个已制成的芯片中发现制造性错误的能力.目前,DF T(Design For Testability)方法被越来越多地使用,以确保电路的可测试性.使芯片具有可测试性的方法之一是将附加的测试硬件插入芯片中并加入附加的测试引脚,如边界扫描法(Boundary Scan).边界扫描法针对芯片功能引入测试向量,测试向量和测试结果通过在附加引脚上的数据移入移出来设置和得到.而芯片内部元件的可测试性主要由两种技术来增强:串行扫描和内建自测(BIST,Built2In Self Test).4.1 串行扫描测试串行扫描技术使用扫描寄存器改善电路的可观性和可控性.一个扫描寄存器具有串行移动及并行存储能力,它在一个标准寄存器外加上了额外的串行输入输出引脚.电路中所有的扫描寄存器被连接在一个链上,连接方式是上一个寄存器的串行输出引脚和下一个寄存器的串行输入引脚相连.在正常的电路操作模式下,扫描寄存器工作状态类似于并行的存储寄存器.而在测试模式下,一个测试模式被串行扫描送入所有的电路寄存器中,然后加载时钟,再将寄存器中的结果值串行输出.输出的每一位(Bit)值将和期望的结果相比较来验证电路功能是否正确.这种方法额外开销相对较低,芯片上仅需加入一个额外输入引脚和一个额外输出引脚.但由于串行性,这种方法速度缓慢.4.2 BIST在存储器设计,比如RAM模块,一般总是通过在存储器设计中插入的嵌入式自检逻辑电路被检测.这些B IST电路使用伪随机向量,并以在一些地址区域写进数据并重新读出进行比较的方法来完成检测工作.数据路径单元也可以用B IST技术测试.B IST 电路首先由伪随机模式发生器(PRP G,Pseudo2 Random Pattern Generator)产生输入测试向量,并将这组测试向量输入待测单元,然后由特征分析器(SA,Signat ure Analyzer)进行输出位流的特征分析,确保此单元没有错误.为减少芯片的测试时间,只要不同功能单元的输入PRP G寄存器和输出SA寄存器之间没有重叠,多个功能单元就可以被同时测试.为了在尽可能少的测试时间内测试不同的单元,设计者会优化生成一个测试调度计划.在用于测试数据路径单元的BIST法中,主要的挑战有:确保每个功能单元是一个嵌入的一部分;使尽量少的寄存器成为B ILBO;能生成一个有效的测试调度表以使缩短测试时间.・31・浙江工业大学学报第35卷5 低功耗问题目前,电源管理和节省功耗已成为集成电路设计中的重要课题.有些综合工具已经把功耗估计作为优化中代价函数的一部分CMOS电路功率消耗表现在以下几方面:(1)开关电流的动态消耗.(2)切换时,N通道和P通道晶体管同时瞬时导通的短路电流引起的功耗.(3)在静态工作下的漏电流功耗.当然,CMOS门电路中主要的消耗为开关时电流的动态功耗.CMOS门电路的平均开关功耗由下式给出P=α×C L×V DD×f(4)其中:f是系统时钟频率;V DD是供电电压;C L是负载电容;α是开关的活动率.从该公式可推断出降低功耗的高层策略包括: ●基于活动状态判断的部件关闭:在元件的非活动状态,关闭时钟或停止电源供给来关闭这些部件.实现的手段是实现判断某个部件在某个时钟周期里不活动,然后用门控时钟(Clock Gating)或在使能端加上Disable控制信号来关闭. ●降低供电电压:在尽可能低的电压下运行.嵌入在便携式设备中的许多芯片都采用这种方案.当然,要考虑其它影响因素,如速度、噪声裕量等. ●降低开关活动率:改变设计的结构,比如重新构造其计算、通讯和存储,目的是降低开关活动的频繁程度,即减小α.到目前为止,该领域的研究集中在减少信号跳变的方法上,特别是连线和存储器的信号跳变.6 结 论半导体技术不断进步,电路的密度和功能不断增加,ASIC设计方法提升到了更高的系统规格说明级别,同时要使用越来越多的CAD工具使设计过程自动化.对半导体设备的需求持续增长,加快了设计工具和设计方法的研发.对便携式设备的需求促进了高功率效率的设计和功耗估计技术的发展.物理设计和高层设计之间的联系越来越复杂,从高级综合到逻辑设计,再到物理设计的各个阶段成为更紧密的整体.以工艺独立阶段和工艺映射阶段中ASIC综合需要解决的问题为重点,讨论了当前ASIC设计中逻辑综合、易测性和低功耗等一些典型问题,作为进一步分析研究的先导工作.参考文献:[1] BIERRE A.Bounded model checking[M].Acadmic Press:Advances in Computers,2003.[2] 李光辉,邵明,李晓维.验证包含黑盒的电路设计的有效方法[J].计算机学报.2004,27(6):7962802.[3] 李光辉,邵明,李晓维.一个适于形式验证的A TP G引擎[J].计算机研究与发展.2004,41(5):8862893.[4] ASAAD H,HA YES J.Design verification via simulation andAutomatic test pattern generation[J].IEEE ICCAD,1995, 1742180.(责任编辑:翁爱湘)・131・第2期章旌红,等:ASIC设计流程中的典型问题研究。

相关主题