DC环境配置

作者: 家琛的水笔 | 来源:发表于2021-04-02 00:01 被阅读0次

    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

    相关文章

      网友评论

        本文标题:DC环境配置

        本文链接:https://www.haomeiwen.com/subject/dyfahltx.html