DC环境配置

DC环境配置文件

根据文章《Tcl与Design Compiler (四)——DC启动环境的设置》尝试自己配置一个project的DC综合启动环境。

创建project文件夹及其目录文件夹管理

在桌面创建文件夹CG_Low_power,里面包含6个子文件夹,分别为doc、fm、pr、rtl、sim、syn。

主要关注两个文件夹,一个是rtl:放置.v设计文件,一个是syn文件夹:综合时的信息。

综合文件夹syn包含6个子文件夹:

config是放置DC的一些配置文件,这里的设计没有任何的配置文件,因此没有进行设置。

mapped是存放综合完成之后的文件的目录,这些文件是经过综合库映射的。

unmaped是存放综合时没有经过工艺库映射所得到的文件目录。

report是存放报告(比如时序报告、面积报告、DC启动报告等)的目录。

script是存放约束脚本的目录。

work就是启动DC的目录了,在这个目录里面,我们要进行创建.synopsys_dc.setup文件并且编写这个文件。

编写.synopsys_dc.setupcommon_setup.tcldc_setup.tcl配置文件

进入/CG_Low_power/syn/work路径,新建synopsys_dc.setup文件。打开terminal,输入vi .synopsys_dc.setup

cd /home/IC/Desktop/CG_Low_power/syn/work
vi .synopsys_dc.setup

按快捷键‘i’,进入vim的编辑模式,输入以下代码

source ./common_setup.tcl
source ./dc_setup.tcl

按‘Esc’退出编辑模式,进入vim的命令模式,再输入命令:wq,保存并退出

接下来新建common_setup.tcldc_setup.tcl配置文件,具体可参考Tcl与Design Compiler (三)——DC综合的流程》和《Tcl与Design Compiler (四)——DC启动环境的设置》两篇文章。

在当前terminal,输入vi common_setup.tcl,输入下面的代码

echo "**************************************************************"
echo "***************Start load .synopsys_dc.setup******************"
echo "**************************************************************"

echo "1=================  personal variables  ======================"

echo "2=========synthesis working path ========="
set SYN_ROOT_PATH   /home/IC/Desktop/CG_Low_power

echo "3=========synthesis rtl code path ========"
set RTL_PATH        $SYN_ROOT_PATH/rtl

echo "4======synthesis config files path ======="
set CONFIG_PATH     $SYN_ROOT_PATH/syn/config

echo "5=====synthesis script files path ========"
set SCRIPT_PATH     $SYN_ROOT_PATH/syn/script

echo "6=====synthesis unmapped files path ======"
set UNMAPPED_PATH   $SYN_ROOT_PATH/syn/unmapped

echo "7=====synthesis mapped files path ========"
set MAPPED_PATH     $SYN_ROOT_PATH/syn/mapped

echo "8=====synthesis report files path ========"
set REPORT_PATH     $SYN_ROOT_PATH/syn/report

echo "9=====Define work and DC's path directory===="
set WORK_PATH       /home/IC/Desktop/CG_Low_power/syn/work
set DC_PATH         /opt/Synopsys/Synplify2015
define_design_lib work  -path $WORK_PATH

echo "10====Define the library directory========"
set SYMBOL_PATH      /opt/Foundary_Library/TSMC90/aci/sc-x/symbols/synopsys
set LIB_PATH        /opt/Foundary_Library/TSMC90/aci/sc-x/synopsys


新建dc_setup.tcl配置文件,在当前terminal,输入vi common_setup.tcl,输入下面的代码

echo "==================================================="

echo "11==============system variables setings=========="

echo"12========library path automatic search setings======"
set_app_var   search_path    [list . $search_path $LIB_PATH  \
                                $SYMBOL_PATH $RTL_PATH  \
                                $SCRIPT_PATH            \
                                ${DC_PATH}/libraries/syn]

echo "13=========synthetic DC's own library path ========"
set_app_var   synthetic_library   [list dw_foundation.sldb standard.sldb]

echo "14=========synthetic technology library name ======="
set_app_var   target_library      [list slow.db]

echo "15========synthetic technology library path ======="
# Specigy for cell resolution during link
set_app_var   link_library        [list * ${target_library} dw_foundation.sldb]

echo "16=====synthetic technology graphical library path====="
set_app_var   symbol_library      [list tsmc090.sdb]


echo "******************************************************************"
echo "*******************End of load .synopsys_dc.setup*****************"
echo "******************************************************************"

按‘Esc’退出编辑模式,进入vim的命令模式,再输入命令:wq,保存并退出。

启动DC,进行基本的命令操作

  1. 使用具有GUI(图形用户界面)的方式启动DC
design_vision -topo
  1. 读入设计前的检查
  • 检查库是否正确设置

    printvar target_library
    printvar link_library
    printvar search_path
    
  • 检查逻辑库和物理库的一致性

    (检查可能不会通过,结果不影响综合的话,可以忽略)

check_library
  1. 读入设计和查看设计
  • 读入设计
read_file -format verilog ../../rtl/DC_EX_gen.v
  • 查看当前设计
current_design
  • 设置当前设计, 要综合哪个模块,就把哪个模块设置为当前设计
current_design DC_EX_gen
  • 链接设计,查看当前要综合的设计是否缺少子模块,返回值是1,说明子模块完整
link
  • 以ddc的格式保存未映射的设计(注意需要先创建unmapped文件夹)
write -hierarchy -f ddc -out ../unmapped/DC_EX_gen.ddc
  • 查看内存中的设计
list_designs
  • 查看当前库列表和库的路径
list_libs
  1. 约束设计
  • 执行约束文件(tcl脚本)来约束设计
source ../script/dc.tcl
  1. 进行综合
compile_ultra
  1. 综合后的检查(报告)
report_constraint -all  (查看是否违规)

report_timing (查看时序报告)

report_area (查看面积情况)
  1. 保存综合后的设计(注意先创建mapped这个文件夹)
write -hierarchy -format ddc -output ../mapped/DC_EX_gen.ddc

参考文章

1.Tcl与Design Compiler (三)——DC综合的流程

2.Tcl与Design Compiler (四)——DC启动环境的设置

文章出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容