第3章 实现设计的准备.doc_第1页
第3章 实现设计的准备.doc_第2页
第3章 实现设计的准备.doc_第3页
第3章 实现设计的准备.doc_第4页
第3章 实现设计的准备.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 实现设计的准备2.1 标准单元库一个集成电路的设计总是要基于某种工艺来实现,在选定工艺后,可以从芯片生产厂家获得相关的技术文件。基于自动综合技术的设计需要一个完整的标准单元(cell)库。标准单元是厂家自己或委托其他公司设计的,本身就是一种IP核。负责逻辑综合和版图设计的人员,应首先了解“库”的组织方法和其中的基本信息。一般情况下,“库”总是按“前端”和“后端”的方式组织,“前端”库是逻辑综合、仿真分析和时序分析等环节需要的数据,“后端”库是版图设计时需要的信息。实现一个设计至少需要以下技术文件。(1) 前端“核单元”库“核单元”就是各种基本逻辑单元(cell),包括逻辑门、触发器和一些较常用的组合逻辑部件,如全加器、多路选择器等。一般情况下,该库有两种文件格式,.lib格式的文件是可读的,负责逻辑综合的设计者必须首先阅读该文件,了解其中的各种基本定义,如时间的单位、电容、电阻的单位等。如果库中没有提供专门的时序文件,版图设计者也要使用.lib文件提供cell本身时序参数。.db格式的文件是由.lib编译生成的,在逻辑综合时需要这种文件。(2) 前端“IO单元”库“IO单元”是指在IO PAD部分的保护电路,“IO单元”分很多种,包括输入型、输出型、输入/输出型PAD,以及电源和地线PAD。版图设计者必须认真阅读有关文档,深入了解每个PAD的使用方法。负责逻辑综合的人,也需要对IO单元有足够的了解,“输入PAD”的输出决定了对“核”的驱动能力,“输出PAD”的输入则是“核”的负载。这些信息对编写综合时需要的约束文件很重要。(3) 标准单元的硬件描述语言库通常情况下,标准单元库中会至少给出一种硬件描述语言格式(verilog或vhdl)的“核单元”和“IO单元”库,这种库主要用于“门级”的仿真分析。(4) 后端“核单元”库后端的“库”都与使用的布线工具有关,常用的布线工具有两种,一是Astro,另一种是Encounter,两种工具需要的数据文件完全不同,厂家一般分别给出支持这两种工具的技术文件。用Cadence的Encounter使用LEF格式的文件,该文件其实是各种标准单元的“版图符号”,其中只有尺寸信息和与布线有关的金属层和引脚位置等信息,没有版图的其它细节。“核单元”的LEF文件是各种逻辑单元的“符号”,根据使用的金属层数的多少,可分为多个文件,应正确选择。在Cadence的Encounter环境下,为提高软件执行速度,自动布局、布线的过程都是在上述的“符号”上进行的,所得到的结果还不是真正的版图。(5) 后端“IO单元”库与后端“核单元”库类似,在Cadence环境下也以LEF格式提供,同样是版图的轮廓,没有细节。(6) GDS文件库gds文件是真正的版图文件,包括各种“核单元”和“IO单元”的版图细节。将和gds库文件和Encounter输出的gds文件同时导入到DFII环境下,才能看到版图的细节,并生成最后的可制造的gds文件。由于这个步骤可以在厂家完成,有时厂家并不提供该文件。2.2 逻辑综合库本讲义使用的虚拟机环境下标准单元库在/iclib/fsa0a_c/2004Q4v1.1/SC下,.lib格式的前端综合库是很庞大的,但重要的信息都在前几行。综合库有3个文件,分别对应“典型”、“最好”和“最坏”工艺偏差,所谓“最好”和“最坏”都是从速度的角度来看的,设计时一般先用“典型”的进行综合,但验证阶段,各种库都要使用。以“典型”库为例,以下几句是关于时间单位、电容单位、电阻单位的定义,编写综合脚本时必须使用相同的单位。delay_model : table_lookup ; time_unit : 1ns ; capacitive_load_unit(1.0,pf) ; voltage_unit : 1V ; current_unit : 1mA ; leakage_power_unit : 1pW ; pulling_resistance_unit : 1kohm ;以下一段是关于工作条件的定义,“工作条件”主要指电源电压和环境温度,每个库中有3种工作条件,分别定义为“TCCOM”,“WCCOM”和“BCCOM”,因此时序验证时要考虑9种情况。这个概念与使用Hspice时的“工艺角分析”类似。nom_process : 1.0 ; nom_temperature : 25.0 ; nom_voltage : 1.800 ; operating_conditions(TCCOM) process : 1.0000 ; temperature : 25.0 ; voltage : 1.800 ; tree_type : worst_case_tree ; power_rail(VDD12V,1.2); power_rail(VDD15V,1.5); power_rail(VDD18V,1.8); power_rail(VDD2V,2.5); power_rail(VDD3V,3.3); power_rail(VDD5V,5); operating_conditions(WCCOM) process : 1.31 ; temperature : 125 ; voltage : 1.620 ; tree_type : worst_case_tree ; power_rail(VDD12V,1.08); power_rail(VDD15V,1.35); power_rail(VDD18V,1.62); power_rail(VDD2V,2.25); power_rail(VDD3V,2.97); power_rail(VDD5V,4.5); operating_conditions(BCCOM) process : 0.84 ; temperature : -40.0 ; voltage : 1.980 ; tree_type : balanced_tree ; power_rail(VDD12V,1.32); power_rail(VDD15V,1.65); power_rail(VDD18V,1.98); power_rail(VDD2V,2.75); power_rail(VDD3V,3.63); power_rail(VDD5V,5.5); 以下是关于导线上的负载的估算模型,在版图中,线的长度与芯片规模有关,规模大的芯片,导线上的电容和电阻都比较大。电阻、电容的大小会影响信号的传输时间,如不考虑,可能导致时序错误。在逻辑综合阶段,版图还没有生成,只能根据规模估算,设计者可根据经验指定一种模型,也可以让EDA工具自动选择。版图生成后,可提取实际的寄生参数,进行布线后的时序验证。wire_load(G0K) resistance : 0.0; capacitance : 0.000175 ; area : 0.0; slope : 0.0; fanout_length(1, 0.0) ; wire_load(G5K) resistance : 0.0; capacitance : 0.000175 ; area : 0.0; slope : 0.5; fanout_length(1, 18.0) ; fanout_length(2, 38.1) ; fanout_length(3, 60.8) ; fanout_length(4, 98.0) ; fanout_length(5, 143.4) ; fanout_length(10, 244.1) ; fanout_length(16, 496.6) ; fanout_length(50, 788.1) ; fanout_length(90, 1387.6) ; 文件的其它部分是关于每个具体单元的数据,包括输入引脚的电容、输出引脚驱动能力以及各种负载条件下的延迟和功耗等,这些内容暂时不必阅读,需要时再查找即可。2.3 导入gds库Encounter生成的文件中,在“单元”部分的版图只是一个符号,Encounter所完成的只是“符号”与“符号”的连接。要看到“符号”内部的细节,需要将生成的gds文件与标准单元的gds文件导入到同一个库中。以下介绍导入标准单元的方法。导入gds文件有多种方法,较好的方法是先利用厂家提供的“技术文件”(Technology File)在Cadence的DFII环境下建立一个库,再向该库导入gds文件。建库方法如下:(1)从socusr登录,密码123456。(2)打开命令输入窗口,用cd命令进入cds目录。(3)启动ICFB 到指定的目录下,输入icfb,回车。(4)在文件管理器中进行如下操作:FileNew Library,应看到(图1)。(5)填写库名“cells_and_design”和路径“./”。(6)选择“Compile tech library”,并在右侧的列表中选择“others”。图1(7)点击“ok”后会弹出图2所示窗口,在其中填写技术文件路径和名称。图2最后可生成一个基于该“技术文件”的库。(8) 在CIW窗口中选择FileImportStream in,可看到图3所示窗口。(9) 填写输入文件路径和名称。图3(10)点击“User-Define Data And Options”,并图4中在相应窗口中填写“映射”文件路径和名称。图4(11)用同样方法将“核单元”和“IO单元”导入到同一“库”中。现在进入ICFB环境,在库管理器中找到“cells_and_design”,就可以看到单元的版图了。图6图5图7在用Encounter生成设计部分的gds文件后,也需要按类似方法导入该库中,验证无误后,再从该库中输出gds文件,就可送厂家流片生产了。图7到图9是另一种工艺的标准单元库(bcd05),导入方法与前面介绍的类似,但不需要填写“User-Define Data And Options”。在设计环境中已经导入,以后设计主要使用该工艺实现。图9 与非门版图图8 反相器版图图10 触发器版图2.3 本章小节本章主要介绍标准单元库,目的是使学习者理解为什么硬件描述语言编写的代码能够转化为电路的版图。这个看似神秘的问题其实并不难理解。数字电路(确切地讲是逻辑部分,不包括存储器),无论逻辑关系如何复杂,规模如何庞大,总是可以由各种逻辑门、触发器等基本单元电路实现。芯片生产厂家首先设计好了各种基本逻

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论