ICC学习——LAB2

本文详细介绍了ICC设计规划实验的LAB2,涵盖了从初始布局规划到时序分析的全过程,包括宏和标准单元的放置、电源网络综合(PNS)、时序检查等关键步骤,旨在熟悉ICC的设计规划功能。

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

ICC学习——LAB2设计规划

学习目标:
1.定义核心和放置的行结构
2.定义信号,PG,corner pad的位置
3.插入filler pad cell
4.手动放置macro
5.应用宏放置约束
6.使用虚拟平面放置(VF)放置宏和标准单元
7.分析拥塞
8.在macro周围创建PG ring
9.使用PNS(power network synthesis)完成P/G ring和straps
10.使用PNA(power network Analysis)分析IR drop
11.分析时序

导入:本实验的目的是让你对ICC的设计规划功能更加熟悉。对于这个实验,将使用一个稍大一点的ORCA版本,他是处于芯片级,包括IO pad以及更加宏单元。这使得设计阶段阶段更加有趣。

答案和解决方案:
本实验后有一个“答案/解决方案”部分。鼓励经常参阅此部分,验证答案,或在执行某些步骤时获得帮助。

相关文件和目录:
此实验的所有文件位于目录下的lab2_dp目录中
lab2/dp
orca_lib.mw/CEL
orca_setup:数据设置后的ORCA设计,并以MIlkyWay的格式保存。
design_data/ 包含ORCA设计输入数据
ORCA_2.v 第二次通过verilog网表
ORCA_2.sdc 第二次通过sdc时序约束
scripts/ 包含各种各样的布图规划脚本
zns_pass_setup.tcl 执行第二遍数据设置脚本
connect_pg.tcl 以逻辑方式将所有pg pin连接到网络
insert_pad_filler.tcl 插入pad填充单元
keepout.tcl 禁止放置所有的宏
macro_place_cons.tcl 宏放置约束
macro_pg_ring.tcl 宏组周围创建pg ring
opt_ctrl.tcl 时序和优化控制
pad_cell_cons.tcl 定义pad单元位置
pns.tcl 电源网络约束/综合
prepare_macros.tcl 将三个宏连接到IO pad

如果遇到问题或者卡住了,可以使用完整的命令脚本去恢复
.solution/run.tcl

Task1 载入设计

1.切换到lab2_dp目录,启用ICC GUI模式

cd lab2_dp
icc_shell -gui

2.打开orca_lib.mw设计库中的orca_setup单元
Note:这个单元已经通过“data_setup”
在这里插入图片描述
3.查看layout 窗口,大的蓝绿色矩形是宏和IO pad单元,左小角的小紫色矩形是标准单元(先看的更清楚可以放大)。所有的这些单元都是网表中实例单元。堆叠在原点(0,0)。
在这里插入图片描述
在这里插入图片描述
4.应用在./scripts/opt_ctrl.tcl的时序和优化控制
Note:大多数设置都在单元1附录被讨论,有些在后面单元被讨论。不需要花时间理解。

source scripts/opt_ctrl.tcl

在这里插入图片描述

5.通过选择以下选项切换到layout窗口中“Design Planning”任务菜单
File —> Task —> Design Planning

Task2 初始布局规划

1.来自综合的网表不包含物理单元,例如电源和地的pad cell或者corner pad cell。因此必须先创建这些额外的单元,然后才能将他们实际位置放在芯片外围区域。

创建corner cell和pg cell,并且使用一个提供的脚本定义所有pad cell的位置:
提示:键入时,使用[Tab]键完成命令/选项/文件

source -echo scripts/pad_cell_cons.tcl

在这里插入图片描述

查看日志(log文件)输出,以验证这些单元是否已创建并受到约束。没有任何错误或者警告信息。
在这里插入图片描述

在一个单独的UNIX窗口中,查看上面的脚本回答以下问题。
问题1:使用参考单元pvdi创建一个名为VDD_TEST的pad cell
回答:
在这里插入图片描述

问题2:哪个边用于定义右上角corner cell的位置
回答:
在这里插入图片描述

2.初始化布局规划
菜单选择 Floorplan —> Initialize Floorplan
将核心利用率改为0.8(80%)
将核到左,右,底,上距离设置成30
点击OK

### 数字电子技术实验ICC作业引讲视频及攻略 对于数字电子技术实验中的ICC(集成电路计算机辅助设计)作业,准备和理解过程至关重要。虽然具体的引讲视频可能依赖于学校或教育平台提供的资源[^2],一般而言,完成这类作业的有效方法包括以下几个方面: #### 1. 理解基础概念 确保对基本理论有深刻的理解,比如逻辑门的工作原理、组合逻辑与顺序逻辑的区别以及如何利用这些组件构建更复杂的电路结构。这有助于更好地理解和实现具体的设计目标。 #### 2. 使用仿真工具进行练习 通过使用如Multisim, Proteus 或者 Vivado等EDA(电子设计自动化)软件来进行模拟测试是非常重要的一步。可以先尝试简单的例子来熟悉环境,在此基础上逐步增加复杂度直到能够独立完成整个项目的要求。 #### 3. 阅读并分析给定资料 仔细阅读教师提供的指导文件和其他参考资料,了解所需达到的功能规格说明和技术指标。特别是要注意任何特殊要求或限制条件,例如输入/输出接口定义、工作电压范围等。 #### 4. 设计流程概述 - **需求分析**:明确要解决的问题是什么样的;确定系统的功能特性。 - **方案规划**:基于所学知识构思解决方案框架图;考虑采用何种类型的触发器作为存储单元。 - **编码实现**:编写Verilog/VHDL代码描述硬件行为;注意语法正确性和模块化编程风格的应用。 - **综合验证**:运用FPGA开发板或其他手段检验实际效果是否符合预期;调整参数直至满意为止。 ```verilog // Verilog example of a simple counter module module simple_counter( input wire clk, input wire reset_n, output reg [7:0] count ); always @(posedge clk or negedge reset_n) begin if (!reset_n) count <= 8'b0; else count <= count + 1; end endmodule ``` #### 5. 寻找在线教程和支持社区 如果遇到困难,可以通过观看YouTube上的教学频道获取灵感,加入Reddit论坛讨论区寻求帮助,或是查阅Stack Overflow上已有的问答帖子找到相似案例的学习路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seu他山之石

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值