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

时序约束进阶六:Set_Clock_Groups详解

目录

一、前言

二、时钟间关系

2.1 时钟关系分类

2.2 时钟关系查看

三、set_clock_groups设置

3.1 使用格式

3.2 优先级

3.3 约束设置示例

3.4 约束效果查看

四、Exclusive差异说明

4.1 Asynchronous

4.2 Logically_exclusive与Physically_exclusive

4.3  logically_exclusive和physically_exclusive等价场景

五、参考资料


一、前言

     Vivado的时序分析工具默认会分析设计中所有时钟间相关的时序路径,如果对于一些时钟间的路径不需要分析,则可以使用set_clock_groups约束实现。

二、时钟间关系

2.1 时钟关系分类

    两个时钟的关系可以是同步时钟,异步时钟,非扩展时钟。

    同步时钟:  两个时钟的相位关系是可预知的,常见的是两个时钟来源于相同的根时钟或者共同的周期,如生成时钟和主时钟。

    异步时钟:当两个是时钟的相位关系不可预知时,则为异步时钟,例如来源两个晶振的时钟,通过不同的输入端口进入到FPGA内部,无法知道两者的相位关系

    非扩展时钟:当两个时钟在1000个周期内仍无无法找到共同的边沿,在这种情况下,最差的setup关系在超过1000个周期上,但是时序分析工具将无法确认这是最差的情况。典型的例子是两个奇数倍分频的时钟,如clk0和clk1都是由MMCMs产生的生成时钟,周期分别为5.125ns和6.666ns。它们的上升沿在1000个周期内不存在重合。时序分析工具有一个0.01ns的setup路径裕量,尽管两个时钟有已知的相位关系,但它们的波形使得无法进行正确的时序分析。和异步时钟类似,slack值可以按常规方法计算,但计算出的值不一定正确。因此,非扩展时钟通常作为异步时钟。

set_clock_groups使用较多的场景即是对两个为异步时钟关系的时钟进行约束。

2.2 时钟关系查看

时钟Vivado中Report Clock Interaction可以查看时钟间的关系。

read-normal-img

 

    下图颜色方块中,横坐标表示目的时钟,纵坐标表示源时钟,黑色No path表示不存在时序路径,蓝色User ignored Paths为用户设置了不分析的约束,红色Timed(Unsafe)表示异步时钟或非扩展的时钟,颜色块下方的列表也显示了时序的详细信息。

read-normal-img

 

三、set_clock_groups设置

3.1 使用格式

在Timing Constraints窗口中,Clocks列下选择Set Clock Groups,进入Set Clock Groups界面

 

Group name:设置时钟组的名称

Group 1: 添加属于Group 1中的时钟,点击最右侧的“+”可以设置多个组

The specified clocks are: 设置时钟组里的时钟与其他时钟的关系,可为asynchronous,logically exclusive,physically exclusive。

-asynchronous:约束为异步时钟组

-logically_exclusive:约束为逻辑互斥的时钟组

-physically_exclusive:约束为物理线路互斥的时钟组,设计中不能同时存在,最终表现的效果和-logically_exclusive是相同的。

Command:显示对应约束设置的tcl命令

约束命令示例:

set_clock_groups -name clk_group -asynchronous -group [get_clocks {create_clk1 gen_clk_2}]

3.2 优先级

异步时钟和非扩展时钟是没法正确地进行时序分析,它们之间的时序路径在分析时应该使用set_clock_groups进行忽略。相比于其他时序例外的命令,set_clock_groups的优先级最高,如果需要对异步时钟进行分析,则不能对该时钟使用set_clock_groups命令。

3.3 约束设置示例

以设计中存在4个时钟clk1,clk2,clk3,clk4为例,时钟之间均存在可分析的时序路径。对时钟进行不同的时钟组约束,约束后的分析结果如下,Y表示进行时序分析,N表示不进行时序分析,参数使用asynchronous。

a)场景1:单个时钟组clk_group单个时钟clk1

set_clock_groups -name clk_group -asynchronous -group [get_clocks clk1]

clk1只和clk1进行时序分析,不与其他时钟进行分析,其他时钟间依旧进行分析

 

b)场景2:单个时钟组clk_group多个时钟clk1,clk2

set_clock_groups -name clk_group -asynchronous -group [get_clocks {clk1 clk2}]

时钟组clk_group内部的时钟间clk1,clk2间会进行时序分析,和外部的时钟clk3,clk4不会进行时序分析

 

c)场景3:两个时钟组,每个时钟组都只有单个时钟

set_clock_groups -name clk_group -asynchronous -group [get_clocks clk1] -group [get_clocks clk2]

设置多个-group时,groups之间的时钟如clk1和clk2不会进行时序分析

 

d)场景4:多个时钟组,多个时钟

set_clock_groups -name clk_group -asynchronous -group [get_clocks {clk1 clk2}] -group [get_clocks {clk3 clk4}]

设置多个group时,group内部的时钟间会进行时序分析,如第一个-group内的clk1与clk2,第二个-group内的clk3与clk4,group间不会进行时序分析,如clk1和clk3

 

总结:set_clock_group中group内部的时钟只能组内间进行分析,不能跨组或与非约束中的时钟进行时序分析

3.4 约束效果查看

设置了约束后,同样在Clock Interaction中可以查看到约束是否生效,如clk1与clkin1,clkin1和clkin2设置了约束,下图中关系User Ignored Paths,图中蓝色块

 

另一个方式是查看时序报告中User Ignored Paths部分,如clk1和clkin1,在详细路径中Exception可以看到关系为Asynchronous clock Groups,说明设置了set_clock_groups约束

 

四、Exclusive差异说明

    ​Logically_exclusive和Physically_exclusive以及Asynchronous三个参数对于都能实现分析工具不会对设置的时钟组进行分析。

4.1 Asynchronous

    ​Asynchronous表示两个时钟无固定的相位关系,分析工具会进行时钟间的SI(信号完整性),使用场景如下

a) 在异步FIFO中

b) 普通异步路径

4.2 Logically_exclusive与Physically_exclusive

Logically_exclusive是两个时钟物理线路上可同时使用,但逻辑上不会同时存在,如两个时钟经过bufgmux输出。

Physically_exclusive是两个时钟在设计中不会同步存在, 如同一个时钟port定义了多个时钟,一个测试时钟,一个功能时钟,则两个时钟间不存在SI问题。

Logically_exclusive和Physically_exclusive看内容解释都有互斥不分析的含义,效果看都似乎一致,较难区分。

以下图为例,时钟CLK1和CLK2经过一个通过SEL控制的选择器传输到两个寄存器。默认情况,从信号完整性角度看,是会对CLK1和CLK2间的跨电容X4间的串扰进行检查。

 

对于这种情况如果准确的处理方式是使用Set_case_analysis约束,先将SEL设置为0进行分析,然后再设置为1进行分析,可以正确地处理所有串扰,但如果时钟较多时,这种方式不实用。为了能同时分析SEL为0和1的情况,使用set_clock_groups可以达到目的

set_clock_groups -logically_exclusive -group {CLK1} -group {CLK2}

使用Logically_exclusive后时序分析将会忽略CLK1和CLK2间的时序路径检查,效果和在CLK1和CLK2之间设置了set_false_path约束相同。但是,时序分析工具仍会计算CLK1和CLK2间的电容X4的串扰延时。如果两个时钟不会同时在net上出现,此时计算的结果将是过于悲观的。为了使结果更准确,可使用-physically_exclusive,此时将不会计算电容X4的串扰延时。

set_clock_groups -physically_exclusive -group {CLK1} -group {CLK2}

根据上图,虽然消除了电容X4带来的延时影响,但在选择器U1的输入CLK1和CLK2间的电容X1延时未考虑,最终的分析结果将会过于乐观。为了解决X1的影响,将在选择器U1的输出端定义CLK1和CLK2的生成时钟gCLK1和gCLK2,再对两个生成时钟gCLK1和gCLK2设置physically_exclusive关系,即可实现不会忽略CLK1和CLK2间X1电容的延时,忽略电容X4间的时延。

create_generated_clock -name gCLK1 -source [get_ports CLK1] -divide_by 1 -add -master_clock [get_clocks CLK1] [get_pins U1/z]
create_generated_clock -name gCLK2 -source [get_ports CLK2] -divide_by 1 -add -master_clock [get_clocks CLK2] [get_pins U1/z]
set_clock_groups -physically_exclusive -group {gCLK1} -group {gCLK2}

 

4.3  logically_exclusive和physically_exclusive等价场景

对于MMCM/PLL的两个生成时钟clkout0,clkout1,连接到BUFGMUX的两个输入端口时,默认情况下,虽然clkout0和clkout1来自相同的时钟源,并且不会同时存在,但Vivado时序分析工具仍会分析clkout0,clkout1间的时序。

此时使用set_clock_groups约束,-logically_exclusive或-physically_exclusive是等价的,对于ASIC芯片需要考虑信号完整性,但对于FPGA芯片则无需考虑。因此,对于FPGA中set_clock_groups使用中无需过于区分Asynchronous,Logically_exclusive和Physically_exclusive的区别,更多的是在ASIC芯片设计中需要考虑

set_clock_groups -name exclusive_group -physically_exclusive -group clkout0 -group clkout1

五、参考资料

《ug903-vivado-using-constraints-en-us-2022.2》

《PrimeTime user guide》

相关文章:

时序约束进阶六:Set_Clock_Groups详解

目录 一、前言 二、时钟间关系 2.1 时钟关系分类 2.2 时钟关系查看 三、set_clock_groups设置 3.1 使用格式 3.2 优先级 3.3 约束设置示例 3.4 约束效果查看 四、Exclusive差异说明 4.1 Asynchronous 4.2 Logically_exclusive与Physically_exclusive 4.3 logical…...

《运放秘籍》第二部:仪表放大器专项知识点总结

一、差分放大器与仪表放大器的讨论 1.1. 仪放的前世今生——差分放大器原理? 1.2. 差分放大的原理 1.3. 差分放大器检测电流 1.4. 差分放大器端一:输入阻抗 1.5. 差分放大器端二:共模抑制比 1.6. 为什么关注输入阻抗?共模抑…...

JavaSE——异常

一、异常的概念 在Java中,将程序执行中发生的不正常行为称为"异常",开发过程中的语法错误和逻辑错误不是异常。 主要分为以下两大类: Error(错误):Java虚拟机无法解决的严重问题,是严重错误,程序…...

HormonyOS: 图形变换之Rotate

官网地址:rotate 1. 概述 rotate是鸿蒙系统为组件提供的旋转属性,通过rotate属性,可实现组件的旋转效果 2. rotate属性 2.1. 语法参数 rotate(value: RotateOptions) 参数: 参数名 类型 必填 说明 value RotateOptions…...

【Solidity】入门指南:智能合约开发基础

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Solidity入门指南:智能合约开发基础引言1. 开发环境搭建1.1 Remix I…...

HTMLHTML5革命:构建现代网页的终极指南 - 3. 开发工具选择

HTML&HTML5革命:构建现代网页的终极指南 3. 开发工具选择 大家好,我是莫离老师。 前两节课我们学习了 HTML 的基础概念和 HTML5 的主要特性,为接下来的实际开发奠定了理论基础。 今天,我们将讨论开发工具的选择问题。 选择合…...

智能设备安全隐患:五项关键解决措施

目前,我们的智能设备越来越多,而背后的物联网(IoT)安全像一面隐形的盾牌,默默地守护着我们周围那些复杂连网的设备。 为了让大家更加明白这些安全协议和操作是如何高效运作的,我们有必要深入探讨物联网安全…...

Android NDK开发 JNI 基础

在android 系统开发中 ndk开发是很重要的内容。ndk开发中 jni 是基础。 目录 一.什么是JNI 二. 如何使用JNI 1.Java 代码如何调用 c/c 代码 2. c/c如何调用 java 函数 一.什么是JNI JNI——Java Native Interface,它是Java平台的一个特…...

嵌入式linux之文件系统管理

嵌入式Linux文件系统的管理涉及多个方面,包括文件系统的创建、配置、维护以及优化。以下是一些关键点和实践技巧: 文件系统的创建与配置 选择合适的文件系统:根据应用需求(如读写频率、存储介质类型等)选择最合适的文…...

Y20030029 微信+SPRINGBOOT+MYSQL+LW+传统文化展示小程序的设计与实现 源代码 配置 文档

传统文化展示小程序 1.项目描述2. 课题开发的背景与意义3.项目功能4.界面展示5.源码获取 1.项目描述 基于微信小程序的传统文化展示小程序是一个集合了多种传统文化元素与现代化技术的创新平台。它充分利用了微信小程序的便捷性和普及性,为广大用户提供了一个深入了…...

【LC】3232. 判断是否可以赢得数字游戏

题目描述: 给你一个 正整数 数组 nums。 Alice 和 Bob 正在玩游戏。在游戏中,Alice 可以从 nums 中选择所有个位数 或 所有两位数,剩余的数字归 Bob 所有。如果 Alice 所选数字之和 严格大于 Bob 的数字之和,则 Alice 获胜。如果…...

【人工智能基础03】机器学习(练习题)

文章目录 课本习题监督学习的例子过拟合和欠拟合常见损失函数,判断一个损失函数的好坏无监督分类:kmeans无监督分类,Kmeans 三分类问题变换距离函数选择不同的起始点 重点回顾1. 监督学习、半监督学习和无监督学习的定义2. 判断学习场景3. 监…...

C/C++每日一练:合并K个有序链表

本篇博客将探讨如何 “合并K个有序链表” 这一经典问题。本文将从题目要求、解题思路、过程解析和相关知识点逐步展开,同时提供详细注释的代码示例。 链表(Linked List) 链表是一种线性数据结构,由一系列节点(Node&…...

jmeter基础07_组件的层级

课程大纲 1. 优先级/执行顺序(一般情况) 同级组件:按组件先后顺序执行。如:同一层的线程组、同一层的http请求。 上下级组件:先执行外层(上级),再执行内层(下级&#xff…...

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像 1. Android侧创建 (ext4 / sparse) test_img.img 镜像 方法一2. Android侧创建 (ext4 / sparse) test_img.img 镜像 方法二3. qnx 侧 分区透传Android 配置3.1 配置分区透传3.2 Android 侧分区 rename3.3 创建挂载目…...

大R玩家流失预测在休闲社交游戏中的应用

摘要 预测玩家何时会离开游戏为延长玩家生命周期和增加收入贡献创造了独特的机会。玩家可以被激励留下来,战略性地与公司组合中的其他游戏交叉链接,或者作为最后的手段,通过游戏内广告传递给其他公司。本文重点预测休闲社交游戏中高价值玩家…...

使用Postman搞定各种接口token实战

现在许多项目都使用jwt来实现用户登录和数据权限,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才…...

【C++】printf 函数详解与格式化输出控制

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯printf 基础用法1.1 printf 的常见占位符1.2 占位符与参数的对应关系1.3 换行控制示例: 💯格式化输出控制2.1 输出宽度控制2.1.1 指定最小宽度 2.2 …...

在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(1)

人无完人,持之以恒,方能见真我!!! 共同进步!! 文章目录 一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现四、strcpy的使用和模拟实现五、strcat的使用和模拟实现六、strcmp的使用和…...

【专题】存储器管理

1. 存储器的层次结构 在计算机执行时,几乎每一条指令都涉及对存储器的访问,因此要求对存储器的访问速度能跟得上处理机的运行速度。 存储器的速度必须非常快,能与处理机的速度相匹配,否则会明显地影响到处理机的运行。 此外还要求…...

python股票数据分析(Pandas)练习

需求: 使用pandas读取一个CSV文件,文件内容包括股票名称、价格和交易量。完成以下任务: 找出价格最高的股票; 计算总交易量; 绘制价格折线图。 代码实现: import pandas as pd import matplotlib.pyplot …...

Hadoop生态圈框架部署(八)- Hadoop高可用(HA)集群部署

文章目录 前言一、部署规划二、Hadoop HA集群部署(手动部署)1. 下载hadoop2. 上传安装包2. 解压hadoop安装包3. 配置hadoop配置文件3.1 虚拟机hadoop1修改hadoop配置文件3.1.1 修改 hadoop-env.sh 配置文件3.3.2 修改 core-site.xml 配置文件3.3.3 修改 …...

抗干扰设计的检查细则

抗干扰设计是确保电子系统或设备在复杂电磁环境中稳定运行的重要环节,涉及多个方面的设计和实施。以下是对抗干扰设计的检查细则的详细归纳: 一、电源线与地线设计 电源线设计:选择合适的电源,尽量加宽电源线,保证电源…...

[Redis#12] 常用类型接口学习 | string | list

目录 0.准备 1.string get | set set_with_timeout_test.cpp set_nx_xx_test.cpp mset_test.cpp mget_test.cpp getrange_setrange_test.cpp incr_decr_test.cpp 2.list lpush_lrange_test.cpp rpush_test.cpp lpop_rpop_test.cpp blpop_test.cpp llen_test.cpp…...

React的ts文件中通过createElement拼接一段内容出来

比如接口返回一个值 const values [23.00, 40.00/kg];想做到如下效果, 如果单纯的用render渲染会很简单, 但是在ts文件中处理,所以采用了createElement拼接 代码如下: format: (values: string[]) > {if (!values || !val…...

【Git系列】Git 提交历史分析:深入理解`git log`命令

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

深度学习笔记——生成对抗网络GAN

本文详细介绍早期生成式AI的代表性模型:生成对抗网络GAN。 文章目录 一、基本结构生成器判别器 二、损失函数判别器生成器交替优化目标函数 三、GAN 的训练过程训练流程概述训练流程步骤1. 初始化参数和超参数2. 定义损失函数3. 训练过程的迭代判别器训练步骤生成器…...

《地球科学与环境学报》

《地球科学与环境学报》报道范围涵盖基础地质、矿产地质、水资源与环境、工程地质、地球物理、地球信息科学等领域,刊载国内外未公开发表的有创新性或意义重大的研究论文和综述文章。   来稿必须包括以下项目:题名(尽可能不要超过20字&…...

k8s 1.28 聚合层部署信息记录

–requestheader-client-ca-file –requestheader-allowed-namesfront-proxy-client –requestheader-extra-headers-prefixX-Remote-Extra- –requestheader-group-headersX-Remote-Group –requestheader-username-headersX-Remote-User –proxy-client-cert-file –proxy-cl…...

组件化设计的意义

鸿蒙操作系统(HarmonyOS)是华为公司开发的一款面向未来、面向全场景的分布式操作系统。它不仅能够支持多种智能终端设备,还能够实现跨设备之间的协同工作。为了满足不同设备的资源能力和业务需求,鸿蒙操作系统采用了组件化的设计方…...

2025 年河北省职业院校大数据应用与 服务(中职组)赛项样题

— 1 — 2025 年河北省职业院校大数据应用与 服务(中职组)赛项样题 一、背景描述 近年来,随着旅游业的快速发展和社交媒体的普及,一 些目的地因其独特的魅力或者事件而迅速走红,吸引了大量 游客涌入,使得当…...

宏集eXware物联网网关在水务管理系统上的应用

一、前言 水务管理系统涵盖了对城市水网、供水、排水、污水处理等多个环节的监控与管理。随着物联网(IoT)技术的快速发展,物联网网关逐渐成为水务管理系统中的关键组成部分。 宏集物联网网关以其高效的数据采集、传输和管理功能&#xff0c…...

【看海的算法日记✨优选篇✨】第三回:二分之妙,寻径中道

🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 一念既出,万山无阻 目录 📖一、算法思想 细节问题 📚左右临界 📚中点选择 📚…...

yolov5 解决:export GIT_PYTHON_REFRESH=quiet

当我们在第一次运行YOLOv5中的train.py程序时:可能会出现以下报错: This initial warning can be silenced or aggravated in the future by setting the $GIT_PYTHON_REFRESH environment variable. Use one of the following values: - quiet|q|silen…...

MongoDB聚合操作

1.聚合操作 聚合操作处理数据记录并返回计算结果。聚合操作组值来自多个文档,可以对分组数据执行各种操作以返回单个结果。聚合操作包含三类:单一作用聚合、聚合管道、MapReduce。 单一作用聚合:提供了对常见聚合过程的简单访问&#xff0c…...

Apple雷电5到底有多快?

在科技日新月异的今天,苹果公司始终走在技术创新的前沿。2023年9月12日,随着英特尔发布雷电5(Thunderbolt 5)规范,苹果迅速跟进,将其应用于自家的产品中。雷电5接口以其卓越的性能,彻底颠覆了我…...

项目快过:知识蒸馏 | 目标检测 |FGD | Focal and Global Knowledge Distillation for Detectors

公开时间:2022年3月9号 项目地址:https://github.com/yzd-v/FGD 论文地址:https://arxiv.org/pdf/2111.11837 知识蒸馏已成功地应用于图像分类。然而,目标检测要复杂得多,大多数知识蒸馏方法都失败了。本文指出&#…...

Spring Boot日志总结

文章目录 1.我们的日志2.日志的作用3.使用日志对象打印日志4.日志框架介绍5.深入理解门面模式(外观模式)6.日志格式的说明7.日志级别7.1日志级别分类7.2配置文件添加日志级别 8.日志持久化9.日志文件的拆分9.1官方文档9.2IDEA演示文件分割 10.日志格式的配置11.更简单的日志输入…...

PostgreSQL最常用数据类型-重点说明自增主键处理

简介 PostgreSQL提供了非常丰富的数据类型,我们平常使用最多的基本就3类: 数字类型字符类型时间类型 这篇文章重点介绍这3中类型,因为对于高并发项目还是推荐:尽量使用简单类型,把运算和逻辑放在应用中,…...

androidstudio 最新继承 proto kts 方式

在Android Studio中,如果你使用的是Kotlin DSL(.kts文件)来配置你的Gradle项目,并且你想集成Protocol Buffers(Proto),你需要稍微调整你的配置方式。以下是如何在Kotlin DSL中配置Proto集成的步…...

【STM32学习】TB6612FNG驱动芯片的学习,驱动电路的学习

目录 1、TB6612电机驱动芯片 1.1如下是芯片的引脚图: 1.2如下图是电机的控制逻辑: 1.3MOS管运转逻辑 1.3典型应用电路 2、H桥驱动电路 2.1、单极模式 2.2、双极模式 2.3、高低端MOS管导通条件 2.4、H桥电路设计 2.5、自举电路 3、电气特性 3…...

【AI战略思考13】克服懒惰,保持专注,提升效率,不再焦虑

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 引言 我发现自己最近非常懒惰,浪费了很多时间,也容易分心,不够专注,效率低下,且每天都有点焦虑,因此制定了下面的要求和作息时间表。 目…...

基于Vue3+Element Plus 实现多表单校验

使用场景 表单校验在日常的开发需求中是一种很常见的需求,通常在提交表单发起请求前校验用户输入是否符合规则,通常只需formRef.value.validate()即可校验,但是,例如一些多步骤表单、动态表单、以及不同的用户角色可能看到不同的表…...

“岗位复合化、技能层次化” 高职大数据技术专业人才培养实践

在全球数字化浪潮的推动下,大数据技术已经成为引领社会进步和经济发展的核心动力。随着《关于深化现代职业教育体系建设改革的意见》等系列指导问文件的发布,我国高职大数据技术专业的教育正迎来全新机遇与挑战。这些政策不仅明确了职业教育改革的方向&a…...

Day2 生信新手笔记: Linux基础

一、基础知识 1.1 服务器 super computer 或 server 1.2 组学数据分析 组学数据:如基因组学、转录组学、蛋白质组学等; 上游分析:主要涉及原始数据的获取和初步处理,计算量大,消耗的资源较多,在服务器完…...

AI开发-数据可视化库-Seaborn

1 需求 概述 Seaborn 是一个基于 Python 的数据可视化库,它建立在 Matplotlib 之上。其主要目的是使数据可视化更加美观、方便和高效。它提供了高层次的接口和各种美观的默认主题,能够帮助用户快速创建出具有吸引力的统计图表,用于数据分析和…...

如何把Qt exe文件发送给其他人使用

如何把Qt exe文件发送给其他人使用 1、先把 Debug改成Release2、重新构建项目3、运行项目4、找到release文件夹5、新建文件夹,存放exe文件6、打开qt控制台串口7、下载各种文件8、压缩,发送压缩包给别人 1、先把 Debug改成Release 2、重新构建项目 3、运行…...

力扣103.二叉树的锯齿形层序遍历

题目描述 题目链接103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 示例 1&#xff…...

MOH: MULTI-HEAD ATTENTION AS MIXTURE-OFHEAD ATTENTION

当前的问题 多头注意力使用多个头部可以提高模型的精度。然而,并不是所有的注意力头都具有同样的重要性。一些研究表明,许多注意力头可以被修剪而不影响准确性。 此外,在多头注意中,每个注意头并行操作,最终输出是所…...

Linux的文件系统

这里写目录标题 一.文件系统的基本组成索引节点目录项文件数据的存储扇区三个存储区域 二.虚拟文件系统文件系统分类进程文件表读写过程 三.文件的存储连续空间存放方式缺点 非连续空间存放方式链表方式隐式链表缺点显示链接 索引数据库缺陷索引的方式优点:多级索引…...