UNI 公 l898 集成电路设计实习Ⅵ LSI Design Labs 单元实验二 基于逻辑门的定制设计-1位全加器的设计 2011-2012 Institute of Microelectronics Peking University eserved
2011-2012 All rights reserved Institute of Microelectronics Peking University 集成电路设计实习 VLSI Design Labs 单元实验二 基于逻辑门的定制设计-1位全加器的设计
实验目的及时间安排 ●在实验1中我们学习了利用 cadence的定制设计工具进行晶体管级 的电路设计,包括原理图输入( schematic editor)、电路仿真 (ADE)和定制版图设计( virtuoso xl) ●在实验2中我们学习基于门级电路的定制设计方法,即利用基本门 构建更大的电路 ●门级定制设计的目的是利用现有的设计资源快速构建原型设计, 评估设计方案,后续可以再通过器件级设计进一步优化;其设计 过程和工具的使用同器件级设计基本相同,只是设计起点是门电 路 ●完成全加器的设计 ●设计时间:1次课 Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Copyright O 2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 2 实验目的及时间安排 在实验1中我们学习了利用cadence的定制设计工具进行晶体管级 的电路设计,包括原理图输入(schematic editor)、电路仿真 (ADE)和定制版图设计(virtuoso XL) 在实验2中我们学习基于门级电路的定制设计方法,即利用基本门 构建更大的电路 门级定制设计的目的是利用现有的设计资源快速构建原型设计, 评估设计方案,后续可以再通过器件级设计进一步优化;其设计 过程和工具的使用同器件级设计基本相同,只是设计起点是门电 路 完成全加器的设计 设计时间:1次课
单元实验二:实验要求 ●电路功能正确,满足真值表 完成电路版图设计,版图验证和电路提取后仿真等 设计过程 ●按照标准单元的方法摆放基本单元版图,保持单元 等高相邻接 ●版图放在第一象限,最左面单元的左下角位于坐标 原点 ●工艺提供3层金属,设计中可以使用金属1和金属2 作为基本单元之间的互连(金属3留给顶层设计) Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Copyright O 2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 3 单元实验二:实验要求 电路功能正确,满足真值表 完成电路版图设计,版图验证和电路提取后仿真等 设计过程 按照标准单元的方法摆放基本单元版图,保持单元 等高相邻接 版图放在第一象限,最左面单元的左下角位于坐标 原点 工艺提供3层金属,设计中可以使用金属1和金属2 作为基本单元之间的互连(金属3留给顶层设计)
单元实验二:实验内容 ●用基本单元设计全加器AB0S0 即一位加法器 ●输入信号:Ci,A,B,其中Ci 为进位输入信号,A,B为本位010 的输入信号,即被加数和加数[011101 ●输出信号:Co,S,其中Co为 本位的进位输出信号,S为本位 的和信号 0 ●真值表:根据真值表可以得到11111 全加器的逻辑功能 S=AoBOCi Co=AB+ BCi +CiA Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Copyright O 2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 4 单元实验二:实验内容 用基本单元设计全加器, 即一位加法器 输入信号:Ci,A,B,其中Ci 为进位输入信号,A,B为本位 的输入信号,即被加数和加数 输出信号:Co,S,其中Co为 本位的进位输出信号,S为本位 的和信号 真值表:根据真值表可以得到 全加器的逻辑功能 A B Ci S Co 00000 00110 01010 01101 10010 10101 11001 11111 S A B Ci Co AB BCi CiA
全加器: ●用基本单元设计全加器,即一位加法器 ●根据真值表得到的逻辑表达式中需要异或和与或等逻辑功能,可以把这 些逻辑功能用一个门电路实现,就是晶体管级的设计,但是由于器件较 多,这个设计比较复杂,我们希望利用提供的单元库中的门电路构建加 法器的版图 ●设计资源:Char标准单元库,本实验可利用其库单元的版图构建定制 加法器 chrt35dg_ COREcel下的doc目录下有库的相关文档的说明,其中有所 有单元的逻辑功能描述等详细的信息。我们在构建全加器的过程中可以 参考说明文档选择需要的标准单元 ●单元的名称:从单元的名称中我们可以大体了解其基本功能,例如与、 或、异或等,其名称中的DX表示该单元的驱动能力 Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Copyright O 2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 5 全加器: 用基本单元设计全加器,即一位加法器 根据真值表得到的逻辑表达式中需要异或和与或等逻辑功能,可以把这 些逻辑功能用一个门电路实现,就是晶体管级的设计,但是由于器件较 多,这个设计比较复杂,我们希望利用提供的单元库中的门电路构建加 法器的版图 设计资源:Chart标准单元库,本实验可利用其库单元的版图构建定制 加法器 chrt35dg_COREcell下的doc目录下有库的相关文档的说明,其中有所 有单元的逻辑功能描述等详细的信息。我们在构建全加器的过程中可以 参考说明文档选择需要的标准单元 单元的名称:从单元的名称中我们可以大体了解其基本功能,例如与、 或、异或等,其名称中的DX表示该单元的驱动能力
chrt35dg_ COREcel库的目录 chr35dg_ COREcell目录中为数字半定制设计用标准单元厍文件,里面 各子目录内容如下所述: cd目录中为标准单元和|O单元的电路网表,用于 dracula工具的s检查 spice目录中为单元的spce网表 ●doc目录中为标准单元和O单元的说明文档 ● dracula目录中为 dracula工具的drc和vs检查文件,针对我们的设计进行了 部分修改 ●gds目录中为标准单元和O单元的版图,为gds格式 ● Icons目录中为逻辑综合中单元的 symbol,可以不用 ●Se目录中为 cadence后端设计用数据 ● Starr目录中为物理设计中互连线的Rc提取文件 synopsys目录中为逻辑综合文件 verilog和vhd目录中为库的逻辑仿真模型,我们使用 verilog模型 Virtuoso目录中为单元库提供的版图设计工艺和显示文件,我们使用模拟库 中的文件即可 Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Copyright O 2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 6 chrt35dg_COREcell库的目录 chrt35dg_COREcell目录中为数字半定制设计用标准单元库文件,里面 各子目录内容如下所述: cdl目录中为标准单元和IO单元的电路网表,用于dracula工具的lvs检查 spice目录中为单元的spice网表 doc目录中为标准单元和IO单元的说明文档 dracula目录中为dracula工具的drc和lvs检查文件,针对我们的设计进行了 部分修改 gds目录中为标准单元和IO单元的版图,为gds格式 icons目录中为逻辑综合中单元的symbol,可以不用 Se目录中为cadence后端设计用数据 Starrc目录中为物理设计中互连线的RC提取文件 synopsys目录中为逻辑综合文件 verilog和vhdl目录中为库的逻辑仿真模型,我们使用verilog模型 Virtuoso目录中为单元库提供的版图设计工艺和显示文件,我们使用模拟库 中的文件即可
实验步骤1—一建立设计库 ●在lab2下的 termina中启动df工具(也称作 virtuoso平台),即输 入icfb&命令 利用 library manager工具可以看到你在 cds. lib文件中 include进来 的库,即是lab1中的库,如果没有看到这些库,检查cds.ib文件是 否正确 ●这些库中可以看到你在lab1中实验的设计库,你可以把lab2部分的 实验内容也放在这个设计库中,当然如果为了便于管理,可以建 立一个新的设计库用于lab2部分的实验,新建的库要 attach到 chrt35dg_ COREcel艺库上,以便获得相关的工艺信息 ●chrt35dg_ COREcel库为 IP core公司为 Chart开发的标准单元库的 版图,我们主要利用该库中的单元构建全加器。| Ocells3L为lO单 元库 ●| Ocells3L为|O单元库,现在不用 Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Copyright O 2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 7 实验步骤1--建立设计库 在lab2下的terminal中启动dfII工具(也称作virtuoso平台),即输 入icfb&命令 利用library manager工具可以看到你在cds.lib文件中include进来 的库,即是lab1中的库,如果没有看到这些库,检查cds.lib文件是 否正确 这些库中可以看到你在lab1中实验的设计库,你可以把lab2部分的 实验内容也放在这个设计库中,当然如果为了便于管理,可以建 立一个新的设计库用于lab2部分的实验,新建的库要attach到 chrt35dg_COREcell工艺库上,以便获得相关的工艺信息 chrt35dg_COREcell 库为IP core公司为Chart开发的标准单元库的 版图,我们主要利用该库中的单元构建全加器。IOcells3L为IO单 元库 IOcells3L为IO单元库,现在不用
实验步骤2一一确定逻辑单元 ●打开chrt35dg_ COREcell库中的任意一个单元的版图,例如AD01D1, 可以看到其版图数据,如果看不到正确的图层信息,请检查 display drf 文件是否在ab2目录下 ●标准单元库中的AD01D1和AD01D2单元是库中的全加器,其中D1是一 倍驱动能力,而D2是2倍驱动能力的单元,即驱动相同的负载电容,D2 单元的速度较快,但是面积和功耗较多,通过版图可以看到二者面积的 区别,逻辑综合器用高驱动能力的单元优化关键路径,而非关键路径使 用低驱动能力单元以降低面积和功耗 ●lab2的实验目的是利用门级单元构建全加器,因此可以利用除了这两个 已有的全加器以外的所有单元构建设计 ●其他的单元,大家可以参考单元库说明文档了解其逻辑功能和端口信号 ●根据全加器的真值表和逻辑表达式选择库中适当的单元实现其逻辑功能, 这些单元的选择在很大程度上决定了后续版图设计,单元少则连线少, 面积可能也小些 Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Copyright O 2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 8 实验步骤2--确定逻辑单元 打开chrt35dg_COREcell库中的任意一个单元的版图,例如AD01D1, 可以看到其版图数据,如果看不到正确的图层信息,请检查display.drf 文件是否在lab2目录下 标准单元库中的AD01D1和AD01D2单元是库中的全加器,其中D1是一 倍驱动能力,而D2是2倍驱动能力的单元,即驱动相同的负载电容,D2 单元的速度较快,但是面积和功耗较多,通过版图可以看到二者面积的 区别,逻辑综合器用高驱动能力的单元优化关键路径,而非关键路径使 用低驱动能力单元以降低面积和功耗 lab2的实验目的是利用门级单元构建全加器,因此可以利用除了这两个 已有的全加器以外的所有单元构建设计 其他的单元,大家可以参考单元库说明文档了解其逻辑功能和端口信号 根据全加器的真值表和逻辑表达式选择库中适当的单元实现其逻辑功能, 这些单元的选择在很大程度上决定了后续版图设计,单元少则连线少, 面积可能也小些
实验步骤3—一版图设计:布局 ●由于标准单元库中没有提供电路原理图,我们直接利用其版图构 建全加器,然后通过电路仿真验证其性能和功能 在设计库中建立一个新的 ayout cellview,例如叫 fullard,启动 virtuoso layout editor工具,开始版图设计 ● virtuoso le工具是 virtuoso之前的版本,为基于图形的定制版图 工具,而 virtuoso为基于连接关系的工具,由于门级设计中没有 原理图,我们实验利用VLE进行设计 ●根据全加器的逻辑表达式,选择适当的库单元实现相关的逻辑功 能,选择的原则是使得实现的版图面积最小,这一方面取决与单 元的数目,另一方面取决与他们直接的连线 ●在ⅥLE中例化组成全加器的所有单元,将其排成一行,最后放在 横坐标上,单元直接邻接,可以共享vdd和gnd走线 Institute of Copyright
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 9 实验步骤3--版图设计:布局 由于标准单元库中没有提供电路原理图,我们直接利用其版图构 建全加器,然后通过电路仿真验证其性能和功能 在设计库中建立一个新的layout cellview,例如叫fulladd,启动 virtuoso layout editor工具,开始版图设计 virtuoso LE工具是virtuosoXL之前的版本,为基于图形的定制版图 工具,而virtuosoXL为基于连接关系的工具,由于门级设计中没有 原理图,我们实验利用VLE进行设计 根据全加器的逻辑表达式,选择适当的库单元实现相关的逻辑功 能,选择的原则是使得实现的版图面积最小,这一方面取决与单 元的数目,另一方面取决与他们直接的连线 在VLE中例化组成全加器的所有单元,将其排成一行,最后放在 横坐标上,单元直接邻接,可以共享vdd和gnd走线
实验步骤3—一版图设计:布线 ●对于完成布局后的版图设计,可以根据其逻辑连接关系进行连线, 根据设计要求可以使用金属1和金属2进行走线 ●由于单元内部有很多金属1的走线,因此,一般原则是金属1在单 元外部进行横向走线,金属2用于将单元内部的pin脚连接到单元外 部的垂直走线,这样可以有效提高走线的效率 ●金属2也可以在单元之间的短距离的横向走线,当然在两个pin脚 相邻较近的时候,金属1也可以在不短路和违反设计规则的前提下 在单元内部横向走线 ●完成版图设计后进行drc检查,修正错误 Institute of Microelectronics, Peking University 集成电路设计实习一单元实验 Page 10 Copyright◎2011-2012 1位全加器设计
Institute of Microelectronics, Peking University Copyright © 2011-2012 集成电路设计实习-单元实验二 1位全加器设计 Page 10 实验步骤3--版图设计:布线 对于完成布局后的版图设计,可以根据其逻辑连接关系进行连线, 根据设计要求可以使用金属1和金属2进行走线 由于单元内部有很多金属1的走线,因此,一般原则是金属1在单 元外部进行横向走线,金属2用于将单元内部的pin脚连接到单元外 部的垂直走线,这样可以有效提高走线的效率 金属2也可以在单元之间的短距离的横向走线,当然在两个pin脚 相邻较近的时候,金属1也可以在不短路和违反设计规则的前提下 在单元内部横向走线 完成版图设计后进行drc检查,修正错误