【ICC】icc基本使用步骤(转载)(初稿)
DC输出门级网表和标准设计约束文件之后,使用IC complier进行后综合,得到版图文件。本文转载自论坛。我会结合自己的使用增加新的内容,并且随着使用不断更新
============================================================================
用icc_shell -g 启动GUI界面
在GUI界面中,File—>Open Design打开已建立好的MW library;
若是新建立MW library,一般用以下步骤:
(最好每做一个步骤,保存一次数据,如:save_mw_cel -as floorplan)
步骤1:在lab1_flow路径下启动ICC shell。
> icc_shell –gui
步骤2:设置search path、target_library、link_library:
Lib_setup.tcl:
# Library setup
lappend search_path ./ref/db ./ref/tlup
set target_library "sc_max.db"
set link_library "*"
foreach lib {sc io ram16x128} {
lappend link_library ${lib}_max.db
set_min_library ${lib}_max.db -min_ver ${lib}_min.db
}
步骤3:为设计创建library。> create_library
步骤4:打开创建的library。> open_mw_lib
步骤5:读入verilog网表。> read_verilog 并将网表唯一化(ICC应该能自己进行唯一化操作)。> uniquify_fp_mw_cel
步骤6:确认当前顶层设计。> current_design RISC_CHIP
步骤7:将网表中例化的单元与参考库中的单元做连接。
> link
步骤8:设置TLU+文件。 >set_tlu_plus_files 并检查TLU+文件 >check_tlu_plus_files
步骤9:读入SDC文件,设置芯片工作环境。 >read_sdc
步骤10:检查设计的合理性。
>set_zero_interconnect_delay_mode true
>report_timing
>report_constraints –all_violators
>set_zero_interconnect_delay_mode false
步骤11:在设计中添加电源pad和corner cell等physical only cells。
phy_cells.tcl:
#corner cells
create_cell {cornerll cornerlr cornerul cornerur} pfrelr
#pg pads
create_cell {vss1left vss1right} pv0i
create_cell {vdd1left vdd1right} pvdi
create_cell {vss2left vss2right} pv0a
create_cell {vdd2left vdd2right} pvda
步骤12:读入IO约束文件.。 > read_io_constraints
步骤13:初始化floorplan。 > initialize_floorplan
步骤14:加入pad filler并生成pad ring。
complete_die.tcl
# Set Pad Fillers
set feedthrupads "pfeed10000 pfeed05000 pfeed02000 "
# Insert Pad Fillers
insert_pad_filler -cell $feedthrupads
# Connect PG nets
proc update_pg {} {
foreach net {VDD VDDO VDDQ} {connect_pg_nets -nets $net -ports $net -net_type power}
foreach net {VSS VSSO VSSQ} {connect_pg_nets -nets $net -ports $net -net_type ground}
connect_pg_nets -update_tie_hi_lo
}
update_pg
# Create Pad Rings
create_pad_rings
步骤15:自动做floorplan的placement,作为为floorplan的参考。
> create_fp_placement
步骤16:手动摆放Macro,并完成flooplan。> create_fp_placement –incremental all
步骤17:创建core rings及power straps。
步骤18:做电源网络分析(PNA),查看电源规划的IR Drop。
步骤19:设置place blockage。
步骤20:布instance的电源和地。> preroute_instances
步骤21:布power rail(给标准单元供电的电源和地线)。
> preroute_standard_cells
步骤22:设置placement的约束。在METAL5 METAL6的PG线下面不摆放标准单元。
>set_pnet_options –complete {METAL5 METAL6}
步骤23:布局(placement)。placement这一步还会做scan chain的reorder,HFS.
> place_opt
> report_timing
> report_constraints –all_violators
步骤24:时钟树综合优化及布线。
> clock_opt
Ndr_settings.tcl:
remove_routing_rules -all
define_routing_rule double_spacing \
-spacings {METAL2 0.6 METAL3 0.6 METAL4 0.8 METAL5 1.2 METAL6 1.4}
set_clock_tree_options -routing_rule double_spacing \
-layer_list {METAL3 METAL4 METAL5 METAL6}
重新定义关于clock uncertainty的定义,去掉其中估计的clock skew的部分。
>set_clock_uncertainty 0.1 [all_clocks]
>clock_opt
CTS之后开始关心holdtime,如果有hold violation,可以用下面命令修复
>clock_opt –fix_hold_all_clocks
步骤25:布线(routing)。
> route_opt
用report_timing –max 或 –min查看setup\hold是否满足设计要求(或者report_constraints –all_violators)。
步骤26:做布线后DRC检查。
> verify_drc
步骤27:可制造性设计。 例如检查天线效应,先load天线效应的rules(由library vendor提供)
>source scripts/cb13_6m_antenna.tcl
用report_antenna_rules查看Antenna规则;用report_antenna_ratio查看天线效应报告。
“@@@@ Total nets not meeting constraints =”后面显示了violation的数量。
用route_search_repair修复。
【ICC】icc基本使用步骤(转载)(初稿)相关推荐
- linux备份mysql怎样操作,Linux下自动备份MySQL数据库详细操作步骤(转载)
环境说明 操作系统:CentOS IP:192.168.150.214 Oracle数据库版本:Oracle11gR2 用户:root 密码:123456 端口:3306 数据库:ts_0.ts_1. ...
- 渗透测试的8个步骤—转载
渗透测试的8个步骤 展现一次完整的渗透测试过程及思路 发布时间:2017年10月25日 15:11 浏览量:1104 渗透测试这个事情不是随便拿个工具就可以做了, 要了解业务还需要给出解决方案 ...
- jdbc连接数据库的步骤(转载)
http://hzy3774.iteye.com/blog/1689525 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java. ...
- 关于zheng项目的学习步骤{ 转载 }
第一篇 :https://blog.csdn.net/qq_30725371/article/details/80064413 zheng:环境搭建及项目部署 第二篇 :https://blog ...
- 在移动硬盘上装Win PE的步骤 -------转载
关于文章中的如图,源文件中就没有图,所以大家凑合看吧,我这么笨都装上了,你们一定能成功. windows PE(简称Win PE)的图形化界面很有用,使操作更方便,这是众人皆知的.但是它一般只能运行在 ...
- ICC学习——LAB1
ICC学习--LAB1数据准备和基础流程 文章目录 ICC学习--LAB1数据准备和基础流程 Task1 创建Milkway库 Task2 载入netlist,TLU+,约束和控制 Task3 基础流 ...
- Li‘s 影像组学视频学习笔记(29)-ICC的计算
本笔记来源于B站Up主: 有Li 的影像组学的系列教学视频 本节(29)主要讲解: 用pingouin包进行ICC的计算 1.ICC的wikipedia定义 In statistics, the in ...
- ICC Profile
什么是ICC Profile 1.ICC ICC(International Color Consortiun)国际色彩联盟于1993年成立,发起的公司有八家,他们是Adobe.Apple. ...
- R语言ICC函数中Consistency 和 agreement,one-way和two-way,single和mean的选择
先给出ICC选择方法的文献: A Guideline of Selecting and Reporting Intraclass Correlation Coefficients for Reliab ...
- 计算同类相关系数(ICC)R
计算同类相关系数(ICC)R语言 需要的包:readr,irr library(readr) library(irr)fpath <- choose.files()feature_1 <- ...
最新文章
- 互联网让我们变笨了吗:过去10年关于大脑的11个有趣发现
- 端口扫描器——ZenmapKail Linux渗透测
- php lalaogu cn,php安装编译时错误合集
- [YTU]_1046 ( 输入10个数字,然后逆序输出)
- eBay再度问路中国
- 生产环境该如何选择lvs的工作模式,和哪一种算法
- gitee github区别_Github吃大力 速度飙升 2MB/s
- 给Web开发人员的以太坊入坑指南
- 分布科技荣登海南省实施区块链应用示范揭榜工程名单
- 努力只是因为想去做想做的事
- 《剑指offer》面试题21——包含min函数的栈(C++)
- 【Matlab语音识别】声纹识别【含GUI源码 537期】
- 第三届同花顺算法大赛 | 2022 | AI算法
- Mac制作Windows 10 U盘启动盘
- 何文江先生出任创意信息集团总经理
- PHP实现sha-256哈希算法
- 如何在小程序中直接跳到关注微信公众号页面
- 虚拟机:centos在主机和虚拟机之间传输文件
- Java-汉字字符串转拼音,包括首字母和全拼
- linux命令英文单词
热门文章
- 美国电气与计算机工程专业排名,美国电气与计算机工程专业排名怎么样?美国电气与计算机工程专业大学推荐...
- 互联网日报 | 5月22日 星期六 | 中国移动5G套餐用户破2亿;京东物流港股IPO认购结束;天猫宣布运费险降费...
- vba不能提取服务器上文件名,从全路径文件名中获取文件名(不含路径)
- SIGGRAPH Asia 2022 | 港中文MMLab:Marker Correspondence估计框架和应用
- 05 爬虫应用(2)——抓取昵图性感美女图片(针对传统翻页图片版本)
- 为何很多 App 图标使用白色做底色?
- 垃圾邮件过滤优化方法
- VS2017如何设置C++11?
- 美术资源检测 — 让你的网格无可挑剔
- vue如何动态获取数据改变背景颜色和字体颜色以及获取图片