【DC快速上手教程--1 Setup the DC】

news2025/3/1 2:26:12

DC快速上手教程--1 Setup the DC

  • 0 Intro
  • 1 DC Demo

本篇系列教程介绍总结DC Flow,为了不涉密,在这里以DC labs为Demo做一个入门的介绍;目标:用起来EDA 工具是最基础也是最简单的;重点是如何去分析报告,依据报告指导进行修改;
作为ICer,很多时间都是要看Data sheet或者UG,这个时候看一下先广看一下,通过CSDN或者其他博客,先快速了解各大概,但是不要trapped,还是要回归手册本身。

0 Intro

本着先森林再树木的策略,先从top上介绍一下DC flow的基本流程:
在这里插入图片描述

1.拿.synopsys_dc.setup(本质是TCL文件):
设置path:环境路径;1.除了EDA自带的路径;2.自定义路径:rtl/ ; scripts/ config/
指定lib路径:
给EDA里面专有变量 设置目录路径或者文件路径;
2.用design_vision启动EDA工具,会自定加载上面文件;
3.命令行或者GUI选项读取 rtl文件;可以查看原理图和符号界面;
4.读设计约束文件;
5.编译RTL
6.生成时序面积报告,查看违例;主要是看关键路径的时序;
7.保存编译好的RTL信息文件;

1 DC Demo

1.config the .synopsys_dc.setup for what said above;

set seach_paht "$search_path ../ref/db ./scripts"
set target_library "sc_max.db"
set ling_library "* sc_max.db"
set symbol_library "sc.sdb"

2.Setup design_vision and confirm setup’s cfg
通过输出的echo,可以清晰的看到:
search_path:没有把自定义的文件加载进去,只有工具的目录路径;
这里不管通过echo输出有没有正确输出路径,都要在GUI界面 file–>setup查看一下
在这里再次check发现还是没有自定义的path,在这里手动add一下;
GUI界面里的design_vision本质是一个bash shell.
type the below cmd to confirm again.

printvar target_library  
printvar link_library  
printvar symbol_library  
printvar search_path  
alias

3.read desgin and auto get the rtl hirec top module.
read rtl file ;
select top module and link design;
save the unmapped design in ddc fromat.

write –hier –f ddc –out unmapped/TOP.ddc

4.type cmd for viewing the list of designs and liarbry inside DC;

list_libs
list_designs

5.Expore Symbol and Schemeatic Views
Symbol 和Schemeatic View的概念是2007的,现在的DC版本已经合成一个概念:Schemeatic View,直接支持上面两个;
此时因为还没有编译,链接到目标库,点击Schemeatic生成的schemeatic的是GTECH;GTECH components are generic Boolean gates and registers that represent the generic, non-technology specific functionality of a design.

Conclued : The Basic Steps in Synthesis Flow
The four steps after “read” will be performed in the upcoming tasks:
• Read and translate RTL code (read_vhdl/read_verilog)
• Constrain the design (source a constraints file)
• Synthesize the design (compile)
• Generate reports (report_*)
• Save the resulting netlist (write)
现在已经执行完第一步了,可以得到中间GTECH通用布尔门和寄存器的中间网表文件;
6.Source scripts/constrain
source the xx.con but don’t see how the xxx.con applied to design.

source TOP.con

Will learn how to generate the relevant reports to verify constrains that have been applied to a design.

7.Compile or Map to the Vendor-Specifice Gates
Will see various tables for the different optimization phases of compile;
“AREA” tables:Design size;
“WORST NEG SLACK” : how much the critical or worst path in the design is violating;
“TOTAL NEG SLACK”:The sum of all the violating path slacks.

compile

8.Generate Reports and Analyze Timing

report_constraint -all_violators     //alias for rc
report_timing    //shows the timing of the critical path.
report_area  //ailas for ra  

9.save the Optimized Design
File–save as…
or write cmd…

10.Remove Designs and exit Design Vision

remove_design -designs   //alias for fr
design_vision -f scripts/run_history.tcl //for recreate everything;

exit  //for exit the design_vision

11.learn how to use doc online

If do it here, You have mastered the basic DC tool.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1382448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年AMC8历年真题练一练和答案详解(7),以及全真模拟题

今天是1月14日,2024年AMC8正式比赛的备考时间余额不多了,这两天大家都记得抽空参加官方的模拟考试,尤其是第一次参赛的孩子,家长一定要指导孩子自己参加模拟题,熟悉考试流程和环境,否则正式比赛不小心违规就…

【深度学习】RTX2060 2080如何安装CUDA,如何使用onnx runtime

文章目录 如何在Python环境下配置RTX 2060与CUDA 101. 安装最新的NVIDIA显卡驱动2. 使用conda安装CUDA Toolkit3. 验证onnxruntime与CUDA版本4. 验证ONNX需求版本5. 安装ONNX与onnxruntime6. 编写ONNX推理代码 如何在Python环境下配置RTX 2060与CUDA 10 RTX 2060虽然是一款较早…

cuda12.0 安装 pytorch

前两天买的y7000p到了,然后就要重新配下环境。 流程如下 首先下载miniconda ,我下的是python3.8的创建自己的自定义环境检查自己的cuda版本,我的是cuda:12.0然后再pytorch上找到对应cuda版本的进行下载,pip install或者conda in…

强化学习应用(七):基于Q-learning算法的无人车配送路径规划(通过Python代码)

一、Q-learning算法介绍 Q-learning是一种强化学习算法,用于解决基于环境的决策问题。它通过学习一个Q-table来指导智能体在不同状态下采取最优动作。下面是Q-learning算法的基本步骤: 1. 定义环境:确定问题的状态和动作空间,并…

Python 网络爬虫入门详解

什么是网络爬虫 网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。 优先申明:我们使用的python编译环境为PyCharm 一、首先一个网络爬虫的组成结构…

【计算机二级考试C语言】C数据类型

C 数据类型 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 C 中的类型可分为以下几种: 序号类型与描述1基本数据类型 它们是算术类型&#x…

六西格玛绿带培训——实现完美操作的关键工具

当我们谈论六西格玛,我们不仅仅谈论一个管理工具或是企业流程改进的方法。我们谈的是一种愿景——实现几乎完美的操作。在SpaceX、在Tesla,我们每天努力实现这种精确度,因为即使是一丝一毫的疏漏,都可能成为我们星际野望无情的噩梦…

极简云源码已经开源

源码介绍 极简云已经开源 解绑卡密 查询卡密 总体来说还是很完善的 对接例子网盘里有 用户注册需要配置邮箱 上网页QQ邮箱标准版开启SMTP 然后生成授权码 后台发信邮箱里填就对了 实在不会配置邮箱的 可以下载网盘里的reg.php 把reg.php上传源码里的user目录 之后注册就不需要…

系列十一、Spring Security登录接口兼容JSON格式登录

一、Spring Security登录接口兼容JSON格式登录 1.1、概述 前后端分离中,前端和后端的数据交互通常是JSON格式,而Spring Security的登录接口默认支持的是form-data或者x-www-form-urlencoded的,如下所示: 那么如何让Spring Securi…

计算机三级(网络技术)——应用题

第一题 61.输出端口S0 (直接连接) RG的输出端口S0与RE的S1接口直接相连构成一个互联网段 对172.0.147.194和172.0.147.193 进行聚合 前三段相同,将第四段分别转换成二进制 11000001 11000010 前6位相同,加上前面三段 共30…

【数据库】聊聊MySQL事务隔离级别与锁机制

概述 针对事务来说,其实主要解决的就是数据的一致性,对于任何的存储中间件来说,都会存在并发访问数据的问题,编程语言层面 juc、go等机制 使用编程上的方式,加锁、无锁编程等。而数据库也存在多个连接访问修改同一个数…

KEI5许可证没到期,编译却出现Error: C9555E: Failed to check out a license.问题解决

一、编译出现如下报错 二、检查一下许可证 三、许可证在许可日期内,故应该不是许可证的问题 四、检查一下编译器,我用的是这个,这几个编译器的区别其实我不太明白,但我把问题解决是选的这个 五、找到编译器的路径,去复…

metrics安装异常原因【doesn‘t contain any IP SANs】

1、问题背景 安装好k8s后,安装metrics-server后发现对应的pod一直无法启动。 apiVersion: v1 kind: ServiceAccount metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: Cl…

windows下如何搭建Yapi环境

今天使用YApi时发现原网址无法访问。这下只能本地部署了(官方文档)。 第一步:安装node.js 获取资源 nodejs: https://nodejs.org/en/downloadLinux安装yum install -y nodejs查看node版本node -v查看npm版本npm -v第二步:安装mo…

Redis命令 - Hashes命令组常用命令

1、HSET key field value 设置 key 指定的哈希集中指定字段的值。 HSET key field value 返回值:1代表field是一个新的字段。0代表field已存在 如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。如果字段在哈希集中存在,它将…

【算法】最佳牛围栏(二分,前缀和,双指针)

题目 农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于 1 头,也不会超过 2000 头。 约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。 围起区域内…

9. 乐观锁

当程序中出现并发访问时,就需要保证数据的一致性。以商品系统为例,现在有两个管理员均想对同一件售价为 100 元的商品进行修改,A 管理员正准备将商品售价改为 150 元,但此时出现了网络问题,导致 A 管理员的操作陷入了等…

大括号内两行公式中,如何左对齐公式的条件

1. 先建立一个大括号,中间设置一个二维矩阵如下: 2. 选中整个矩阵,不要选外面的括号,进行如下操作 3. 选择左侧对齐 即可。

浅析Linux进程地址空间

前言 现代处理器基本都支持虚拟内存管理,在开启虚存管理时,程序只能访问到虚拟地址,处理器的内存管理单元(MMU)会自动完成虚拟地址到物理地址的转换。基于虚拟内存机制,操作系统可以为每个运行中的进程创建…

YOLOv8原理与源码解析

课程链接:https://edu.csdn.net/course/detail/39251 【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来!代码阅读是从基础到提高的必由之路。 YOLOv8 基于先前…