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.setup
、common_setup.tcl
和dc_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.tcl
和dc_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,进行基本的命令操作
- 使用具有GUI(图形用户界面)的方式启动DC
design_vision -topo
- 读入设计前的检查
-
检查库是否正确设置
printvar target_library printvar link_library printvar search_path
-
检查逻辑库和物理库的一致性
(检查可能不会通过,结果不影响综合的话,可以忽略)
check_library
- 读入设计和查看设计
- 读入设计
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
- 约束设计
- 执行约束文件(tcl脚本)来约束设计
source ../script/dc.tcl
- 进行综合
compile_ultra
- 综合后的检查(报告)
report_constraint -all (查看是否违规)
report_timing (查看时序报告)
report_area (查看面积情况)
- 保存综合后的设计(注意先创建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
网友评论