收藏 分享(赏)

EDA开发流程.doc

上传人:hyngb9260 文档编号:5257432 上传时间:2019-02-15 格式:DOC 页数:4 大小:40.50KB
下载 相关 举报
EDA开发流程.doc_第1页
第1页 / 共4页
EDA开发流程.doc_第2页
第2页 / 共4页
EDA开发流程.doc_第3页
第3页 / 共4页
EDA开发流程.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、开发流程在了解了硬件描述语言的演进过程中,相信各位对 VHDL 及 Verilog HDL与 ASIC EDA 工具之间的关系,应已有基本的认识。在此,让我再强调一次:在高阶设计的领域中,硬件描述语言扮演的角色,只是一种程序语言接口(PLI) ;它提供了一个极具弹性的设计入口(design entry) ,以作为电路设计者与各种计算机辅助设计工具之间沟通的桥梁 。因此,若缺少了这些 EDA工具,硬件描述语言的剩余价值,也只不过是一种系统规划工具,或是技术文件格式而已。 具体地说,整个数字电路的高阶设计概念 ,可以说就是设计自动化(design automatize)的实现。理想的情况是:由仿真

2、验证设计是否符合原始设定的规格(specification) ,以至于诸如逻辑电路的合成与实际晶体管配置与绕线(place and route)这一类徒手不易掌控的工作,工程师均能寻求适当的 EDA 工具来完成整个电路的设计。完整的自动化数字电路设计流程包含了三种主要的 EDA 工具:仿真器(simulator ) 、合成器( synthesizer)以及配置与绕线(place and routing, P&R)工具;除了 P&R 工具之外,其余两者绝大部分,均是以 VHDL 或 Verilog HDL 作为其程序语言接口。以下,笔者将配合介绍这个典型的自动化设计流程,简述各项 EDA 工具的

3、基本功用。 1.系统规格制定(Define Specification) 在 ASIC 设计之初,工程师们须根据产品的应用场合,为 ASIC 设定一些诸如功能、操作速度、接口规格、环境温度及消耗功率等规格,以做为将来电路设计时的依据。在这方面,目前已有厂商提供系统级仿真器(system -level simulator) ,为系统设计提供不错的解决方案;透过此类仿真器,工程师们可以预估系统的执行效能,并可以最佳化的考量,决定软件模块及硬件模块该如何划分。除此之外,更可进一步规划哪些功能该整合于 ASIC 内,哪些功能可以设计在电路板上,以符合最大的经济效能比。 2.设计描述(Design De

4、scription) 一旦规格制定完成,便依据功能(function)或其它相关考量,将 ASIC划分为数个模块(module) ;此阶段是整个设计过程中最要的关键之一,它直接影响了 ASIC 内部的架构及各模块间互动的讯号,更间接影响到后续电路合成的效能及未来产品的可靠性。 决定模块之后,便分交由团队的各个工程师,以 VHDL 或 Verilog 等硬件描述语言进行设计亦即功能的行为描述(behavioral description) ;为能明确及有效率地描述模块的内部功能,各模块之下可能再细分成数个子模块(sub-module) ,直到能以可合成(synthesizible)的语法描述为止

5、。这种一层层分割模块的设计技巧,便是一般所谓的阶层式设计(hierarchical design) ;这与早期直接以绘制闸级电路进行设计的时代,所使用的技巧是相类似的。此一步骤所完成的设计描述,是进入高阶合成电路设计流程的叩门砖;习惯上,称之为硬件描述语言的设计切入点(HDL design entry) 。 关于此一步骤,亦有相关的辅助工具相继推出。Design Book 便是其中的代表;它利用一般工程师熟悉的图形接口如状态图及流程图,协助初接触以硬件描述语言进行设计的工程师,自动编写出相对应的硬件语言描述码。效能如何笔者不敢断言,但它能依使用者决定,整合惯用之其它 EDA 工具的特点,倒是满

6、吸引人的地方。 3.功能验证(Function Verification) 完成步骤 2 的设计描述,接下来便是利用 VHDL 或 Verilog 的电路仿真器,针对先前的设计描述,验证其功能或时序(timing)是否符合由步骤 1 所制定的规格。通常,称这类验证为功能仿真(function simulation) ,或行为仿真(behavioral simulation) ,而这类的 HDL 电路仿真器,则通称为行为仿真器(behavioral simulator) 。 对于这一类功能验证的仿真而言,仿真器并不会考虑实际逻辑闸或联机(connenct wires)所造成的时间延迟(time

7、delay) 、闸延迟(gate delay)及传递延迟( transport delay) 。取而代之的是,使用单一延迟(unit delay)的数学模型,来粗略估测电路的逻辑行为;虽然如此无法获得精确的结果,但其所提供的信息,已足够作为工程师,针对电路功能的设计除错之用。 为了能顺利完成仿真,在此,您还需要准备一分称为测试平台(test bench)的 HDL 描述?。在这份测试平台的描述档中,必须尽可能地细描述所有可能影响您设计功能的输入讯号组合,以便激发出错误的设计描述位于何处。幸运的话,或许在几次修改之后,就可得到您想要的结果,顺利进入下一个步骤。 4.逻辑电路合成(Logic sy

8、nthesis) 确定设计描述之功能无误之后,便可藉由合成器(synthesizer)进行电路合成。合成过程中,您必须选择适当的逻辑闸组件库(logic cell library) ,作为合成逻辑电路时的参考依据。组件库的取得,可能直接来自于您的 ASIC供货商(ASIC vendor, 负责协助客户设计 ASIC 的厂商) 、购自其它组件库供货商(third-party ASIC library vendor) ,或是为了某种特殊原因,您亦可能考虑自行建立。 事实上,组件库内含的逻辑闸信息非常广泛,大致上包括了以下各项。 cell schematic,用于电路合成,以便产生逻辑电路的网络列表

9、(netlist) 。 timing model,描述各逻辑闸精确的时序模型;组件工程师会萃取各逻辑闸内的寄生电阻及电容进行仿真,进而建立各逻辑闸的实际延迟参数。其中包括闸延迟(gate delay) 、输出入的延迟(input delay / output delay)及所谓的联机延迟(wire delay)等;这在进入逻辑闸层次的电路仿真,以及在 P&R 之后的仿真都会使用到它。 routing model,描述各逻辑闸在进行绕线时的限制,作为绕线工具的参考资料。 silicon physical layout,在制作 ASIC 的光罩( mask)时会使用到它。使用合成器有几个需要注意的

10、事项,其一就是最佳化(optimize)的设定。根据步骤 1 所制定的规格,工程师可对合成器下达一连串限制条件(constrain ) ,根据这些条件,合成器便会自动合成满足您规格要求的逻辑电路。最常见的三个限制条件(注 3)有:操作速度、逻辑闸数及功率消耗。事实上,这三项限制条件之间是呈现互相矛盾的关系;也就是说:一旦您所下的限制条件太过严苛,将使电路合成的速度变得非常的慢,更甚者,有可能在花费大把时间后,仍得不到您想要的结果。 design entry 硬件语言设计描述文件,其语法的编写风格(HDL coding style) ,亦是决定合成器执行效能的另一个因素。事实上,无论是对 VHD

11、L或是 Verilog 而言,合成器所支持的 HDL 语法均是有限的;过于抽象的语法只适用于编写 cell library,或是做为系统规划评估时的仿真模型所用,而不为合成器所接受。 此外,由于一般合成器的最佳化算法则,都只能达到区域性最佳化(local optima) ;因此,对于过分刁钻的语法描述,将影响合成器在最佳化过程的执行时间。 5.逻辑门层次的电路功能验证(Gate-Level Netlist Verification) 由合成器产生的 netlist,会在这个阶段进行第二次的电路仿真;一般称之为逻辑闸层次的电路功能验证,或称为 P&R 前的仿真,简称前段仿真(pre-simula

12、tion) 。在此阶段,主要的工作是要确认,经由合成器所合成的电路,是否如同原始的设计描述般,符合您的功能需求;利用逻辑闸层次仿真器(gate-level simulator) ,配合在功能验证时已经建立的 test bench,便可达到这个目的。 这里出现两个新的名词:VITAL(VHDL Initiative Toward ASIC Library) 、library 及 Verilog library;两者均可视为先前所提及的 cell library 当中的 timing model。在 pre-simulation 中,一般只考虑闸延迟,而联机延迟在此处是不予考虑的(通常在电路合成阶

13、段,是无法预测实际联机的长度,因此也就无法推测联机所造成的延迟) 。 时序变异(timing variation)是此处经常出现的发生错误,这当中包括了,设定时间(set-up time)或保持时间(holding time)的不符合,以及脉冲干扰(glitch)现象的发生。而这些时序变异,基本上都是只是单纯考虑闸延迟时所造成的结果。 6. 配置与绕线( Place and Routing) 这里包含了三项主要的工作:平面规划(floor planning) 、配置(placement )及绕线( routing) 。还记得在设计描述的步骤,您已将 ASIC划分成数个模块了吗?floor pl

14、anning 的工作便是,适当地规划这些划分好模块在芯片上的位置。 比起模块内逻辑闸间的接线,各模块之间互连讯号的接线,通常会比较长,因此,他们所产生的延迟会主控 ASIC 的性能;在次微米制程上,此种现象更为显著,这也就是为何先前特别强调,模块划分的重要性。完成平面规划之后,P&R 工具便接着完成各模块方块内逻辑闸的放置与绕线。 7.绕线后的电路功能验证(Post Layout Verification) 在这个阶段,经过 P&R 之后的电路,除了须重复验证,是否仍符合原始之功能设计之外,工程师最关心的是,在考虑实体的闸延迟及联机延迟的条件之下,电路能否正常运作。与逻辑闸层次的电路功能验证时

15、发生的情况相同,您将面对诸如 set-up time、holding time 及 glitch 的问题;不同的是,此时若真有错误发生,您将面对更冗长的重复修正周期(iteration cycle) 。也就是说,您可能需要回到最原始的步骤:修改 HDL 设计描述,重新再跑一次相同的流程。 麻烦还没有完,由于需要参考的参数非常的多,仿真时间将花费您数倍于先前的仿真。经由 P&R 工具所产生的标准延迟格式(Standard Delay Format, SDF)档,提供了详实的物理层次的延迟参数;透过 VITAL 的参数回传机制(back-annotation) ,仿真器能够精确的预估数字电路的电气

16、行为,并且指示出发生时序错误的时间点,而您所须付出的代价就是 “ 时间 ” 。最后,非常幸运的您完成了这项验证工作,便可以 sign-off,等着您的 ASIC vendor 交货了。 整个设计流程在此只能算是大概介绍完毕 ;这当中牵涉到许多未提及的层面,其中包括了时脉(clock tree) 、测试设计( Design for Test) 、功能一致性验证(function equivalence check) 、以及静态仿真(static simulation)等等。 结论 假使设计硬件电路能像写软件这样方便,那该是多么美好的景象;硬件描述语言的高阶合成电路设计,为我们打开了这扇窗。事实上

17、,VHDL 及Verilog HDL 并非唯一的硬件描述语言,基于相似的目的,早期也发展出其它如 ABEL 及 AHDL 等硬件语言,但是由于支持的厂商不多,因此目前不如前者来得普遍。最近,VHDL 及 Verilog HDL 的发展协会 ,为提供更一般化的电路描述,已制定了能够同时描述数字及模拟混合电路的描述语法(注 4) ,相信支持其语法的相关 EDA 工具,应该能在近期面市。 为能迎接系统芯片(System on One Chip, SoC)以及智产权(Intellectual Property, IP)的时代来临,各 EDA 工具的供货商无不卯足全力,企图在下一世代的设计流程上,站在业界领先的地位。Synopsys 及Cadence 更是相继推出应用功能一致性验证及静态仿真等技术的产品,例如:Formality、PrimeTime(Synopsys )以及 Affirma(Cadence ) ;其它诸如预先平面规划(pre-floor-planning)等新的设计观念亦不断地被提出。虽然电路的设计工具及观念不断推陈出新,但是对传统的芯片设计厂商而言,如何将这些新的概念,整合进原先的设计流程,才是最重要的问题。希望本文介绍的基本设计流程,能提供初入门者一个完整的概念。笔者相信,只要以这个典型的设计流程为基础,应该不难接受新的设计观念才对.

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

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报