Synopsys DC综合脚本示例

#******************************************************************************
#   File        : syn_example.tcl
#   Author      : Lyu Yang
#   Date        : 2018-12-09
#   Description    : Design Compiler
#******************************************************************************
sh  mkdir -p    work
set cache_write work
set cache_read  work
define_design_lib WORK -path work

# Library Setup
set search_path     {. /smic180/digital/sc/synopsys}
set symbol_library    {smic18.sdb}
set target_library    {slow.db}
set link_library    {* slow.db}

# SVF For Formality
set_svf -off

# Elaborate Design
set DESIGN    "design_top"

analyze -format verilog -vcs "-f ../rtl/${DESIGN}.f"
elaborate        ${DESIGN}
current_design    ${DESIGN}

link

uniquify -force -dont_skip_empty_designs

# Operating Condition
set_operating_conditions -analysis_type on_chip_variation
set_wire_load_model -name smic18_wl10
set_wire_load_mode  top

# DRC Rules
set_max_area        0
set_max_fanout        32  [get_designs $DESIGN]
set_max_transition  1.0 [get_designs $DESIGN]
set_max_capacitance 1.0 [get_designs $DESIGN]

# Constraints
set_drive    0.1000 [all_inputs]
set_load    0.0003 [all_outputs]

create_clock -name CCLK_CLK -period 5.0 [get_ports clk]

set_input_delay  1.0 -max -clock {CCLK_CLK} [remove_from_collection [all_inputs] [get_ports clk]]
set_output_delay 1.0 -max -clock {CCLK_CLK} [all_outputs]

set_clock_uncertainty 0.15 -setup [all_clocks]

# Check Design
redirect ../rpt/${DESIGN}_check_design.rpt "check_design"

# Compile Design
compile -scan

# Write Netlist
change_names -rules verilog -hierarchy
write_file -hier -format verilog -output ../rpt/${DESIGN}.syn.v

# Reports
redirect ../rpt/${DESIGN}_timing.rpt    "report_timing"
redirect ../rpt/${DESIGN}_area.rpt      "report_area -hier"
redirect ../rpt/${DESIGN}_qor.rpt       "report_qor -hier"

原文地址:https://www.cnblogs.com/lyuyangly/p/11846034.html

时间: 2024-10-03 22:29:24

Synopsys DC综合脚本示例的相关文章

DC综合及仿真验证和DFT测试

综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是RTL CODE.很多人入门都用HDL做设计,就以为HDL就只是用来做设计的,没有看到HDL最初始的一面,所以在验证时,就无法用好HDL另外一部分强大的功能.有时间还是可以看看Writing Testbench这本书,增强对HDL语言在验证方面作用的了解,也是提高对HDL认识很好的补充. 这里以Design Com

linux添加开机自启动脚本示例详解

来源: linux添加开机自启动脚本示例详解 linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;如:$ vim /etc/rc.local#!/bin/sh## This script will be executed *after*

SqlServer 审核(脚本示例)

此文章主要是脚本示例,更多说明看官方文档:审核(数据库引擎) -- 必须在 master 数据库中创建审核 USE master; GO -- 创建服务器审核对象 -- https://msdn.microsoft.com/zh-cn/library/cc280448(v=sql.100).aspx CREATE SERVER AUDIT [Audit_ToFile] TO FILE ( --目标类型:FILE(文件)/APPLICATION_LOG(应用程序日志)/SECURITY(安全日志)

MeteoInfo脚本示例:GrADS to netCDF

这里给出一个将GrADS数据文件转为netCDF数据文件的脚本示例程序,其它格式数据转netCDF可以参考: #----------------------------------------------------- # Author: Yaqiang Wang # Date: 2015-3-12 # Purpose: Convert CUACE grads data to netCDF (CUACE/Dust) # Note: Sample #------------------------

WebRTC VideoEngine综合应用示例(一)——视频通话的基本流程(转)

本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine综合应用示例(一)——视频通话的基本流程 WebRTC VideoEngine综合应用示例(二)——集成OPENH264编解码器 WebRTC VideoEngine综合应用示例(三)——集成X264编码和ffmpeg解码 WebRTC技术的出现改变了传统即时通信的现状,它是一套开源的旨在建立浏览器端对端的通信标准的技术,支持浏览器平台,使用P2P架构.WebRTC所采用的技术都是当前VoIP先进的技术,如内部所采用的音频引

MeteoInfoLab脚本示例:FY-3C全球火点HDF数据

FY-3C全球火点HDF数据包含一个FIRES二维变量,第一维是火点数,第二维是一些属性,其中第3.4列分别是火点的纬度和经度.下面的脚本示例读出所有火点经纬度并绘图. 脚本程序: #Add data file fn = 'D:/Temp/hdf/FY3C_VIRRX_GBAL_L2_GFR_MLT_GLL_20150811_POAD_1000M_MS.HDF' f = addfile(fn) #Get data variable v = f['FIRES'] #Get data array d

shell脚本程序中的部分常用环境变量和参数变量的说明以及简单shell脚本示例

环境变量 $HOME 当前用户的家目录 $PATH 以冒号分隔的用来搜索命令的目录列表 $PS1 命令提示符,通常是$字符,但在bash中,可以使用一些更复杂的值.例如,字符串[\[email protected]\h\w]$就是一个流行的默认值,它给出用户名/机器名和当前的目录名,当然也包括一个$提示符. $PS2 二级提示符,用来表示后续的输入,通常是 > 字符. $IFS 输入域分隔符.当shell读取输入时,它给出用来分隔单词的一组字符,他们通常是空格,制表符和换行符. $0 shell

Linux shell脚本示例(四)

Example No. 2作为shell编写人员,经常面对数据格式不一致的问题,将数据标准话后输出是一个需要解决问题,本示例以MySQL的时间为例,脚本输入月.日.年三个参数,将其标准化后输出,月份以英文标准输出,年份如果是4个数字,直接输出,如果是0~69,则年份为2000~2069,如果是70~99,则年份为1970~1999:脚本示例: #!/bin/bash #shell name:shell_format.sh #author by woon #数据标准化输出示例 Month_to_n

PIE SDK组件式开发综合运用示例

1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发进行详细的讲解. 2. 功能实现 2.1.界面搭建 最终的界面如下图所示: 图1最终结果图 2.1.1 新建项目 选择“Window窗体应用程序”,设置程序的名称和保存路径即可.(新建完成后可以将程序的窗体名称右键重命名为“FormMain”,,将窗体界面的属性的Text设置名称为“PIE应用程序”