DC入门篇——read和analyze&elaborate的区别

引言

  DC读入设计文件有两种方式,一是read指令,二是 analyze&elaborate 的组合。下文将介绍两者的异同。

read

请添加图片描述

  具体为

read -format verilog[db,vhdl...] file   #dcsh model
read_db file.db                         #tcl model
read_verilog file.v                     #tcl model
read_vhdl file.vhd                      #tcl model

  如果读入单个文件可以使用指令。

read_verilog alu.v

  如果需要读入多个文件可以使用以下指令。

# 设置verilog文件所在的目录rtl
set design_path "rtl"
set verilog_files [glob -nocomplain -type f $design_path/*.v]
foreach file $verilog_files {
    read_file -format verilog $file
}

analyze & elaborate

在这里插入图片描述

  语法格式为:

analyze [-library library_name] [-format verilog | vhdl | sverilog] file_list
# library:指定中间结果存放的库,即 Linux 系统下的一个目录,默认为当前目录,也可以用 define_design_lib 命令指定
# format:HDL 源文件的类型,即 verilog 或 vhdl
# file_list:源代码文件名列表,文件名的指定可以通过TCL的链表命令 {}、“”、[list file_name] 等三种方法之一完成
elaborate design_name [-library library_name] [-parameters param_list]
# deisgn_name:指需要进行描述的设计
# library:用于保存设计的结构级描述
# parameters:指定给设计传递的参数,若省略则参数使用缺省值;参数用“”括起来

  如果需要读入多个文件可以使用以下指令。

set top_design top
set source_file [sh find ./rtl/*.v]
analyze -format verilog $source_file
elaborate $top_design

  当然以上脚本是可以正确的,但是他会在默认目录下(dc运行的路径)生成一系列analyze生成的中间文件(.mr,.syn…),这会导致该目录很乱。
在这里插入图片描述

  有两种解决方法,法一是新建一个work文件夹,在work文件夹下运行dc。法二是通过define_design_lib指定library,将中间结果存放在该lib种,指令如下。

set work_path work
define_design_lib work -path $work_path
set top_design top
set source_file [sh find ./rtl/*.v]
analyze -format verilog -lib work $source_file
elaborate $top_design

异同

  其实read命令其实是一步完成analyze&elaborate的工作,而analyze&elaborate仅限用于VHDL和verilog。虽然两者都是读入设计文件,但是存在一些区别。
在这里插入图片描述

  需要特别关注的是以下三点:

  • 对于已经analyze过的工程只需要elaborate,不需要重新读入,可以减少综合时间;
  • read可以读除了verilog和VHDL外,还可读db等文件;
  • analyze&elaborate可以对parameter进行操作,read中parameter只能保持默认综合,不可改变。
### 什么是详尽分析(Elaborate Analysis)在信息技术背景下的含义 在信息技术领域,详尽分析是一种深入研究特定技术、方法或系统的过程。它通常涉及分解复杂问题并评估其各个组成部分的功能及其相互作用[^1]。通过这种方法可以识别关键性能指标 (KPIs),例如项目管理中的 PM 自动测试优化 (ATO) 的比率,并讨论这些因素对整体业务目标的影响。 此外,在开发用于数据分析调试的工具时,进行详尽分析意味着要仔细权衡不同需求之间的关系,比如数据准确性与采集效率之间可能存在的矛盾[^2]。这种类型的分析有助于构建更高效的解决方案来满足实际应用的要求。 当涉及到图像处理这样的具体应用场景时,详尽分析还体现在解决现有难题上,例如低光照环境下的成像质量改进。为了应对缺乏真实值标注这一挑战,研究人员创建了一个新数据集,其中包含了配对的短时间曝光照片以及长时间曝光作为参考标准的照片序列[^3]。此举措不仅促进了算法模型训练过程中的监督学习效果提升,也为后续相关领域的探索奠定了基础。 ```python # 示例代码展示如何计算两个重要参数的比例差异 def calculate_ratio_difference(pm_value, ato_value): ratio_pm_ato = pm_value / ato_value if ato_value != 0 else float('inf') return abs(1 - ratio_pm_ao) example_pm = 85 example_ato = 76 difference = calculate_ratio_difference(example_pm, example_ato) print(f"The difference between the two ratios is {difference:.2f}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值