今天开始更新数字IC后端设计实现中Innovus零基础Lab学习后续内容。
数字后端零基础入门系列 | Innovus零基础LAB学习Day1
####LAB5-2
这个章节的目标也很明确------学习掌握工具的一些常用快捷键。
这里只需要掌握以下几个快捷键即可。其他小编我也不会,也用不着。
调出尺子ruler。按下k键后鼠标左键开始画尺子。
清除自己画的尺子,按下shift+k即可。(这里需要注意跳出画尺子模式,需要按下快捷键A)
缩小按下shift +z即可。
复制某个object ,按下快捷键 c 即可。
查看某个object的属性,按下q (query的意思) 即可。
数字IC后端设计如何从零基础快速入门?(内附数字IC后端学习视频)
挪动macro,按下shift+r 键进入挪macro的模式,然后鼠标左键挪动我们需要的位置即可。这个在人工做floorplan时都要用到。
有需要练习数字IC后端PR Floorplan Lab的同学,可以找小编索要下面这套lab data和lab实验手册。都是免费提供的。
####END OF LAB5-2
LAB5-3
这个章节的目的很简单------当有个菜单你需要经常使用它时,可以通过tear off某个菜单,将这个菜单独立显示在我们的显示窗口上(点击其他地方该菜单仍然在当前视图显示)。
方法如下图所示,点击任何一个菜单下方的虚线即可。
###END OF LAB5-3
LAB5-4
这个章节是介绍清除floorplan。当你想重新定义一个模块或者芯片的大小尺寸时,可以使用清除floorplan。
GUI操作步骤如下:
点击Clear Floorplan后,弹出如下对话框,点击OK即可。
当我们要改芯片尺寸大小时,我的建议是重新打开init design后的database,然后重新initial floorplan就可以了。这个功能大家不一定要用。
###END OF LAB5-4
###LAB5-5
本章节主要学习定义芯片(模块)尺寸大小。
GUI界面操作: Floorplan----> Specify Floorplan
芯片或模块大小有两种方式来指定。本lab是根据Aspect Ratio,即给定利用率,工具自己来算出H和W(高度和宽度)。因此这里默认是矩形形状,H*W即为面积。
还有一种方式是通过Dimension,即直接指定H和W大小。
另外,对于本lab是带IO的设计,所以我们还需要指定Core2IO的间距。如果是模块级的,我们就需要指定Core2Die的间距。
点击OK后,layout显示如下图所示。IO和CORE之间就有了100um的距离。
###END OF LAB5-5
###LAB5-6
这个章节是介绍如何自定义菜单 ,建议初学者直接跳过,基本上用不到。如果想定制,可以等后续时间多了再研究。
###END OF LAB5-6
###LAB5-7
这个章节介绍设计导入后的基本检查,主要检查设计参考库以及netlist本身的问题。
本节就介绍一个命令------checkDesign -netlist的使用及其意义。
这个命令主要检查以下几个要点:
总而言之,就是检查设计(netlist)是否导入成功,物理库,比如lef是否正确,是否有缺失,时序库library (lib)是否有缺失等等。
1)物理库缺,比如某个macro或者标准单元的lef缺了。那后面的所有结果都是错的。
2)lib库缺,就会出现cell的unresolved,即无法link成功,这样timing都是不准的,相关的timing大概率都不会做优化。
3)电源和地的连接是否正确,主要是derive pg是否正确。
4)tie cell的定义是否正确等。
我们这个lab执行checkDesign -netlist后结果如下:
从结果上我们可以看到当前设计有192条 output floating net。当然设计中是允许存在output floating的。
设计中有3条high fanout net,分别是pllclk,ram_128X16A和rom512X16A。
设计中有4种cell有dont use 属性。
在我们的work/checkDesign/目录下会生成一个叫DTMF_CHIP.main.htm.ascii的文件,这里面会有checkDesign的详细信息。比如三条High fanout net分别为macro的时钟端clk和scan_enI。
数字后端对于命令的掌握都是需要通过项目实战慢慢积累起来的。而命令的学习掌握都是通过man和help来获取命令的使用方法以及各种选项。
比如想要知道checkDesign的相关解释以及用法,可以通过下面两种方式来获取。
man checkDesign
help checkDesign (或checkDesign -help)
我们还可以通过下面的命令来检查设计导入过程是否有缺物理库和时序库信息的情况,即LEF和LIB文件是否有缺失的情况。
checkDesign -physicalLibrary -timingLibrary
###END OF LAB5-7