跳转至

综合脚本说明

1. 综合流程

1.1 主脚本

1
2
3
4
5
6
7
8
9
#!/bin/bash
# synthesize.sh - 主综合脚本

# 设置环境变量
export DC_HOME=/eda/synopsys/dc
export PATH=$DC_HOME/bin:$PATH

# 运行综合
dc_shell -f synthesize.tcl | tee synthesize.log

1.2 Tcl 脚本

# synthesize.tcl - 综合配置

# 读取设计
read_verilog -top chip_top ../rtl/chip_top.v
read_verilog ../rtl/cpu/cpu_core.v
read_verilog ../rtl/cache/icache.v
read_verilog ../rtl/cache/dcache.v

# 读取约束
read_sdc constraints/synthesis.sdc

# 设置综合选项
set_max_area 0
set_max_power 100mW

# 执行综合
compile_ultra

# 输出结果
write -format verilog -output output/chip_top_syn.v
write -format ddc -output output/chip_top_syn.ddc
write_sdc -output output/chip_top_syn.sdc

# 生成报告
report_area > output/area.rpt
report_timing > output/timing.rpt
report_power > output/power.rpt

2. 运行命令

1
2
3
4
5
6
7
# 运行综合
./synthesize.sh

# 查看报告
cat output/area.rpt
cat output/timing.rpt
cat output/power.rpt

3. 输出文件

文件 描述
chip_top_syn.v 综合后网表
chip_top_syn.ddc Design Compiler 数据库
chip_top_syn.sdc 综合后约束
area.rpt 面积报告
timing.rpt 时序报告
power.rpt 功耗报告

4. 注意事项

  1. 确保 RTL 代码无语法错误
  2. 检查约束文件正确性
  3. 验证综合后网表功能正确性