问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助各位大哥大姐

发布网友 发布时间:2022-04-24 07:46

我来回答

2个回答

热心网友 时间:2022-06-17 18:11

在高阶设计的领域中,硬件描述语言扮演的角色,只是一种程序语言接口(PLI);它提供了一个极具弹性的设计入口(design entry),以作为电路设计者与各种计算机辅助设计工具之间沟通的桥梁 。因此,若缺少了这些EDA工具,硬件描述语言的剩余价值,也只不过是一种系统规划工具,或是技术文件格式而已。 具体地说,整个数字电路的高阶设计概念 ,可以说就是设计自动化(design automatize)的实现。理想的情况是:由仿真验证设计是否符合原始设定的规格(specification),以至于诸如逻辑电路的合成与实际晶体管配置与绕线(place and route)这一类徒手不易掌控的工作,工程师均能寻求适当的DEA工具来完成整个电路的设计。图2描述了完整的自动化数字电路设计流程;其中包含了三种主要的EDA工具:仿真器(simulator)、合成器(synthesizer)以及配置与绕线(place and routing, P&R)工具;除了P&R工具之外,其余两者绝大部分,均是以VHDL或Verilog HDL作为其程序语言接口。以下,笔者将配合介绍这个典型的自动化设计流程,简述各项EDA工具的基本功用。 1.系统规格制定(Define Specification) 在ASIC设计之初,工程师们须根据产品的应用场合,为ASIC设定一些诸如功能、操作速度、接口规格、环境温度及消耗功率等规格,以做为将来电路设计时的依据。在这方面,目前已有厂商提供系统级仿真器(system -level simulator),为系统设计提供不错的解决方案;透过此类仿真器,工程师们可以预估系统的执行效能,并可以最佳化的考量,决定韧体模块及硬件模块该如何划分。除此之外,更可进一步规划哪些功能该整合于ASIC内,哪些功能可以设计在电路板上,以符合最大的经济效能比。 2.设计描述(Design Description) 一旦规格制定完成,便依据功能(function)或其它相关考量,将ASIC划分为数个模块(mole);此阶段是整个设计过程中最要的关键之一,它直接影响了ASIC内部的架构及各模块间互动的讯号,更间接影响到后续电路合成的效能及未来产品的可靠性。 决定模块之后,便分交由团队的各个工程师,以VHDL或Verilog等硬件描述语言进行设计-亦即功能的行为描述(behavioral description);为能明确及有效率地描述模块的内部功能,各模块之下可能再细分成数个子模块(sub-mole),直到能以可合成(synthesizible)的语法描述为止。这种一层层分割模块的设计技巧,便是一般所谓的阶层式设计(hierarchical design);这与早期直接以绘制闸级电路进行设计的时代,所使用的技巧是相类似的。此一步骤所完成的设计描述,是进入高阶合成电路设计流程的叩门砖;习惯上,称之为硬件描述语言的设计切入点(HDL design entry)。 关于此一步骤,亦有相关的辅助工具相继推出。Design Book便是其中的代表;它利用一般工程师熟悉的图形接口-如状态图及流程图,协助初接触以硬件描述语言进行设计的工程师,自动编写出相对应的硬件语言描述码。效能如何笔者不敢断言,但它能依使用者决定,整合惯用之其它EDA工具的特点,倒是满吸引人的地方。 3.功能验证(Function Verification) 完成步骤2的设计描述,接下来便是利用VHDL或Verilog的电路仿真器,针对先前的设计描述,验证其功能或时序(timing)是否符合由步骤1所制定的规格。通常,称这类验证为功能仿真(function simulation),或行为仿真(behavioral simulation),而这类的HDL电路仿真器,则通称为行为仿真器(behavioral simulator)。 对于这一类功能验证的仿真而言,仿真器并不会考虑实际逻辑闸或联机(connenct wires)所造成的时间延迟(time delay)、闸延迟(gate delay)及传递延迟(transport delay)。取而代之的是,使用单一延迟(unit delay)的数学模型,来粗略估测电路的逻辑行为;虽然如此无法获得精确的结果,但其所提供的信息,已足够作为工程师,针对电路功能的设计除错之用。 为了能顺利完成仿真,在此,您还需要准备一分称为测试平台(test bench)的HDL描述?。在这份测试平台的描述档中,必须尽可能地细描述所有可能影响您设计功能的输入讯号组合,以便激发出错误的设计描述位于何处。幸运的话,或许在几次修改之后,就可得到您想要的结果,顺利进入下一个步骤。 4.逻辑电路合成(Logic synthesis) 确定设计描述之功能无误之后,便可藉由合成器(synthesizer)进行电路合成。合成过程中,您必须选择适当的逻辑闸组件库(logic cell library),作为合成逻辑电路时的参考依据。组件库的取得,可能直接来自于您的ASIC供货商(ASIC vendor, 负责协助客户设计ASIC的厂商)、购自其它组件库供货商(third-party ASIC library vendor),或是为了某种特殊原因,您亦可能考虑自行建立。 事实上,组件库内含的逻辑闸信息非常广泛,大致上包括了以下各项。 cell schematic,用于电路合成,以便产生逻辑电路的网络列表(netlist)。 timing model,描述各逻辑闸精确的时序模型;组件工程师会萃取各逻辑闸内的寄生电阻及电容进行仿真,进而建立各逻辑闸的实际延迟参数。其中包括闸延迟(gate delay) 、输出入的延迟(input delay / output delay)及所谓的联机延迟(wire delay)等;这在进入逻辑闸层次的电路仿真,以及在P&R之后的仿真都会使用到它。 routing model,描述各逻辑闸在进行绕线时的*,作为绕线工具的参考资料。 silicon physical layout,在制作ASIC的光罩(mask)时会使用到它。 使用合成器有几个需要注意的事项,其一就是最佳化(optimize)的设定。根据步骤1所制定的规格,工程师可对合成器下达一连串*条件(constrain),根据这些条件,合成器便会自动合成满足您规格要求的逻辑电路。最常见的三个*条件(注3)有:操作速度、逻辑闸数及功率消耗。事实上,这三项*条件之间是呈现互相矛盾的关系;也就是说:一旦您所下的*条件太过严苛,将使电路合成的速度变得非常的慢,更甚者,有可能在花费大把时间后,仍得不到您想要的结果。 design entry硬件语言设计描述文件,其语法的编写风格(HDL coding style) ,亦是决定合成器执行效能的另一个因素。事实上,无论是对VHDL或是Verilog而言,合成器所支持的HDL语法均是有限的;过于抽象的语法只适用于编写cell library,或是做为系统规划评估时的仿真模型所用,而不为合成器所接受。 此外,由于一般合成器的最佳化算法则,都只能达到区域性最佳化(local optima);因此,对于过分刁钻的语法描述,将影响合成器在最佳化过程的执行时间。 利用图3,可以简单地说明coding style与最佳化之间的关系:一个良好的coding style,便如同位于A点上的球,合成器仅需花费些许的气力,便可将其推至最低点(最佳点)。而相反地,较差的coding style,就犹如位在C点上的球,合成器需花费较大的功夫,才能将其推到B点;假若又加上较严苛的*条件,则可能连B点都到不了。工程师应清楚的明白,对您所使用的合成器而言,哪些才是“良好的”coding style,而这些在使用手册中都可以查得到。 5.逻辑杂层次的电路功能验证(Gate-Level Netlist Verification) 由合成器产生的netlist,会在这个阶段进行第二次的电路仿真;一般称之为逻辑闸层次的电路功能验证,或称为P&R前的仿真,简称前段仿真(pre-simulation)。在此阶段,主要的工作是要确认,经由合成器所合成的电路,是否如同原始的设计描述般,符合您的功能需求;利用逻辑闸层次仿真器(gate-level simulator),配合在功能验证时已经建立的test bench,便可达到这个目的。 这里出现两个新的名词:VITAL(VHDL Initiative Toward ASIC Library)、library及Verilog library;两者均可视为先前所提及的cell library当中的timing model。在pre-simulation中,一般只考虑闸延迟,而联机延迟在此处是不予考虑的(通常在电路合成阶段,是无法预测实际联机的长度,因此也就无法推测联机所造成的延迟)。 时序变异(timing variation)是此处经常出现的发生错误,这当中包括了,设定时间(set-up time)或保持时间(holding time)的不符合,以及脉冲干扰(glitch)现象的发生。而这些时序变异,基本上都是只是单纯考虑闸延迟时所造成的结果。 6. 配置与绕线(Place and Routing) 这里包含了三项主要的工作:平面规划(floor planning)、配置(placement)及绕线(routing)。还记得在设计描述的步骤,您已将ASIC划分成数个模块了吗?floor planning的工作便是,适当地规划这些划分好模块在芯片上的位置。 比起模块内逻辑闸间的接线,各模块之间互连讯号的接线,通常会比较长,因此,他们所产生的延迟会主控ASIC的性能;在次微米制程上,此种现象更为显著,这也就是为何先前特别强调,模块划分的重要性。完成平面规划之后,P&R工具便接着完成各模块方块内逻辑闸的放置与绕线。 7.绕线后的电路功能验证(Post Layout Verification) 在这个阶段,经过P&R之后的电路,除了须重复验证,是否仍符合原始之功能设计之外,工程师最关心的是,在考虑实体的闸延迟及联机延迟的条件之下,电路能否正常运作。与逻辑闸层次的电路功能验证时发生的情况相同,您将面对诸如set-up time、holding time及glitch的问题;不同的是,此时若真有错误发生,您将面对更冗长的重复修正周期(iteration cycle)。也就是说,您可能需要回到最原始的步骤:修改HDL设计描述,重新再跑一次相同的流程。

热心网友 时间:2022-06-17 18:12

多找些东西看看`
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 我想请教IC设计与程序设计、C语言有什么相关,能具体讲讲它们的关系吗? ASIC验证是学C++还是System Verilog 我有个格式为.m4r的文件想转换为可在播放器上播放的格式。请推荐一个可在线转换的网站。 请问谁知道一个在线转PDF格式的网站? 哪个网站可以在线转换媒体文件的格式?? 找一个免费转换视频格式的网站、希望大家能提供、追分~谢谢 有没有kindle3文件格式在线转换的网站, 或者软件 要转换效果很好的 谁知道视频转换格式的网站呢? SWF格式的视频文件怎么在线转换成FLV的文件 如何将pdf文件转换成word文档格式?6个免费实用在线网站全搞定 第三者商业险赔偿纠纷 商业三者险 连带责任 商业险的第三者解释 第三者商业险如何赔偿 第三者责任商业险赔偿 第三者商业险怎么赔偿 第三者责任商业保险 商业险第三者包括哪些 第三者商业险多少钱 优酷综艺大多难逃“扑街”结局,《这就是街舞》能否成优酷绝地反击之作? 请问那个cpld芯片的资源最少,我想用一个很小的?谢谢!!! SystemC与Verilog的比较 你怎样认识温州的知名度与美誉度 全国成人声乐考级一共多少级? QQ游戏删除好友 小学生想象作文 对于少儿英语培训班的选择,哪些是主要考虑的因素呢? 面对琳琅满目的各种英语培训机构,家长们该如何选择才最合适? 如何给孩子选择英语培训班 关于读书的好书推荐? 如何挑选一家适合自己孩子的英语培训机构? 如何选择少儿英语机构? 家长该如何给孩子选择英语培训班呢,这个问题郭锅老师可以帮助到你? ...告诉你如何选择一个适合小学生的英语培训机构 选择少儿英语培训机构要慎重,有哪些选择的技巧? 读书推荐? 想学习外语,该怎么选择培训班? 怎样给孩子选择好的现在少儿英语培训班? 有什么好书推荐??? 怎样选择英语培训机构