Design Compiler:Topographical Workshop Lab4 相关阅读Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482目录实验四、拥塞实验时长30分钟学习目标任务一、将已编译的网表读取到DC-T中任务二、使用文本报告分析拥塞任务三、通过GUI探索总体拥塞任务四、检查标准单元拥塞本文是对Synopsys Design Compiler Topographical/Graphical Workshop Lab Guide中Lab4的翻译Lab文件可以从以下链接获取。Synopsys Design Compiler Topographical/Graphical Workshop Labhttps://download.csdn.net/download/weixin_45791458/89987600?spm1001.2014.3001.5501实验四、拥塞实验时长30分钟学习目标在本实验中你将分析并处理拥塞问题。完成本实验后你应能够生成并解读拥塞报告包括文本和图形报告决定是在RTL代码、布图规划中修复拥塞问题还是通过优化编译来解决拥塞问题网表ORCA_TOP.mapped_lab.ddc已提供你的任务是分析它的拥塞情况。任务一、将已编译的网表读取到DC-T中1、启动DC-Tcd lab4_congestion dc_shell -topo | tee -i mylog.log2、加载设置信息和包含布图规划的网表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全局路由单元总共超出了多少条线这是衡量整体拥塞的指标答案 26441。问题 3单个全局路由单元的最严重违规Max列是最差热点的指标是多少答案 361。任务三、通过GUI探索总体拥塞在本任务中你将看到两种类型的拥塞由布图规划引起的围绕宏单元的拥塞由RTL代码引起的核心开放区域中的拥塞。1、打开Top-Level Design Vision window如图1所示start_gui图1 开启GUI2、打开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通过查看单元路径哪个模块似乎是问题的源头答案 7I_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 Guidehttps://download.csdn.net/download/weixin_45791458/89987600?spm1001.2014.3001.5501感谢EETOP坛友的分享。