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…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...