当前位置: 首页 > article >正文

DC 使用记录

前言

不使用change_name时,DC自动生成的.v网表文件会有许多反斜杠之类的命名,使用change_name,可以改变这种情况

1. change_name

1.1 执行

define_name_rules simple_names -allowed "A-Za-z0-9_" \
  -last_restricted "_" \
 -first_restricted "_" \
  -map { {{"\*cell\*","U"}, {"*-return","RET"}} }
 
change_name -rules simple_names -hierarchy

1.2 对比

执行前:
在这里插入图片描述
执行后:
在这里插入图片描述

2. elaboration

内容来源:https://ivlsi.com/physical-synthesis/

原文这样写道:2. Elaborate

As we read the RTL and we have only logical information in Boolean expressions, the very first thing tool does is make the building blocks as per the logic present in the RTL. Logically, now tool understands the logic hierarchy and input output of the different hierarchy levels inside the design. The second step tool does is map these building blocks with the inbuilt tool library. These cells are known as GTECH cells. The GTECH cells are technology independent as these are tool inbuilt. RTL codes are mostly written in Boolean expressions. At this stage, these Boolean expressions are converted into cell level using the inbuilt cells.

During elaboration, tool looks if the design and the hierarchy inside the design are unique or not> If unique, then only tool will proceed for further run. Once the run proceeds further, tool looks whether there are any unresolved reference in the design. If no unresolved reference, then tool proceeds further otherwise run stops. In this case, we need to debug the unresolved reference and get the RTL corrected.

简单讲,elaboration会进行如下操作,即工具会先将RTL代码读入,分析代码的层次结构,接着将其link成工具内部自带的工艺库(GTECH cells),link完毕后,工作会对相同的cells进行重命名以避免冲突,最后工具会对设计进行唯一化检查。

3. 编译

在elaboration阶段,工具将RTL link成inbuilt的工艺库,而compile阶段则是将这些cells映射为实际的cells。
具体如何映射呢?这取决于SDC约束以及用户的设置等


http://www.kler.cn/news/9946.html

相关文章:

  • 一次性搞懂dBSPL、dBm、dBu、dBV、dBFS的区别!
  • 谈ChatGPT基本信息
  • Mac平台上有哪些好用的常用软件?
  • 软件重构方法
  • Nacos 性能报告
  • 2023-04-14 lua + C动态库交叉debug
  • 逆向入门--何为OEP
  • 故障注入的方法与工具
  • 【GITLab】docker部署GitLab
  • 如何在ubuntu上搭建minio
  • 灌区量测水系统
  • C++ Primer第五版_第十一章习题答案(31~38)
  • 程序员必用的6个代码对比神器附下载地址
  • Linux嵌入式学习之Ubuntu入门(二)磁盘文件介绍及分区、格式化等
  • NumPy 初学者指南中文第三版:1~5
  • 【三十天精通Vue 3】 第三天 Vue 3的组件详解
  • 一位腾讯在职7年测试工程师的心声...
  • 为什么会有JMM?从0到1一次性说清楚
  • Adaptive AUTOSAR——State Management(VRTE 3.0 R21-11)
  • 笔记 | python蓝桥算法复习(预习)基础知识
  • 快排非递归 归并排序
  • spring(七):事务操作
  • docker 安装nocas
  • 亚马逊云科技Amazon Linux 2023正式发布,将为您提供长期支持
  • 使用Xftp连接Windows7虚拟机
  • webgl-图形非矩阵旋转
  • GooglePlay马甲包过审详细流程
  • Java基础(六)面向对象编程(进阶)
  • 2023-04-14 算法面试中常见的查找表问题
  • Available-Python-Tuf