DC综合的脚本总结

2023-11-05

#step 1Read&elaborate the RTL file list & check
#==========================================================
set TOP_MODULE spi
analyze -format verilog  [list spi.v serial_parallel.v switch.v]
elaborate $TOP_MODULE  -architecture verilog
current_design $TOP_MODULE
if {[Link] == 0} {
     echo Link with error!;
      exit;
}
if {[check_design] == 0} {
     echo check design with error! ;
      exit;
}
#step 2 reset the design first
#===========================================================
reset_design 
#===========================================================
#step 3 write the unmapped ddc file 
#===========================================================
uniquify
set uniquify_naming_style %s_%d
set UNMAPPED_PATH  .unmapped
write -f ddc -hierarchy -output ${UNMAPPED_PATH}${TOP_MODULE}.ddc
#===========================================================
#step 4Defined clock
#===========================================================
set CLK_NAME      SCLK
set CLK_PERIOD    20
set CLK_SKEW      [expr $CLK_PERIOD0.05]
set CLK_TRAN      [expr $CLK_PERIOD0.01]
set CLK_SRC_LATENCY  [expr $CLK_PERIOD0.1]
set CLK_LATENCY   [expr $CLK_PERIOD0.1]
create_clock -period $CLK_PERIOD  [get_ports $CLK_NAME]
set_ideal_network      [get_ports $CLK_NAME]
set_dont_touch_network [get_ports $CLK_NAME]
set_drive  0           [get_ports $CLK_NAME]
set_clock_uncertainty     -setup $CLK_SKEW       [get_ports $CLK_NAME]
set_clock_transition      -max   $CLK_TRAN       [get_ports $CLK_NAME]
set_clock_latency -source -max $CLK_SRC_LATENCY  [get_ports $CLK_NAME]
set_clock_latency         -max $CLK_LATENCY      [get_ports $CLK_NAME]
#=============================================================
#step 5Define reset
#=============================================================
set RST_NAME    CSB
set_ideal_network [get_ports $RST_NAME]
set_dont_touch_network [get_ports $RST_NAME]
set_drive  0           [get_ports $RST_NAME]
#=============================================================
#step 6set input delay
#============================================================
set ALL_IN_EXCEPT_CLK [remove_from_collection [all_inputs]  [get_ports $CLK_NAME]]
set INPUT_DELAY       [expr $CLK_PERIOD0.5]
set_input_delay    $INPUT_DELAY     -clock $CLK_NAME    $ALL_IN_EXCEPT_CLK  
#=============================================================
#step 7set output delay
#=============================================================
set   LIB_NAME          tcbn65gplustc
set   OPERA_CONDITION   NCCOM
set   OUTPUT_DELAY   [expr $CLK_PERIOD0.4]
set   MAX_LOAD       [expr [load_of $LIB_NAMEBUFFD3BWP7TZ]10]
set_output_delay   -max  $OUTPUT_DELAY   -clock $CLK_NAME [all_outputs]
set_output_delay   -min  [expr $OUTPUT_DELAY0.1]   -clock $CLK_NAME [all_outputs]
set_load             [expr $MAX_LOAD1]   [all_outputs]
set_isolate_ports    -type buffer         [all_outputs]
#==============================================================
#===========================================================
#step 8 set_operating_conditions & wore_load model
#==========================================================
set_operating_conditions    -max $OPERA_CONDITION 
                            -max_library $LIB_NAME
set   auto_wire_load_selection  false
set_wire_load_mode top
#============================================================
#step 9set area
#============================================================
set_max_area 0
#============================================================
#step 10wite post_process files
#=============================================================
set compile_automatic_clock_phase_inference relaxed
set compile_seqmap_propagate_constants false
#============================================================
#step 11set group path 
#avoid getting stack on one path
#=============================================================
group_path  -name $CLK_NAME  -weight 5                            -critical_range [expr $CLK_PERIOD0.1]
group_path  -name INPUTS   -from [all_inputs]                     -critical_range [expr $CLK_PERIOD0.1]
group_path  -name OUTPUTS  -to [all_outputs]                      -critical_range [expr $CLK_PERIOD0.1]
group_path  -name COMB     -from [all_inputs]  -to [all_outputs]  -critical_range [expr $CLK_PERIOD0.1]
report_path_group
#==============================================================
#step 12compile flow
#=============================================================
compile -map_effort high -area_effort high -boundary_optimization 
#=============================================================
#step 11wirte post_process files
#==============================================================
write -format verilog -hierarchy -output .outputsspi.v
write -format ddc -hier -o .outputsspi.ddc
write_sdc .outputsspi.sdc
write_sdf .outputsspi.sdf
#==============================================================
#step 12generate report files
#==============================================================
report_timing -delay max  .reportsspi_setup_rt.rpt
report_timing -delay min  .reportsspi_hold_rt.rpt
report_constraint -verbose  .reportsspi_rc.rpt


#write_sdf .outputsskyworks_v7.sdf#













本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DC综合的脚本总结 的相关文章

  • 有序链表转换成二叉树

    1 问题描述 给定一个单链表 其中的元素按升序排序 将其转换为高度平衡的二叉搜索树 本题中 一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 示例 给定的有序链表 10 3 0 5 9 一个可能的答案是 0
  • typora安卓_经验

    同一个系统生态数据共享很简单 可若是安卓 windows ios三个系统呢 配上BGM阅读体验更佳 由于我的设备是安卓手机 windows电脑 以及ipad 三个不同的系统之间 有时信息和数据的交流并不是特别方便 所以需要一个工作流 借助一
  • 深度学习模型部署的步骤和相关注意事项

    文章目录 深度学习模型部署的步骤和相关注意事项 什么是模型部署 步骤1 选择合适的部署环境 步骤2 选择合适的部署框架 步骤3 将模型转换为部署格式 步骤4 创建API接口 步骤5 部署模型 总结 深度学习模型部署的步骤和相关注意事项 什么
  • SQLi-LABS Less-11&&Less-12

    Less 11题目 使用bp抓包进行观察 得知这是POST注入 进行测试 猜字段数 获显示位 查数据库名 查表名 查列名 查列里面的内容 Less 12题目 Less 12具体做法和Less 11一样只不过闭合的姿势不一样而已 由bp抓包得
  • 解决Windows下的mysql Access denied for user ‘root‘@‘localhost‘ 和 远程连接数据库问题

    问题 Access denied for user root localhost using password YES 这是root帐户默认不开放远程访问权限 所以需要修改一下相关权限 解决方案 打开MySQL目录下的my ini文件 在文
  • linux swap shayisi,临时邮箱,10分钟邮箱域名收集(持续更新)

    临时邮箱 10分钟邮箱域名收集 持续更新 如果你的网站开通了邮箱注册功能 那么你肯定不喜欢注册的人是 临时 的 希望下面收集到的临时邮箱 10分钟邮箱 域名能帮助到你 9em org quickemail info wmail2 com s
  • 软件架构详解(附图)

    软件架构 software architecture 软件架构 software architecture 是一系列相关的抽象模式 用于指导大型软件系统各个方面的设计 软件架构是一个系统的草图 软件架构描述的对象是直接构成系统的抽象组件 各
  • springboot2.0入门(三)----定义编程风格+jackjson使用+postMan测试

    一 RESTFul风格API 1 优点 看Url就知道要什么资源 看http method就知道针对资源干什么 看http status code就知道结果如何 HTTP方法体现对资源的操作 GET 获取资源 POST 添加资源 PUT 修
  • python姿态检测实现多人多姿态识别python行为识别openpose行为骨骼框架检测动作识别动作检测行为动作分类

    效果演示 视频演示 python行为识别行为骨骼框架检测动作识别动作检测行为动作分类 项目下载链接 https download csdn net download babyai996 87552750 0环境项目配置教程 https do
  • PyTorch 2.0 实操:为 HuggingFace 和 TIMM 模型提速!

    PyTorch 2 0 通过简单一行 torch compile 就可以使模型训练速度提高 30 200 本教程将演示如何真实复现这种提速 torch compile 可以轻松地尝试不同的编译器后端 进而加速 PyTorch 代码的运行 它
  • 资深人士对大数据的解析

    在银行做了两年的数据分析和挖掘工作 较少接触互联网的应用场景 因此 一直都在思考一个问题 互联网和金融 在数据挖掘上 究竟存在什么样的区别 在对这个问题的摸索和理解过程中 发现数据挖掘本身包含很多层次 并且模型本身也是存在传统和时髦之分的
  • VS code更新后不在原来位置

    1 大家可能遇到这样一种情况 安装好VS Code后 直接把安装好的目录拷贝到D盘 但是一旦更新 就会重新安装到C Users Users AppData Local Programs 目录下 2 正确处理方式 修改注册表 位置 计算机 H
  • python计算一个三位数个位数之和

    1 输入一个三位数 n input 请输入一个三位数 n int n 将 字符串类型 转成 数值 456 2 得到百位b100 b100 n 100 3 得到十位b10 456 gt 45 gt 5 b10 n 10 10 4 得到个位b1
  • anaconda常用命令及常见错误与解决方法

    一 常用命令 用pip安装依赖包时 默认是从国外下载 可以指定国内源 速度飞快 pip install i 国内镜像地址 包名 例如 pip install i https mirrors aliyun com pypi simple nu
  • 怎么修改服务器的代码,怎么修改云服务器上的源代码

    怎么修改云服务器上的源代码 内容精选 换一换 本节操作介绍购买云耀云服务器的操作步骤 购买时 为减少您配置参数的时间 部分参数由系统自动分配 以下参数配置供你了解系统的默认配置 购买云耀云服务器仅支持 包年 包月 的计费方式 请您在购买前确
  • js通过URL下载服务器文件(可行方法)

    本文讲述已知文件在服务器的地址 如何下载至本地 其他博客分享的一般是这两种 1 通过window open window open https 1 1 1 1 test txt 2 通过get表单请求 var form
  • 深度医疗(3) - 基于深度学习肺部病变诊断识别

    深度医疗是笔者基于深度学习的医学项目应用开发实践 经过整理输出了文档和本系列课程 希望通过分享可以和大家共同讨论 相互学习 探索更好的解决方案 笔者是一名普通的大数据和人工智能领域从业者 过程中如有错误和理解不到位的地方请广大同仁不吝赐教
  • Oil Deposits(BFS)

    The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits GeoSurvComp works with one
  • 如何查询list对象嵌套list

    很简单 就比如说咱们查询一个一对多的表 比如有个学生表 和关联家长表 学生表有个字段是家长信息 每个学生的家长信息用集合来存储 这样就构造了一个场景 student表 id 主键 varchar name varchar parentlis

随机推荐

  • 每日浅读SLAM论文——简析Cartographer

    文章目录 二维激光SLAM 简单框架 前端 scan matching Submaps构建 后端 分支定界优化csm CorrelativeScanMatch 代码实现框架 Cartographer 论文名 Real Time Loop C
  • Ubuntu安装ping工具

    Ubuntu安装ping工具 apt get install inetutils ping 本文转自 wangpengtai 51CTO博客 原文链接 http blog 51cto com wangpengtai 1964033 如需转载
  • Scientific Linux 6.1 RC1 发布,免费的企业级Linux

    CentOS的步伐显然是慢了些 它在7月9日才刚刚推出基于RHEL 6 0的 CentOS 6 0 而基于RHEL 6 1的Scientific Linux 6 1 RC1版就已经发布了 和CentOS一样 Scientific Linux
  • STM32最小核心板使用TIM3和TIM4,分别输出一个PWM波形实现2个 LED呼吸灯的效果

    文章目录 前言 一 PWM 1 PWM定义 2 PWM参数 3 基本原理 4 PWM输出模式的区别 5 PWM产生 7 PWM的计数模式 8 PWM相关配置寄存器 8 1 捕获 比较模式寄存器 TIMx CCMR1 8 2 捕获 比较使能寄
  • 缘计算开源框架EdgeXFoundry的配置参数

    EdgeXFoundry的配置参数 Notes on device profiles 关于设备配置文件的说明 The device profile 设备配置文件 coreCommands deviceCommands deviceResou
  • Git版本管理

    常用命令 git clone xxx git pull git push git branch xxx git switch xxx 分支管理 master主分支 主干分支 fixed或dev分支合并过来后需要打tag 从fixed合并打小
  • vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建

    Day01 光子商城 出自尚硅谷雷丰阳老师的电商项目谷粒商城 基于SpringBoot2 x SpringCould 2 x redis docker vue 分布式 微服务 前后端分离 一 项目介绍 一个B2C模式的电商平台 向用户销售自
  • Matlab画图技巧

    二维图像 设置图片位置和大小 set gcf Position a b c d a b c d 分布代表图片的起始点位置 图片的长和高 在绘制一些较大的图片的时候 可先将图片调整好大小 拖拽到合适的位置 然后在工具栏编辑中选择图窗属性复制P
  • 如何区分GPT-3.5和GPT-4

    一些宣称自己使用的是GPT 4的网站其实用的GPT 3 5 通过问问题比较难区分 发现了一个很好区分的问题 鲁迅为什么暴打周树人 GPT 4会说他们是同一个人 GPT 3 5会认为他们是两个人 回答非常稳定 重新生成也是一样 参考 http
  • linux怎么查看ip地址

    linux怎么查看IP地址 怎么使用命令来查看IP地址 如下图教您怎么操作 演示环境 centos7 方法一 首先打开linux操作系统在进入到界面 桌面右键打开终端 在终端里输入命令后按下回车键 ifconfig a 我们将看到ens33
  • C++ 函数的默认参数

    黑马程序员C P95 函数的默认参数 内容比较简单 1 函数可以有默认参数 优先级低于重新指定的参数 2 函数参数列表中的默认参数必须再最右边且连续 3 函数声明和实现不能同时指定默认参数
  • python解释器错误

    pycharm中python解释器报错 Cannot run program C Users Anaconda3 python exe in directory XX createProgress error 2 系统找不到指定文件 pyc
  • 关于Arcengine实现Geoprocessor GenerateNearTable近邻分析出现COM错误问题

    关于Arcengine实现Geoprocessor GenerateNearTable近邻分析出现COM错误问题 关于近邻分析代码 GenerateNearTable newtable new GenerateNearTable newta
  • 2023年机器人与软件工程前沿国际会议(FRSE 2023)

    机器人与软件工程前沿国际会议 FRSE 2023 International Conference on the Frontiers of Robotics and Software Engineering FRSE 2023 由长沙理工大
  • 修改element el-switch样式,使文字在内部展示

    html代码块
  • 游戏服务器PhotonServer(一)———PhotonServer环境配置

    目录 一 PhotonServer介绍 1 为什么选择 Photon Server 2 Photon Server 有什么缺点 二 PhotonServer下载与安装 1 下载PhotonServer SDK 2 安装PhotonServe
  • Microsemi Libero系列教程(全网首发)

    Microsemi SmartFusion系列FPGA简介 SmartFusion系列ARM部分开发教程 SmartFusion从FPGA到ARM系列教程 Microsemi FPGA开发工具安装包所有版本官方下载链接 系列教程 Micro
  • wfs.js windows用法

    https github com qingqibing h5camera player wfs js https github com ChihChengYang wfs js https github com YoFlux wfs js
  • Node.js如何入门?系统学习路径分享

    想要系统学xx技术的小伙伴 快速找到学习路径的方法 找两本书 xx入门 和 xx指南 这两本书的目录就是我们系统学习的路径 以Node js为例子 Node js入门 整本书才38页 太好入门了 继续深入学习就继续找 Node js开发指南
  • DC综合的脚本总结

    step 1Read elaborate the RTL file list check set TOP MODULE spi analyze format verilog list spi v serial parallel v swit