自学内容网 自学内容网

Design Compiler:Topographical Workshop Lab4

相关阅读

Design Compilericon-default.png?t=O83Ahttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm=1001.2014.3001.5482


        本文是对Synopsys Design Compiler Topographical/Graphical Workshop Lab Guide中Lab4的翻译,Lab文件可以从以下链接获取。 

Synopsys Design Compiler Topographical/Graphical Workshop Labicon-default.png?t=O83Ahttps://download.csdn.net/download/weixin_45791458/89987600?spm=1001.2014.3001.5501


实验四、拥塞(实验时长:30分钟)

学习目标

        在本实验中,你将分析并处理拥塞问题。

        完成本实验后,你应能够:

  • 生成并解读拥塞报告,包括文本和图形报告
  • 决定是在RTL代码、布图规划中修复拥塞问题,还是通过优化编译来解决拥塞问题

        网表ORCA_TOP.mapped_lab.ddc已提供,你的任务是分析它的拥塞情况。

任务一、将已编译的网表读取到DC-T中

1、启动DC-T

cd lab4_congestion
dc_shell -topo | tee -i mylog.log

2、加载设置信息和包含布图规划的网表

source dc_setup.tcl
read_ddc ./results/ORCA_TOP.mapped_lab.ddc
link

任务二、使用文本报告分析拥塞

1、使用文本报告找出是否存在拥塞问题

report_congestion

        问题 1:是否存在拥塞?

        答案 1:是的,存在拥塞,如下所示。

Both Dirs: Overflow = 6441 Max = 61 (1 GRCs) GRCs = 1631 (13.48%)
H routing: Overflow = 4258 Max = 37 (1 GRCs) GRCs = 970 (8.02%)
V routing: Overflow = 2183 Max = 44 (2 GRCs) GRCs = 760 (6.28%)

        问题 2:全局路由单元总共超出了多少条线(这是衡量整体拥塞的指标)?

        答案 2:6441。

        问题 3:单个全局路由单元的最严重违规(Max列是最差热点的指标)是多少?

        答案 3:61。

任务三、通过GUI探索总体拥塞

        在本任务中,你将看到两种类型的拥塞:由布图规划引起的围绕宏单元的拥塞,由RTL代码引起的核心(开放)区域中的拥塞。

1、打开Top-Level Design Vision window,如图1所示

start_gui

图1 开启GUI

2、打开Layout Window,如图2所示

Window->New Layout Window

图2 打开布图窗口

3、在Layout Window中添加拥塞示意图,如图3所示

View-> Map Mode

图3 添加拥塞示意图

        问题 4:拥塞主要集中在哪里?

        答案 4:主要集中在RISC_CORE及其周围,和布图规划中宏单元之间的位置。

4、检查GRC边界以获取确切的布线交叉数量

仅显示最严重的违规情况:在布图规划的右侧,取消勾选除红色外的所有颜色,点击Apply。
在LayoutWindow的左上角,点击放大镜图标+。
点击并拖动以选中一些红色违规区域,继续缩放,直到可以看到“实际/阈值”数量。

        问题 5:红色区域指的是超出了阈值多少?

        答案 5:红色区域指的是超出阈值7及以上。

        在本任务中,检查了由布图规划引起的拥塞。为了修复这些拥塞,请把报告交给布图规划人员,他们将使用布局或布图规划工具进行修复。

任务四、检查标准单元拥塞

        在本任务中,将追踪核心(开阔)区域中显示的拥塞,并追溯到可能的RTL源代码。

1、缩小视图以查看整个布图规划(按F快捷键)

2、打开一个窗口来列出拥塞区域中的单元,如图4和图5所示

在布图规划的右侧,点击“List cells in congested region”按钮。
将弹出的窗口(List by Congested Region)移到LayoutWindow旁边。

图4 列出单元

图5 打开的窗口

3、选择一个拥塞的标准单元区域(如图6中的蓝色方框所示)

图6 选择拥塞区域(这些在布图规划的核心(开阔)区域中以线条或点的形式显示出来)

4、检查List by Congested Region窗口中的单元列表(点击Apply查看选择的单元列表)

        问题 6:在单元名称中你看到了什么?

        答案 6:有很多单元名称以mult开头(即多路复用器的缩写)。

        问题 7:通过查看单元路径,哪个模块似乎是问题的源头?

        答案 7:I_BLENDER出现了很多次(这些是BLENDER模块的实例)。

        问题 8:如果想通过修改RTL代码来修复标准单元拥塞,你会寻找哪些编码结构,以及在哪个模块中查找?

        答案 8:由于看到大量多路复用器,考虑在BLENDER模块中查找case语句。

        问题 9:在修复RTL代码或布图规划之前,检查一个可能导致拥塞的因素:使用report_area -physical命令查看利用率,你看到了多少百分比?

        答案 9:利用率相当高,这可能会导致拥塞。

        问题 10:在修复RTL代码或布图规划之前,有什么更简单的方法可以尝试修复拥塞?

        答案 10:执行一个优化拥塞的编译:

compile_ultra -congestion 或 compile_ultra -spg

原文链接

Design Compiler Topographical/Graphical Workshop Lab Guideicon-default.png?t=O83Ahttps://download.csdn.net/download/weixin_45791458/89987600?spm=1001.2014.3001.5501        感谢EETOP坛友的分享。


原文地址:https://blog.csdn.net/weixin_45791458/article/details/144372923

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!