IC Compiler II(ICC2) 后端设计流程简介

本文介绍了ICCompilerII(ICC2)的后端设计流程,包括创建和操作库文件的命令,应用选项的使用,以及关键步骤如Floorplan规划,Placement,Routing,时序分析(STA)和DRC错误检查与修复。在处理时序违规时,建议优先优化数据路径延迟。文章还提供了查看和管理DRC结果的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IC Compiler II(ICC2) 后端设计流程简介

一、设计流程图

Alt

二、Overview

Alt

三、Start ICC2

库文件操作命令:

  1. 创建库文件
    creat_lib name
    -ref_libs {option} #参考库
    -technology #导入技术文件
    -use_technology_lib #使用技术库文件
    -scale_factor #尺寸范围(或使用库技术文件定义:set_app_options -name lib.setting.use_tech_scale_factor -value true)
  2. 打开库文件
    open_lib
    No path :search by search_path variable .
    Relative Path: (.)当前文件夹 (…) 上个文件夹
    Absolute path: (/)
    打开库文件时会自动打开所有的ref_lib
    -read #只读模式打开
    -ref_ libs_for_edit #参考库编辑
  3. 当前设计库
    current_lib
  4. 获取所有打开的库
    get_libs
    get_libs -explicit 当前打开的库
    get_libs -implicit 获取所有参考库
  5. close_lib 关闭库
  6. save_lib 保存库(从memory 保存到disk)
    -compress 以压缩文件形式保存

Using Application Options

naming convention: category[.subcategory].option_name

get_app_options #list all available application options
get_app_options timer.* # list all available timer application options
report_app_options  # a report of application options

Man Pages

man report_timing #man the command of report_timing
man plan_options #man command followed by *category_options*
man plan.place_options # man command followed by *subcategory_options*
man PSYN-025 #查询错误信息

快捷键

快捷键Option
ctrl+l打开所选对象列表
ctrl+q查询对象信息
ctrl+h高亮
ctrl+m取消高亮
ctrl+r打开属性窗口

Floorplan

目标:

  • 确定芯片的尺寸,形状
  • I/O单元、填充和角落pad的位置
  • 宏单元(hard marco,IP,Blocks)的放置和blockages的规划
  • 电源规划

Placement and Opt

CTS and Postcts

Route & PostRoute

STA(修set_up 和hold violations)

 修复策略:增大 clok path 延迟或者 减小 data path 的延迟。由于clock path的延迟会延伸到下一级,因此往往先考虑减小 data path的延迟。 减小data path的延迟可以首先考虑将HVT ,RVT的cell换成LVT的cell,通过增加一定的功耗,减少延迟。

Finish

ICC2中PR的常用命令:

  1. 手动修timing
get_alternative_lib_cells -current_lib   lib_cell       #从当前库中查找可以用来替换lib_cell的cell
get_alternative_lib_cells -libraries  lib_cell      #从给定库中查找可以用来替换lib_cell的cell (默认从全部库中查找)
size_cell instance_cell_name -lib_cell  lib_cell_name #将该instance换成lib_cell
  1. 查看calibre drc 结果
read_drc_error_file
-drc_type calibre
#valid values are "calibre" and is default 
-error_data error_data_name 
#Default:find in the drc report file
-file calibre.report 
#DRC error report to read in

Tips: error cell not saved.using followong commands:
save_block #to save the error cell
close_drc_error_data -force #close the error cell
remove_drc_error_data -force #(to remove the error cell)

为了确保在ICC2流程中高效地利用CPU资源,执行细致的设计检查,并确保设计符合时序物理约束,建议参考《ICC2流程:自定义日志与设计检查命令》。这本书详细介绍了ICC2相关的命令和操作流程,将帮助你深入理解如何通过命令行来管理设计检查和资源设置。 参考资源链接:[ICC2流程:自定义日志与设计检查命令](https://wenku.csdn.net/doc/63qvt5k21m?spm=1055.2569.3001.10343) 首先,你可以使用'set_host_options–max_cores8'命令来设置CPU核心资源,这有助于合理分配计算资源,提高设计流程的运行效率。接下来,通过'icc2–out<name.log>-gui'选项创建用户自定义日志文件,使用图形用户界面启动ICC2流程,有助于跟踪设计过程的详细信息,并确保设计检查的准确性。 对于设计检查,可以使用'get_design_checks'命令列出所有可用的设计检查项,并执行特定的设计检查,如时序物理约束检查,使用'check_design–checks{timingphysical_constraints}'确保设计满足时序和物理设计约束。此外,使用DMM和DFT命令检查设计的匹配性和测试准备情况,以及TCK命令进行测试时钟相关的检查,确保无约束端点和时钟连接错误。 为了自动化设计流程并减少人为错误,可以编写脚本在保存设计时进行优化,使用'set_app_options–namedesign.morph_on_save_as–value true'命令,并在初始化设计流程阶段设置技术库和布局预处理。 当你完成这些步骤后,你的设计不仅将满足时序物理约束,还能在资源利用上达到最佳平衡。为了进一步提高你的技能,除了本书之外,还可以查阅更多关于ICC2流程的资料,确保全面掌握所有与设计验证和优化相关的高级技术。 参考资源链接:[ICC2流程:自定义日志与设计检查命令](https://wenku.csdn.net/doc/63qvt5k21m?spm=1055.2569.3001.10343)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值