当前位置: 首页 > news >正文

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

作业 笔记&#xff08;复习补充&#xff09; 1> 制作一个闹钟软件 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> //按钮类 #include <QTimer> //定时器类 #include <QTime> //…...

C++17十大常用特性

玩转cpp小项目星球3周年了&#xff01; 今天分享两个知识点&#xff1a; C17我常用的十大特性。git am与git apply对patch处理的不同。...

【机器学习】超参数的选择,以kNN算法为例

分类准确度 一、摘要二、超参数的概念三、调参的方法四、实验搜索超参数五、扩展搜索范围六、考虑距离权重的kNN算法七、距离的计算方法及代码实现八、明可夫斯基距离的应用九、网格搜索超参数 一、摘要 本博文讲解了机器学习中的超参数问题&#xff0c;以K近邻算法为例&#…...

【RabbitMQ的监听器容器Simple和Direct】 实现和场景区别

在Spring Boot中&#xff0c;RabbitMQ的两种监听器容器&#xff08;SimpleMessageListenerContainer和DirectMessageListenerContainer&#xff09;在实现机制和使用场景上有显著差异。以下是它们的核心区别、配置方式及最佳实践&#xff1a; Simple类型 Direct类型 一、核心…...

NO.13十六届蓝桥杯备战|条件操作符|三目操作符|逻辑操作符|!||||(C++)

条件操作符 条件操作符介绍 条件操作符也叫三⽬操作符&#xff0c;需要接受三个操作数的&#xff0c;形式如下&#xff1a; exp1 ? exp2 : exp3条件操作符的计算逻辑是&#xff1a;如果 exp1 为真&#xff0c; exp2 计算&#xff0c; exp2 计算的结果是整个表达式的结果&am…...

2025.1.8(qt图形化界面之消息框)

笔记&#xff08;后期复习补充&#xff09; 作业 1> 手动将登录项目实现&#xff0c;不要使用拖拽编程 并且&#xff0c;当点击登录按钮时&#xff0c;后台会判断账号和密码是否相等&#xff0c;如果相等给出登录成功的提示&#xff0c;并且关闭当前界面&#xff0c;发射一…...

旅游行业内容管理系统CMS提升网站建设效率与体验

内容概要 在如今快速发展的互联网时代&#xff0c;旅游行业对网站的要求越来越高&#xff0c;内容管理系统&#xff08;CMS&#xff09;的应用不可或缺。以 Baklib 为代表的先进CMS可显著提高旅游网站的建设效率与用户体验。为了满足不断变化的市场需求&#xff0c;这些系统通…...

使用 Scrapy 抓取网页数据

1. Scrapy 简介 Scrapy 是一个流行的 Python 爬虫框架&#xff0c;提供了强大的工具和灵活的扩展机制&#xff0c;用于高效抓取和处理网页数据。它支持异步 I/O&#xff0c;速度快且资源消耗低&#xff0c;非常适合大规模爬取任务。 2. 安装 Scrapy 确保你的 Python 环境版本…...

C# OpenCV机器视觉:SoftNMS非极大值抑制

嘿&#xff0c;你知道吗&#xff1f;阿强最近可忙啦&#xff01;他正在处理一个超级棘手的问题呢&#xff0c;就好像在一个混乱的战场里&#xff0c;到处都是乱糟糟的候选框&#xff0c;这些候选框就像一群调皮的小精灵&#xff0c;有的重叠在一起&#xff0c;让阿强头疼不已。…...

kamailio关于via那点事

如果kamailio作为代理服务器&#xff0c;在转到目的路由时 不删除原始的via信息 会造成信息泄露 如果 Kamailio 作为代理服务器&#xff08;SIP Proxy&#xff09;在转发 SIP 请求时不删除原始的 Via 信息&#xff0c;这确实可能会造成信息泄露。 &#x1f4cc; 为什么不删除 …...

[MFC] 使用控件

介绍如何使用控件&#xff0c;以及如何获取控件中的数值 check Box 添加点击事件&#xff0c;即选中和取消选中触发的事件 第一种方式是按照如下方式第二种方式是直接双击点击进去 void CMFCApplication1Dlg::OnBnClickedCheckSun() {// TODO: 在此添加控件通知处理程序代…...

【探索未来科技】2025年国际学术会议前瞻

【探索未来科技】2025年国际学术会议前瞻 【探索未来科技】2025年国际学术会议前瞻 文章目录 【探索未来科技】2025年国际学术会议前瞻前言1. 第四届电子信息工程、大数据与计算机技术国际学术会议&#xff08; EIBDCT 2025&#xff09;代码示例&#xff1a;机器学习中的线性回…...

使用wpa_supplicant和wpa_cli 扫描wifi热点及配网

一&#xff1a;简要说明 交叉编译wpa_supplicant工具后会有wpa_supplicant和wpa_cli两个程序生产&#xff0c;如果知道需要连接的wifi热点及密码的话不需要遍历及查询所有wifi热点的名字及信号强度等信息的话&#xff0c;使用wpa_supplicant即可&#xff0c;否则还需要使用wpa_…...

Sealos的k8s高可用集群搭建

Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro) Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具&#xff0c;能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 特性与优势 支持离线安装&#xff0c;工具与部署资源包分离&#…...

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中&#xff08;即内核内存buffer&#xff09;&am…...

【openresty服务器】:源码编译openresty支持ssl,增加service系统服务,开机启动,自己本地签名证书,配置https访问

1&#xff0c;openresty 源码安装&#xff0c;带ssl模块 https://openresty.org/cn/download.html &#xff08;1&#xff09;PCRE库 PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式&#xff0c;那么在编译Nginx时就必须把PCRE库编译进Nginx&#xf…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...

GAN模式奔溃的探讨论文综述(一)

简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...