innovus如何分步长func和dft时钟
在Innovus工具中,分步处理功能时钟(func clock)和DFT时钟(如扫描测试时钟)需要结合设计模式(Function Mode和DFT Mode)进行约束定义、时钟树综合(CTS)和时序分析。跟随分步操作下吧:
2.5GHz数字后端实战课!过年大促!
景芯SoC【设计】实战课
景芯SoC【验证】实战课
景芯SoC【DFT】实战课
景芯SoC【后端】实战课
【劲爆】芯片全流程实战
1. 约束定义与模式分离
a. 创建多模式约束(MMMC)
- 在SDC约束文件中,为Function Mode和DFT Mode分别定义时钟:
# Function Mode
create_clock -name func_clk -period 10 [get_ports clk]
# DFT Mode(扫描测试时钟)
create_clock -name scan_clk -period 20 [get_ports scan_clk]
- 使用set_case_analysis区分模式:
# Function Mode
set_case_analysis 0 [get_port test_mode]
# DFT Mode
set_case_analysis 1 [get_port test_mode]
b. 配置多模式多角(MMMC)
- 在Innovus中加载不同模式的约束文件,并创建Analysis View:
create_analysis_view -name func_view -mode func_mode -corner ssg0p81v125c
create_analysis_view -name dft_view -mode dft_mode -corner ssg0p81v125c
# 关联SDC到对应模式
read_sdc -mode func_mode func_mode.sdc
read_sdc -mode dft_mode dft_mode.sdc
set_analysis_view -setup {func_view} -hold {func_view} # 功能模式分析
set_analysis_view -setup {dft_view} -hold {dft_view} # DFT模式分析

2. 分步时钟树综合(CTS)
set_analysis_view -setup func_view
ccopt_design -clock func_clk # 功能时钟优化
set_analysis_view -setup dft_view
ccopt_design -clock scan_clk # DFT时钟优化
(c) 处理时钟冲突
若功能时钟和DFT时钟共用时钟树分支(如MUX输出),需定义排除关系:
# 在功能视图中排除DFT时钟优化
set_ccopt_property -exclude_clock scan_clk -analysis_view func_view
# 在DFT视图中排除功能时钟优化
set_ccopt_property -exclude_clock func_clk -analysis_view dft_view
3. 多模式时序分析与验证
(a) 功能模式时序检查
set_analysis_view -setup {func_view} -hold {func_view}
timeDesign -expandedViews -analysis_view func_view
report_timing -view func_viee
(b) DFT模式时序检查
set_analysis_view -setup {dft_view} -hold {dft_view}
timeDesign -expandedViews -analysis_view dft_view
report_timing -view dft_view
(c) 跨模式检查
确保时钟切换信号(如test_mode)的时序稳定:
check_timing -override_defaults mode_switch

4. DFT时钟特殊处理
(a) 扫描链时钟分组
隔离功能时钟与DFT时钟的物理路径:
set_clock_groups -physically_exclusive -group func_clk -group scan_clk
(b) 低功耗DFT时钟
若DFT时钟频率较低,需单独设置过渡时间约束:
set_clock_transition -clock scan_clk -max 0.5
(c) 时钟MUX稳定性
确保时钟选择信号(test_mode)的路径满足建立/保持时间:
set_false_path -from [get_ports test_mode] -to [get_clocks func_clk]
set_false_path -from [get_ports test_mode] -to [get_clocks scan_clk]
5. 最终验证
(a) 时钟树报告
report_ccopt -analysis_view func_view
report_ccopt -analysis_view dft_view
(b) DRC/LVS检查
verify_drc -mode all -limit 1000
verify_connectivity -type all
(c) 形式验证(Formality)
确保功能模式与DFT模式逻辑等价。
注意特殊DFT时钟处理
- 扫描链时钟(Scan Shift/Scan Capture):
- 在DFT模式下,扫描链时钟通常需要更低频率,需单独约束。
- 使用set_clock_groups隔离功能时钟和测试时钟:
set_clock_groups -physically_exclusive -group {func_clk} -group {scan_clk}
- 时钟MUX处理:
- 确保时钟选择信号(如
test_mode)在布局布线后稳定,避免毛刺。

其他关键注意事项
1. 模式切换信号:确保test_mode等控制信号在物理实现中布局稳定。
2. 功耗分析:DFT模式下可能功耗更高,需单独分析IR Drop。
3. DRC/LVS:时钟MUX和DFT逻辑需通过物理验证工具(如Pegasus)检查。
通过分场景约束、分步CTS和多模式时序分析,可高效管理功能时钟与DFT时钟的冲突问题。

相关文章:
innovus如何分步长func和dft时钟
在Innovus工具中,分步处理功能时钟(func clock)和DFT时钟(如扫描测试时钟)需要结合设计模式(Function Mode和DFT Mode)进行约束定义、时钟树综合(CTS)和时序分析。跟随分…...
1.1 单元测试核心原则
单元测试核心原则 单元测试是软件质量保障的第一道防线,其核心目标是通过最小粒度的测试验证代码逻辑的正确性。以下是编写高质量单元测试必须遵循的六大原则,结合Mockito的应用场景进行解析: 1. 快速反馈(Fast) 原则…...
前端智能识别解析粘贴板内容
原理分析 说白了就是解析特定格式的文字,并将处理好的内容回填到需要的表单中。 为了程序的健壮性,我们解析时需要考虑多种情况。 1、文字行数 单行和多行的解析可以分开 单行的情况如下面这种, 姓名: 七七 电话:788 邮箱&…...
AI工具发展全景分析与战略展望
AI工具发展全景分析与战略展望 本文基于本人最近整理并开发的AI工具推荐平台软件及相关的资料信息整理。 一、产业现状深度解析 (一)市场格局三维透视 #mermaid-svg-YLeCfJwoWDOd32wZ {font-family:"trebuchet ms",verdana,arial,sans-seri…...
(定时器,绘制事件,qt简单服务器的搭建)2025.2.11
作业 笔记(复习补充) 1> 制作一个闹钟软件 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> //按钮类 #include <QTimer> //定时器类 #include <QTime> //…...
C++17十大常用特性
玩转cpp小项目星球3周年了! 今天分享两个知识点: C17我常用的十大特性。git am与git apply对patch处理的不同。...
【机器学习】超参数的选择,以kNN算法为例
分类准确度 一、摘要二、超参数的概念三、调参的方法四、实验搜索超参数五、扩展搜索范围六、考虑距离权重的kNN算法七、距离的计算方法及代码实现八、明可夫斯基距离的应用九、网格搜索超参数 一、摘要 本博文讲解了机器学习中的超参数问题,以K近邻算法为例&#…...
【RabbitMQ的监听器容器Simple和Direct】 实现和场景区别
在Spring Boot中,RabbitMQ的两种监听器容器(SimpleMessageListenerContainer和DirectMessageListenerContainer)在实现机制和使用场景上有显著差异。以下是它们的核心区别、配置方式及最佳实践: Simple类型 Direct类型 一、核心…...
NO.13十六届蓝桥杯备战|条件操作符|三目操作符|逻辑操作符|!||||(C++)
条件操作符 条件操作符介绍 条件操作符也叫三⽬操作符,需要接受三个操作数的,形式如下: exp1 ? exp2 : exp3条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算, exp2 计算的结果是整个表达式的结果&am…...
2025.1.8(qt图形化界面之消息框)
笔记(后期复习补充) 作业 1> 手动将登录项目实现,不要使用拖拽编程 并且,当点击登录按钮时,后台会判断账号和密码是否相等,如果相等给出登录成功的提示,并且关闭当前界面,发射一…...
旅游行业内容管理系统CMS提升网站建设效率与体验
内容概要 在如今快速发展的互联网时代,旅游行业对网站的要求越来越高,内容管理系统(CMS)的应用不可或缺。以 Baklib 为代表的先进CMS可显著提高旅游网站的建设效率与用户体验。为了满足不断变化的市场需求,这些系统通…...
使用 Scrapy 抓取网页数据
1. Scrapy 简介 Scrapy 是一个流行的 Python 爬虫框架,提供了强大的工具和灵活的扩展机制,用于高效抓取和处理网页数据。它支持异步 I/O,速度快且资源消耗低,非常适合大规模爬取任务。 2. 安装 Scrapy 确保你的 Python 环境版本…...
C# OpenCV机器视觉:SoftNMS非极大值抑制
嘿,你知道吗?阿强最近可忙啦!他正在处理一个超级棘手的问题呢,就好像在一个混乱的战场里,到处都是乱糟糟的候选框,这些候选框就像一群调皮的小精灵,有的重叠在一起,让阿强头疼不已。…...
kamailio关于via那点事
如果kamailio作为代理服务器,在转到目的路由时 不删除原始的via信息 会造成信息泄露 如果 Kamailio 作为代理服务器(SIP Proxy)在转发 SIP 请求时不删除原始的 Via 信息,这确实可能会造成信息泄露。 📌 为什么不删除 …...
[MFC] 使用控件
介绍如何使用控件,以及如何获取控件中的数值 check Box 添加点击事件,即选中和取消选中触发的事件 第一种方式是按照如下方式第二种方式是直接双击点击进去 void CMFCApplication1Dlg::OnBnClickedCheckSun() {// TODO: 在此添加控件通知处理程序代…...
【探索未来科技】2025年国际学术会议前瞻
【探索未来科技】2025年国际学术会议前瞻 【探索未来科技】2025年国际学术会议前瞻 文章目录 【探索未来科技】2025年国际学术会议前瞻前言1. 第四届电子信息工程、大数据与计算机技术国际学术会议( EIBDCT 2025)代码示例:机器学习中的线性回…...
使用wpa_supplicant和wpa_cli 扫描wifi热点及配网
一:简要说明 交叉编译wpa_supplicant工具后会有wpa_supplicant和wpa_cli两个程序生产,如果知道需要连接的wifi热点及密码的话不需要遍历及查询所有wifi热点的名字及信号强度等信息的话,使用wpa_supplicant即可,否则还需要使用wpa_…...
Sealos的k8s高可用集群搭建
Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro) Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具,能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 特性与优势 支持离线安装,工具与部署资源包分离&#…...
Android和DLT日志系统
1 Linux Android日志系统 1.1 内核logger机制 drivers/staging/android/logger.c static size_t logger_offset( struct logger_log *log, size_t n) { return n & (log->size - 1); } 写的off存在logger_log中(即内核内存buffer)&am…...
【openresty服务器】:源码编译openresty支持ssl,增加service系统服务,开机启动,自己本地签名证书,配置https访问
1,openresty 源码安装,带ssl模块 https://openresty.org/cn/download.html (1)PCRE库 PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
MySQL体系架构解析(三):MySQL目录与启动配置全解析
MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录,这个目录下存放着许多可执行文件。与其他系统的可执行文件类似,这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中,用…...
【技巧】dify前端源代码修改第一弹-增加tab页
回到目录 【技巧】dify前端源代码修改第一弹-增加tab页 尝试修改dify的前端源代码,在知识库增加一个tab页"HELLO WORLD",完成后的效果如下 [gif01] 1. 前端代码进入调试模式 参考 【部署】win10的wsl环境下启动dify的web前端服务 启动调试…...
