【精选】ICC 图文学习

您所在的位置:网站首页 linux清空界面指令 【精选】ICC 图文学习

【精选】ICC 图文学习

2023-10-20 22:14| 来源: 网络整理| 查看: 265

  解决了库的问题,开始上手跑lab了。在做lab的过程中,会补充一些相关的知识点和自己的学习笔记,加深理解,防止遗忘。

LAB0:熟悉ICC图形界面 LAB 0A1. 启动ICC2. Layout视图导航3. 控制图层的可见性4. 选择和查询对象5. 获取命令和变量的信息 LAB 0B1. 配置窗口2. 平移和缩放的历史记录3. 选择列表、高亮显示和查询4. 分析时序路径5. 窗口管理

LAB 0A 1. 启动ICC 登录到Linux环境(安装好虚拟机,登录即可)启动ICC之前,需要删除GUI窗口配置文件,因为这个文件保存了之前的GUI窗口设置(删除窗口配置并非必要操作) rm ~/.config/Synopsys/icc_shell.conf 从当前目录更改到lab0_gui目录 cd lab0_gui 在Linux命令行下启动ICC icc_shell 查看当前目录下的文件(其中-la表示将所有文件列出来) icc_shell > ls -la

运行完后可以看到两个文件,分别是 .cmd(命令文件)和 .log(输出日志文件)。 其中,cmd文件记录所有命令和启动ICC调用的命令;log文件记录工具启动后的命令和命令的输出。 注:log文件命名可以在库设置文件 .synopsys_dc.setup 中定义。

打开ICC图形界面 icc_shell > start_gui #或 icc_shell -gui

从risc_chip.mw(MilkWay设计库)加载被放置的单元,步骤如下: a. 在主窗口中,点击左上角的黄色图标(如下图),或使用菜单命令File-Open Design 在这里插入图片描述 b. 在“Open Design”对话框中单击黄色文件夹图标,打开“Select Library”对话框。选择MilkWay库中带有橙色“L”图标的库文件(risc_ship.mw),并点击“choose”按钮(如下图)。 在这里插入图片描述 c. 在“OpenDesign”对话框中显示了被存储的CEL。由于列表中只有一个单元,已经被选中(蓝色高亮显示),点击“OK”,打开Layout窗口,如下图: 在这里插入图片描述 在这里插入图片描述

将Main窗口放在前面,查看窗口底部的命令记录,回答以下问题: 问题1:执行了什么命令去打开placed cell?(提示:在命令行内按上下键,查看之前输入的命令) 答案:open_mw_cel placed.(如下图) 在这里插入图片描述 注:查看命令文本对初学ICC命令者非常有用。

将Layout窗口前置,并使窗口最大化。

点击小写 [ F ] 键,使布局图处于窗口最大化,如下图: 在这里插入图片描述   现在看到的是CEL design的布局图,属于rsic_chip.mw设计库的一部分。在layout的外围,IO PAD单元(浅蓝色矩形)围绕在core(色彩鲜亮)的四周。在core和IO PAD区域之间有绿色和红色的金属线组成环状,叫做power ring(由一根VSS和一根VDD组成)。 在这里插入图片描述   为了更好的进行供电,在core内会有纵横交错的straps(如上图)。其作用是为了将电源输送到芯片内部各个macro上,减小IR drop。 在这里插入图片描述   图中紫色的方框是标准单元,其放置在row上。蓝色的金属线条是power rail,主要给标准单元供电。 注:row是由site组成的,一般是site的整数倍,它对std cell的摆放起着限制作用。site定义的是最小的布局单位,如下图: 在这里插入图片描述

2. Layout视图导航 首先熟悉一下Layout窗口的缩放 (zoom)和平移(shift+p)按钮。在平移和缩放时,注意Overview Window窗口中黄色矩形的变化。 在这里插入图片描述 注:点击“Selection Tool”(白色箭头图标)或按[Esc]键,退出缩放和平移模式,此时光标变成“箭头”形状。 在这里插入图片描述 问题2:带有 " 2 " 的放大镜图标和带有 " + "的图标有什么区别? 回答:“2”表示放大两倍,“+”表示普通放大。当Layout窗口被打开时,快捷键和热键均可使用。小写字母 [ f ] 或 [ Ctrl+F ] 对应于 " zoom fit all " 功能(全视图)。[ Z ] 表示 " zoom in " (放大)功能。其他热键的定义,可以通过下面两种方式来了解: a. 将鼠标悬停在按钮上,将出现一个 " 帮助气泡 ",显示该按钮的功能名称和键盘快捷键。 b. 通过Help—Report Hotkey Bindings路径,将会打开一个新窗口,列出热键的定义。可以通过该窗口右上角的 " X " 或 [ Ctrl+w ] 来关闭这个窗口。少数人喜欢用鼠标进行 " 平移 " 和 " 缩放 " ,而不是快捷键或按钮。 具体使用方法:按住鼠标中键(约3秒),会出现功能菜单,然后移动鼠标进行选择即可,如下图: 在这里插入图片描述键盘方向键也可以用来进行平移操作。鼠标滚轮也可以用来进行缩放操作(每滑一次,都进行放大/缩小两倍) 3. 控制图层的可见性

在view setting面板,可控制对象的是可视性/可选择性,如下图: 在这里插入图片描述 接下来,我们将一次打开一些关键对象的可视性,以便清楚的看到它们所代表的内容。首先,在 " 设置 " 的下拉菜单中,选择 " Auto apply"(确保选择立刻生效)。 在这里插入图片描述  a. 在Vis栏(可视化),取消所有选项,保留cell(只显示std cell、macro、IO PAD),如下图: 在这里插入图片描述  b. 再选择Pin,可以发现输入、输出和电源连接引脚被显示出来,如下图: 在这里插入图片描述  c. 检查route,所有的金属线都可见,如下图。(因为设计还未布线,目前只能看到电源地的 " 预布线 ",如power ring、power straps、power rail) 在这里插入图片描述  d. 检查标签。(单元和实例的名字变得可见,通过点击左边的 " + "图标展开标签。检查Pin,利用 [ Z ] 查看标准单元,会发现它的Pin名字变得可见,按 [ F ] 键将视图适合于窗口)  e. 选择Layers选项卡,可以在图层的基础上进一步微调可见性。(在METAL(14)行和 " shape "列的交叉处,点击带有对角线的蓝色正方形,蓝色水平的金属线消失了) 在这里插入图片描述  f. 在点击一次,使得metal1再次可见。  g. 选择Objects选项卡,并重新应用初始的设置。 问题3:可视性Vis和可选择Sel栏有什么区别? 回答:“Vis”表示可视,显示对象。“Sel”表示可选择,只有可视的才可选中。  h. 选择Layer选项卡,使用颜色和填充模式回答一下问题: 问题4:红色水平power straps在哪一层?写出名称和编号 回答:METAL3(22) 问题5:绿色的垂直power straps在哪一层1?写出名称和编号 回答:METAL4(26)  可以通过将鼠标悬停在straps上,在左下角会出现一个query窗口,它会显示关于对象的详细信息。(tip:也可通过小写的[q]键,查询详细信息)

4. 选择和查询对象 选择对象:想要选择对象,鼠标光标必须是箭头,表示 " 选择模式 "。若光标不是箭头形式,可通过点击 " 箭头 " 按钮或 [ Esc ] 键获得。用鼠标左键点击不同的单个对象,选中的对象将以白色高亮显示,直到取消选中或选中其他对象。下面将介绍3种方法来取消所有选中的对象:  a. 单击Layout中的任意空白区域(简单高效)  b. 使用菜单 " Select "— " clear "  c. 输入 [ Ctrl+D ]用鼠标左键绘制一个矩形,来选择同一区域内的多个对象。按住 Ctrl 键,用鼠标左键选择其他对象,可保留当前选中的对象,并选择其他对象。当多个对象叠加时,可通过多次单击鼠标左键,直到所有对象被高亮显示。也可点击红色水平straps和绿色垂直straps的交叉处。放大Layer到蓝色的核心区域,可通过拖到选择框来选择一些std cells。若被高亮显示(选中)的单元很难被显示,可通过降低未选中单元的亮度,来增加对比度,突出选中单元。如下图: 在这里插入图片描述查询对象,有两种方法如下:  a. 一般情况下,当鼠标悬停在对象上时,对象会微亮显示,左下角会出现一个窗口,显示对象的一些关键信息。  b. 若要获得完整查询,先选中对象,然后输入小写字母 [ q ] 或使用菜单 " Select—Query Select ",进行查询。通过点击右上角的 "— "(隐藏)按钮来关闭查询窗口。关闭Layout窗口。从主窗口或Layout窗口点击 " File—Close design ",来关闭当前的Layout。若出现 " 关闭设计 " 窗口,单击 " Discad All " 来关闭设计且不保存。关闭GUI命令。(ICC工具还处于打开状态) stop_gui #或 gui_stop 5. 获取命令和变量的信息 ICC可通过 [ Tab ] 键来补全命令名、变量名、文件名和命令选项。在ICC shell命令行中尝试以下操作: h[TAB]e[TAB]-v[TAB] help[Ennter]

在这里插入图片描述

若要查看命令或变量的手册页,需要输入完整的命令或变量名称。在不确定准确的名称是什么时,可以使用help命令结合通配符 " * ",来查找命令,变量用printvar进行查找。 如:若想寻找关于某个优化命令的更多信息,但不记得具体的命令名,只记得它包含字符串 " syn "(synthesis)。可以使用下面命令列出所有包含此字符串的命令: help *syn*

在这里插入图片描述 从显示的命令列表中,选取你想要的命令即可。

若要列出psynopt的option,使用verbose选项。 help -verbose psynopt #或 help -v psynopt 使用man命令,获得完整的命令及其所有选项的详细描述 man psynopt #或 man psyno[Tab] 查找变量:printvar。(从列表中找到目标library) printvar *library* 用man获得变量的完整帮助手册。 man target_library #或 man target_l[Tab] man还可以查询错误信息。(输入报错编号即可) man PSYN-025 最后,退出ICC工具。 exit #或 quit LAB 0B 1. 配置窗口 将当前目录改为lab0_gui,并调用ICC GUI cd lab0_gui icc_shell -gui 从risc_chip.mw设计库中加载被放置的单元。(File—Open Design) ICC中有多个窗口,如Main Window和Layout Window(还有更多)。这些顶层窗口可以有多个 " 视图 " 或子窗口。默认情况下。Layout Window包含一个 " 视图窗口 " (微型单元格视图)窗口和一个 " 视图设置 " 面板。这些子窗口和视图可以按照自己喜欢的方式任意摆放,可以通过以下方法来实现。右击View Setting面板的顶部边缘(两条水平线)来取消视图设置面板的固定,并选择 " 浮动 ",此时面板可以移动到任何位置。 在这里插入图片描述右键面板顶部边缘,选择Dock再次停靠面板。关闭View Setting面板的方法:单击面板右上角的 " Hide "图标,或右键单击顶部边缘并选择 " Hide "。重新打开View Setting窗口的方法,单击 [ F8 ] 键。在一个布局窗口中显示多个 " 布局视图 “。” View—New Layout View " 打开新的布局视图。通过 " Window—Tile Views " 或 " Cascade Views " 实现级联或平铺。如下图 在这里插入图片描述关闭其中一个布局视图。点击一个视图右上角的 " X " 即可。 2. 平移和缩放的历史记录 若工具栏中没有 " history buttons ",右键单击工具栏,选择 " Zoom and Pan History " ,则会添加到工具栏中。 在这里插入图片描述更改工具栏的默认位置。用鼠标左键点击 " 双垂直栏 " 进行拖动。在这里插入图片描述 3. 选择列表、高亮显示和查询 选择列表: 放大到布局的蓝色核心区域,并选择4或5个std cells。把亮度降到50%。将选择单元以列表形式显示出来:路径:Select—Select List。使用 " Select/Deselect " 从列表中删除所选择的单元。可以使用 " Shift/Ctrl " 选择多个单元。 在这里插入图片描述高亮对象: 找到工具栏中的 " 黄色矩形 " 图标,点击下拉菜单并选择红色,然后点击 " 笔状 " 图标,来高亮的选择单元。输入 [ Ctrl+L ] 键调出列表。若想看到单元高亮的颜色,只能取消选择单元或单击空白区域。 在这里插入图片描述 问题1:选择列表窗口中是否包含高亮显示的对象? 回答:这个列表只跟踪被选中的对象,而不包含高亮显示对象。 通过单击 " 清除高亮显示 " 按钮或 [ Ctrl+M ] 来清除高亮对象。查询对象:  a. 默认情况下,光标悬停在单元上,左下角会出现一个窗口,显示该对象的一些关键属性。  b. 获得完整信息,输入小写字母 [ q ] 或Select—Query Selection路径。关闭查询窗口,单击右上角的 " Hide " 按钮。若想查询多个对象,点击工具栏中 " i " 图标,或 [ Ctrl+Q ],光标变成 " i " 形状,按 [ Esc ] 退出查询工具。最后一种查找对象信息方法:" Edit—Properties " 或 [ Ctrl+R ] ,该方法也可以更改对象的属性。(标准单元) 在这里插入图片描述点击向左向右蓝色箭头,依次选择每个项目,再选择 " All " 框,查看所有选择项的相同属性。取消属性对话框去, [ Ctrl+D ] ,并输入 [ f ] ,亮度调至100%。 4. 分析时序路径 高亮显示关键路径:选择下图中的Path Slack。 在这里插入图片描述单击弹出对话框中的 " Reload " 。单击警告框中的 " 确定 " 按钮。单击Paths Slack中的 " OK " 按钮。可以看到多条彩色的线条,其中最关键路径(最不松弛)用粉色高亮显示,在命名为IO PAD_0处结束。 在这里插入图片描述在布局图和原理图之间显示:选择上面提到的IO PAD_0。输入 [ Ctrl+` ] ,将Main Window前置并最大化。选择Schematic—New Path Schematic View—Of Selected Logic。可以看到一个IO pad缓冲器。 在这里插入图片描述双击原理图窗口实现最大化,并输入[F]键。选中显示的门,然后右键选择 " Next Fanin/Fanpot Level " 可以看到门单元(双击门好像也可以实现)。取消原理图中选中的对象(白色高亮显示):单击背景区域或输入 [ Ctrl+D ] 。 在这里插入图片描述在原理图中,点击右边的缓冲器(IO pad_0),Layout中的IO PAD_0也高亮显示。在这里插入图片描述在原理图中,使用 Crtl 或者鼠标左键的矩形,选中不同的对象,在Layout中也将高亮显示。观看整个路径。右击初始逻辑门,选择 " Add Logic—Paths ",在弹出的对话框中,点击OK,就会显示最关键(最坏)路径。 在这里插入图片描述生成整个设计的原理图:首先按 [ Ctrl+D ] 清除Main Window中选中的对象,再选择菜单栏中的Schematic—New Design Schematic View。将打开显示顶层原理图的窗口。 在这里插入图片描述这个原理图包含了一个顶层实例I_RISC_CORE,及一些逻辑门。点击该instance(原理图左侧矩形),检查右下角 " Cell " 的名称以确认该实例被选中(如上图)。双击I_RISC_CORE内部,可向下遍历层次结构并查看其原理图。返回顶层原理图级别,单击 " 向上 " 图标。使用Timing Window进行时序分析:用于显示分析Paths Slack列表来检查设计的时间质量。 在Main Window窗口中选择Window—New Timing Analysis Window,然后点击 " OK " ,打开Timing Window对话框。使新窗口最大化。拖到松弛列表,将其向右展开,可以调整列宽和排序。左键单击列表中Slack最小的路径,蓝色高亮显示。在Layout窗口和Main窗口,关键路径均高亮显示(白色)。在Timing窗口可生成直方图、原理图和定时分析器。 在这里插入图片描述 单击Schematic按钮,高亮显示路径的示意图将在出现在新窗口(右上角)或新选项卡中。单击Histogram按钮,将出现一组直方图对话框。 [ Ctrl+D ] 清除高亮显示路径。 在这里插入图片描述 5. 窗口管理 可以同时打开多个Main 窗口、Layout窗口和Timing窗口,也可以打开多个设计,并进行切换。(使用 [ Ctrl+` ] 进行切换)在Main窗口或Layout窗口中使用File—Exit—Discard All退出ICC工具。 在这里插入图片描述 总结:  1. 熟悉ICC图形界面的简单操作:   a. ICC的启动与退出(启动:icc_shell/icc_shell -gui;退出:exit)   b. 学会如何去加载设计(若出现打开设计失败,查看是否解压环境有问题)   c. 熟悉Layout窗口的缩放和平移操作(多种方法,如滚动滑轮、命令 Z 或 f、及对应的图标)   d. 学会使用View Setting面板,控制对象的可视性   e. 学会选择和查询对象(选择:鼠标左键单击,或右键拉出矩形框选;查询:悬停在对象上或输入 q 键)   f. 学会获取命令和变量的信息(Tab补全命令, help 和 man 可获取命令与变量的详细信息,这两个会经常用到)  2. 深入了解ICC 图形界面的附加特性:   a. 学会配置GUI 的窗口(拖动面板进行位置摆放,打开多个Layout窗口)   b. 学会将选中对象以列表形式显示出来,并进行高亮显示和信息查询   c. 学会如何去分析时序路径(个人认为这一块比较重要,应着重关注) 不积硅步,无以至千里;不积小流,无以成江海


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3