RL7142 RX2 Designer 交付文件说明

汇总 Designer 提供的 SDC、Tcl、DDC、Verilog、SDF、DEF、 Scan、DFT 与 Formality 文件,并说明每个文件的用途和打开方式。

当前前提: 原始目录和 ICC2 block 只有读取权限,不能修改、保存或在原目录生成报告。

1. 只读环境使用原则

可以安全执行: fileheadlessgrepstringsview。 这些命令只读取文件,不会修改原文件。
需要区分: sourceread_sdcread_defread_verilogread_ddc 不是普通“打开”,而是执行脚本或把数据导入 EDA 工具会话。
当前只读 ICC2 block 中不要执行: save_blocksave_libwrite_defread_def, 也不要重复读取 SDC 或 source 修改属性的 Tcl 脚本。

如果要在 DC、PT、ICC2、Formality 或 DFT 工具中加载这些文件, 建议先切换到自己的可写目录,再从对方目录读取输入文件:

mkdir -p ~/rl7142_rx2_analysis
cd ~/rl7142_rx2_analysis

# 根据需要启动工具
icc2_shell
# dc_shell
# pt_shell
# fm_shell

改变 Linux 工作目录不会复制或修改对方文件,只是让日志和临时文件写到自己的目录。

2. 文件用途与打开方式汇总

文件 类别 主要用途 只读查看 真正加载方式 当前只读 block 建议
rl7142_rx2.preCTS.sdc preCTS 约束 CTS 前时序约束,可能使用理想时钟、预估 clock latency、 uncertainty 和时序例外。 less -S
grep
DC/ICC2/PT:read_sdc 只查看,不要重复读入
lib.tcl 库配置脚本 配置 search path、target/link library、 reference library 或其他工具环境。 less -S lib.tcl Tcl:source lib.tcl 审查内容后才能 source
HPF_eco_timing.sdc ECO 约束 ECO 阶段附加时序约束,可能包含 false path、 case analysis、max/min delay 等。 less -S
grep
ICC2/PT:read_sdc 不要叠加到现有约束
rl7142_rx2.sdc 主时序约束 主 SDC,通常包含 clock、generated clock、IO delay、 clock group 和 timing exception。 less -S
grep
DC/ICC2/PT:read_sdc 当前 block 可能已有约束
HPF_eco_dontch.tcl ECO 属性脚本 根据名称推测,可能设置 dont_touch、size_only 或 ECO 保护属性;准确用途以文件内容为准。 less -S
grep
Tcl:source 不要在只读 block 中 source
group_path.tcl Path Group 脚本 创建 REG2REG、IN2REG、REG2OUT 等时序路径组, 用于分类报告或优化。 less -S
grep group_path
DC/ICC2/PT:source source 会改变当前会话
rl7142_rx2.ddc DC 数据库 Synopsys Design Compiler 数据库,保存综合网表、 层次、约束和综合属性。 file rl7142_rx2.ddc Design Compiler:read_ddc 在自己的 DC 会话读取
rl7142_rx2.v 门级网表 描述 module、port、标准单元、macro 实例和 net 连接。 less -S
grep "^module"
ICC2/PT/Formality:read_verilog 文本查看安全
rl7142_rx2.sdf 延时反标 Standard Delay Format,保存 cell delay、 interconnect delay 和 timing checks。 head
less -S
VCS/Xcelium 等仿真器进行 SDF annotation 文本查看安全
rl7142_rx2.def 物理 DEF 可能包含 DIEAREA、rows、placement、pins、blockages、 special nets 和 routing。 less -S
grep "^DIEAREA"
ICC2:read_def 不要导入当前只读 block
rl7142_rx2.resourcefile 用途待确认 扩展名不能唯一确定格式,可能属于 DFT、 ATPG 或内部自动化流程。 file
head
strings
根据文件头和生成工具判断 不要直接加载
rl7142_rx2.compression.spf 疑似 DFT 协议 结合 compression 命名,较可能是 scan compression 或 ATPG 使用的协议文件。 head
grep -i scan
TestMAX/TetraMAX/DFT 工具 先确认 STIL/scan 关键字
rl7142_rx2.internal.spi 格式待确认 可能是 SPICE 网表,也可能是 scan compression 内部信息文件,不能仅凭扩展名判断。 file
head
grep
根据内容选择 SPICE 或 DFT 工具 先找 SUBCKT/scan 关键字
rl7142_rx2.scan_def Scan DEF 描述 scan chain、ordered scan cells、 floating cells 和物理重排信息。 less -S
grep SCANCHAINS
ICC2/DFT:通常由 read_def 读取 不要导入当前只读 block
rl7142_rx2.svf Formality Guidance 保存综合过程中的 rename、flatten、register mapping 等信息,辅助等价验证。 file
head
Formality:set_svf 在自己的 Formality 会话使用

3. 文件详细说明

3.1 SDC:preCTS、主约束和 ECO 约束

相关文件:

  • rl7142_rx2.preCTS.sdc
  • rl7142_rx2.sdc
  • HPF_eco_timing.sdc

preCTS SDC

用于 Clock Tree Synthesis 之前。由于真实时钟树尚未建立, 可能使用 ideal clock、预估 latency 和较大的 uncertainty。

主 SDC

通常包含设计的基础时序环境,例如主时钟、generated clock、 IO delay、clock group、false path 和 multicycle path。

ECO Timing SDC

通常在主约束基础上补充 ECO 所需的 case analysis、 false path、max/min delay 或其他局部约束。

安全查看

less -S rl7142_rx2.sdc

grep -nE "create_clock|create_generated_clock" rl7142_rx2.sdc

grep -nE \
"set_false_path|set_multicycle_path|set_max_delay|set_min_delay" \
rl7142_rx2.sdc

grep -nE \
"set_clock_groups|set_case_analysis|set_clock_uncertainty" \
rl7142_rx2.sdc

当前只读 ICC2 block 中的建议

如果 block 已经保存了约束,不要为了“查看”而再次执行 read_sdc。优先报告当前数据库中的约束:

report_clocks
report_clock_settings
report_exceptions
report_disable_timing
report_modes
report_corners
report_scenarios
重复读取 SDC 可能造成时钟重定义、exception 重复或约束覆盖。 “文件可读”不等于“应该重新导入当前 block”。
3.2 Tcl:库配置、ECO 保护和 Path Group

lib.tcl

可能包含:

  • search_path
  • target_library
  • link_library
  • set_ref_libs
  • set_app_var
  • set_app_options
less -S lib.tcl

grep -nE \
"search_path|target_library|link_library|ref_lib|set_app" \
lib.tcl

HPF_eco_dontch.tcl

文件名中的 dontch 很可能是 dont_touch 的缩写,但必须根据实际内容确认。

less -S HPF_eco_dontch.tcl

grep -nE \
"dont_touch|size_only|ideal|remove|delete|create|connect" \
HPF_eco_dontch.tcl

group_path.tcl

可能通过 group_path 创建 REG2REG、IN2REG、 REG2OUT 等时序路径分组。

less -S group_path.tcl
grep -n "group_path" group_path.tcl
source 不是查看: source xxx.tcl 会执行脚本里的全部 Tcl 命令。 在未审查脚本前,不要在当前只读 block 会话中 source。
3.3 DDC 与 Verilog:综合数据库和门级网表

rl7142_rx2.ddc

DDC 是 Design Compiler 的内部设计数据库,通常比 “Verilog + SDC”保存更多综合状态和对象属性。 它不是 ICC2 的 NDM block。

建议在自己的可写目录中启动 DC:

mkdir -p ~/rl7142_rx2_dc
cd ~/rl7142_rx2_dc
dc_shell

进入 DC 后再读取:

# lib.tcl 必须先审查,确认适用于当前 DC 环境
source /absolute/path/to/lib.tcl

read_ddc /absolute/path/to/rl7142_rx2.ddc

current_design
report_design
report_area
report_reference

rl7142_rx2.v

门级 Verilog 网表描述逻辑连接,不负责保存完整 placement、 routing 或寄生信息。

less -S rl7142_rx2.v

# 查看全部 module
grep -nE "^[[:space:]]*module[[:space:]]" \
rl7142_rx2.v | head -50

# 查找顶层
grep -n "module rl7142_rx2" rl7142_rx2.v
在 ICC2、PT 或 Formality 中读取门级网表时,还需要正确的 standard cell 和 macro library 才能完成 link。
3.4 DEF 与 Scan DEF:物理实现和 Scan Chain

rl7142_rx2.def

DEF 可能包含:

  • DIEAREA:Die 或 block 边界
  • ROW:标准单元 placement rows
  • COMPONENTS:实例及 placement
  • PINS:顶层端口和物理位置
  • BLOCKAGES:Placement/routing blockage
  • SPECIALNETS:电源地特殊网络
  • NETS:普通信号网络及可能的 routing

安全查看 DEF

# 查看设计名、单位和边界
grep -nE "^VERSION|^DESIGN|^UNITS|^DIEAREA" \
rl7142_rx2.def | head

# 查看包含哪些主要 section
grep -nE \
"^(ROW|COMPONENTS|PINS|NETS|SPECIALNETS|VIAS|BLOCKAGES|REGIONS|GROUPS)" \
rl7142_rx2.def | head -100

rl7142_rx2.scan_def

Scan DEF 主要记录 scan chain 结构、scan cell 顺序及物理重排信息。

less -S rl7142_rx2.scan_def

grep -nE \
"^DESIGN|^SCANCHAINS|END SCANCHAINS" \
rl7142_rx2.scan_def
read_def 会向设计数据库导入或更新物理内容。 当前已经打开的是别人完成的只读 block,因此不要把普通 DEF 或 Scan DEF 再次导入该 block。
3.5 SDF:门级仿真延时反标

rl7142_rx2.sdf 是 Standard Delay Format 文件, 可能包含:

  • Cell delay
  • Interconnect delay
  • Setup/hold timing check
  • Recovery/removal
  • Pulse-width check

安全查看

head -n 50 rl7142_rx2.sdf

grep -nE \
"SDFVERSION|DESIGN|DATE|VENDOR|PROGRAM|VERSION|TIMESCALE" \
rl7142_rx2.sdf | head -30

典型仿真反标

initial begin
    $sdf_annotate("rl7142_rx2.sdf", dut);
end
SDC 与 SDF 不同:SDC 定义时序约束;SDF 保存延时结果, 主要用于门级仿真和延时反标。
3.6 SVF:Formality 等价验证辅助文件

rl7142_rx2.svf 一般由 Design Compiler 生成, 保存综合过程中的 guidance,例如:

  • Register mapping
  • Object rename
  • Flatten / ungroup
  • Constant propagation
  • Clock-gating 转换
  • Datapath 优化映射

在自己的 Formality 会话中使用:

set_svf /absolute/path/to/rl7142_rx2.svf
SVF 不是最终设计网表,也不是通用约束文件。 它必须与对应的综合 run 和 implementation 网表配套使用, 不建议手工修改。
3.7 Compression SPF、Internal SPI 和 Resourcefile

下面三个文件不能只根据扩展名给出绝对结论:

  • rl7142_rx2.compression.spf
  • rl7142_rx2.internal.spi
  • rl7142_rx2.resourcefile

compression.spf

结合文件名中的 compression 以及同目录中的 scan_def,它较可能是 scan compression 或 ATPG 使用的协议文件,而不是普通寄生参数文件。

head -n 50 rl7142_rx2.compression.spf

grep -nEi \
"STIL|Scan|Clock|Procedure|Load|Unload|Capture|compression" \
rl7142_rx2.compression.spf | head -50

internal.spi

如果出现以下关键字,通常属于 SPICE 类网表:

.SUBCKT
.ENDS
.MODEL
M...
X...

如果出现 scan、chain、compression、protocol 等关键字, 则更可能属于 DFT 内部数据。

file rl7142_rx2.internal.spi
head -n 50 rl7142_rx2.internal.spi

grep -nEi \
"SUBCKT|ENDS|MODEL|scan|chain|compression|protocol|clock" \
rl7142_rx2.internal.spi | head -50

resourcefile

.resourcefile 不是能唯一识别格式的标准扩展名。 它可能由 DFT、ATPG 或公司内部脚本产生。

file rl7142_rx2.resourcefile
head -n 50 rl7142_rx2.resourcefile

# 如果含有不可打印字符
strings rl7142_rx2.resourcefile | head -100
必须根据文件头、生成工具和 designer 的 run script 才能最终确认这三个文件的准确用途。

4. 文件之间的关系

lib.tcl | +-- 配置标准单元库、macro 库及搜索路径 | +-- rl7142_rx2.ddc | | | +-- Design Compiler 综合数据库 | +-- rl7142_rx2.v | | | +-- 综合后的门级逻辑网表 | +-- rl7142_rx2.sdc | | | +-- 主时序约束 | +-- rl7142_rx2.preCTS.sdc | | | +-- CTS 前阶段约束 | +-- HPF_eco_timing.sdc | | | +-- ECO 附加时序约束 | +-- HPF_eco_dontch.tcl / group_path.tcl | | | +-- ECO 保护属性和时序 Path Group | +-- rl7142_rx2.def | | | +-- Placement、pin、blockage 和 routing | +-- rl7142_rx2.scan_def | | | +-- Scan chain 物理顺序 | +-- rl7142_rx2.sdf | | | +-- 门级仿真延时反标 | +-- rl7142_rx2.svf | | | +-- Formality 等价验证 guidance | +-- compression.spf / internal.spi / resourcefile | +-- 疑似 DFT、Scan Compression 或 ATPG 相关文件

5. “查看文件”和“加载文件”的区别

操作 示例 是否改变工具会话 只读场景建议
查看文本 less -S file 安全
查看文件头 head -n 50 file 安全
搜索关键字 grep -n pattern file 安全
识别文件格式 file file 安全
执行 Tcl source file.tcl 是,执行脚本中全部命令 必须先审查
读取 SDC read_sdc file.sdc 是,改变当前约束状态 不要为查看而重复读取
读取 DEF read_def file.def 是,更新物理数据库 不要导入当前只读 block
读取网表 read_verilog file.v 是,创建或更新逻辑设计 在自己的独立环境读取
读取 DDC read_ddc file.ddc 是,载入 DC 设计数据库 在自己的 DC 会话读取

6. 推荐的第一轮只读检查

以下命令只读取文件,不会修改原始目录内容:

# 1. 查看文件权限、大小和格式
ls -lh
file *

# 2. 查看主 SDC 中的时钟和时序例外
grep -nE "create_clock|create_generated_clock" \
rl7142_rx2.sdc

grep -nE \
"set_false_path|set_multicycle_path|set_max_delay|set_min_delay" \
rl7142_rx2.sdc

# 3. 查看 DEF 的设计名、单位和边界
grep -nE "^DESIGN|^UNITS|^DIEAREA" \
rl7142_rx2.def | head

# 4. 查看 Scan DEF 的 Scan Chain 部分
grep -nE "^DESIGN|^SCANCHAINS|END SCANCHAINS" \
rl7142_rx2.scan_def

# 5. 查看 SDF 的基本信息
grep -nE \
"SDFVERSION|DESIGN|DATE|VENDOR|PROGRAM|TIMESCALE" \
rl7142_rx2.sdf | head -30

# 6. 确认三个格式存在歧义的文件
head -n 50 rl7142_rx2.resourcefile
head -n 50 rl7142_rx2.compression.spf
head -n 50 rl7142_rx2.internal.spi

7. 最终建议

  1. 使用 fileheadgrepless 对文件做第一轮只读检查。
  2. 不要在别人目录中启动会创建 log、临时文件和报告的 EDA 流程。
  3. 当前只读 ICC2 block 已经包含设计状态时,不要重复执行 read_sdcread_def 或属性修改脚本。
  4. 如果要重建设计,应在自己的工作目录中创建独立的 ICC2、DC、PT、Formality 或 DFT 会话。
  5. Tcl 文件必须先审查再 source,因为 source 是执行,不是查看。
  6. compression.spfinternal.spiresourcefile 的最终用途,应根据文件头、 designer 的生成脚本和使用工具确认。