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

【射频IC进阶实践教程】2.6 LNA版图设计及DRC/LVS验证

  • 射频集成电路的版图设计非常关键,他对寄生参数非常敏感,需要使其最小化。还需要注意相互耦合的方式
  • 本次课程主要介绍射频IC的一些相关布局和连线方面的考虑。

一、版图设计

1. 版图的元件布局

  • 首先打开对应的原理图
    在这里插入图片描述
  • 点击进行版图设计
    在这里插入图片描述
  • 由于已经有做好的版图了,所以直接打开查看现存的版图
    在这里插入图片描述
  • 然后选择布局使用到的layout1
    在这里插入图片描述
  • 然后点击ok,就会打开layout版图了
  • 可以看到这里的布局都是已经完成了的
    在这里插入图片描述
  • 然后按住键盘上的shift+f把所有的器件内部layout都显示出来。

(1)元器件layout调入方法

  • 第一种方法是按住键盘上的i键,从工艺库里面调入这些器件的layout
    在这里插入图片描述

  • 选择对应晶体管的layout
    在这里插入图片描述

  • 然后就可以调入器件了

  • 但是这种方法有一个缺点是,没有和原理图有对应的关系,但是不糊已影响最终版图的设计,验证
    在这里插入图片描述

  • 第二种方法是从原理图中选中需要调入进来的晶体管
    在这里插入图片描述

  • 然后在layout选择pick from schematic
    在这里插入图片描述

  • 然后所有对应的元器件都会被调入进来了
    在这里插入图片描述

  • 这种晶体管调入进来的时候是带有guardring外框的,每个晶体管都会单独包含一个deep n-well,会占用很大的版图空间,不方便版图的连线和布局。

  • 下面版图包括了最中间的NMOS晶体管,外围有n井的环,它整个是包含有deep n-well。它通过n-well环(蓝色)和deep n-well(紫色)进行共同的隔离作用,就可以把晶体管中间区域(紫色框)就可以完全单独隔离出来p-sub,这是跟外部的p-sub完全隔离开的,因为在内部p-sub四周有n-well,底板跟p-sub之间还有一个deep n-well,这是可以跟外部的p-sub进行隔离的。

  • deep n-well的横截面和做界面的图可以去参考工艺文档的一些说明。
    在这里插入图片描述

(2)去除外围n-well方法

  • 那么如果每个晶体管都采用这种结构,那么版图会占用非常大的面积,而且每个晶体管之间的距离会非常远,这样会导致射频晶体管尺寸会非常大,匹配起来会非常困难。
  • 因此我们再做射频器件版图的时候,通常会把它们打散,然后再来画这个版图,最后再把他们拼整合在一起。
  • 对于这个射频晶体管,我们可以去掉外围的deep n-well和n well
  • 有三种方法可以去掉外围的n well
  • 方法一:选择外围n well的属性,取消勾选deep nwell bodytie
    在这里插入图片描述
  • 取消掉之后外围的deep n-well还是存在的,只是消失看不见
    在这里插入图片描述
  • 这时候去画版图的时候就会很不方便,相邻的晶体管必须间隔很远才能满足DRC的要求。
  • 但其实我们是希望所有器件都画在同一个deep n-well里面, 然后再边缘在包围n-well的环(绿色),把LNA的衬底完全隔离出来。所以这时候再使用这种类型的器件,就不适合画版图。
    在这里插入图片描述
  • 方法二:打散晶体管的版图
  • 选择flatten打散
    在这里插入图片描述

在这里插入图片描述

  • 然后我们可以把dnw层给删除掉
    在这里插入图片描述
  • 把nwell层也给删除掉
    在这里插入图片描述
  • 删除掉之后还有标志层(紫色)
    在这里插入图片描述
    在这里插入图片描述
  • 我们可以选择删除掉,或者将这个标志层给缩小,只包含有这个晶体管就可以了
    在这里插入图片描述
    在这里插入图片描述
  • 然后可以把上面缩好的晶体管做成一个新的cell,之后就可以直接调用进来了
  • 但是会出现一个问题是,如果后续需要再去修改版图的尺寸,就会非常的困难,需要重新去做一个新的cell,灵活性就会变得非常的差。
  • 方法三:选择不带有deep n-well的晶体管,这样画版图的时候会方便一些。
  • 实际上无论带不带deep n-well的晶体管,他的模型性能参数都是完全一样的,唯一的区别是版图上的差异带不带deep n-well。

在这里插入图片描述

  • 我们可以采用替换的方式,在画版图的时候,先用不带dnw的晶体管,把参数改成跟原理图上的参数一样
  • 先画好版图,之后整个LNA都加上deep n-well,再做LVS检查的时候,这个晶体管就会变成带dnw类型的晶体管。既能通过LVS,版图也不会有错
  • 这样后续要修改晶体管尺寸的时候就会很灵活,直接该参数尺寸
    在这里插入图片描述
  • 这里只有核心电路部分采用deep n-well晶体管,其他偏置电路部分都是采用普通的晶体管。
  • 那么对于其他采用普通类型的晶体管,在整个LNA画上deep n-well后,就会使其类型发生改变了。
  • 那么就需要看工艺是否支持识别这些普通类型的晶体管了。而我们现在采用的这种工艺是支持的。就是在设计的时候,除了射频晶体管以外,普通的晶体管是否带deep n-well,不是根据画的dnw这一层来识别的,而是由dnwtr这一层来识别的(即dnw晶体管类型的标志层),由这个层来决定是不是带这个deep n-well
  • 像smic中芯科技是有这种功能的,但是像tsmc台积电工艺库是不支持这种功能的,它是没有dnwtr层的,因此其普通类型的晶体管放在了dnw层里面就会被识别为dnw类型晶体管,产生错误。在原理图上就要把晶体管替换成dnw类型的晶体管。
    在这里插入图片描述
  • 这里我们拿个dnw晶体管来举个例子
    在这里插入图片描述
  • 中间蓝色部分是晶体管实际的部分,外围是加了deep n-well(绿色)的环,外面又加了n-well(紫色)的环,把里面的晶体管衬底单独隔离出来。
  • 然后它还加入了dnwtr层(dnw标志层)(绿色面积部分),表示在这个面积覆盖下的区域都是dnw的地方
    在这里插入图片描述
  • dnwtr层
    在这里插入图片描述
  • 这时候去过LVS的时候,原理图对应的晶体管必须调用的是带dnw类型的晶体管。
  • 但如果没有dnwtr层覆盖的区域(绿色),即使最终画进了dnw层,最终也会识别为普通类型的晶体管

(3)版图整体的布局

  • 由于布局的好坏会直接影响到整个射频集成电路的性能,因此布局一定要合理。
  • 所以我们首先要对LNA的版图做一个整体的考虑
  • 我们希望整个LNA能够跟其他电路更好的隔离开,因此我们把整个LNA电路都放在了深N井deep n-well里面了,那么对应的器件就会不太一样。
  • 首先是核心电路部分的dnw射频晶体管,这些晶体管是做在整个deep n-well上面的,也就是它跟衬底之间具有一定的隔离作用,这样其他电路对LNA的干扰耦合就会减小很多。
    在这里插入图片描述
  • 这里六个射频晶体管分两层并联排在一起。
  • 第一层是cascode级晶体管
  • 第二层是输入级晶体管和单转双功能的共源极晶体管
    在这里插入图片描述
  • 对应原理图核心电路部分的四个射频晶体管
    在这里插入图片描述
  • 负载电阻放在核心电路的晶体管上面
  • 负载电路上面接的是电源
    在这里插入图片描述
  • 整个LNA电路,上面接的是电源vdd,下面接的是射频输入端。
  • 整体的信号输入是下方输入,右侧输出
  • 其他部分电路根据信号的走线方向来进行排布的
    在这里插入图片描述
  • 对于输入的MOS电容晶体管
    在这里插入图片描述
  • 放在整个版图的下面,连接射频输入端
    在这里插入图片描述
  • 偏置电阻
    在这里插入图片描述
    在这里插入图片描述
  • 增益控制的电阻和开关晶体管
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 核心电路的隔直电容
    在这里插入图片描述
    在这里插入图片描述
  • cascode级晶体管输入隔离电阻
    在这里插入图片描述
    在这里插入图片描述
  • 偏置电路的电阻
    在这里插入图片描述
    在这里插入图片描述
  • 偏置电路部分所有的PMOS晶体管,因为其衬底需要接电源,所以都放置在版图的上面
    在这里插入图片描述
  • 偏置电路的NMOS晶体管全部放置在PMOS晶体管的下面
    在这里插入图片描述
  • 而对于偏置电路开关晶体管,pd控制晶体管,都放在偏置电路NMOS和核心电路晶体管之间。方便连线
    在这里插入图片描述
    在这里插入图片描述
  • 滤波电容放置在版图的下端,即射频输入端
    在这里插入图片描述
    在这里插入图片描述
  • 反相器的PMOS也一样放置在版图上侧

在这里插入图片描述
在这里插入图片描述

  • 而反相器的nmos晶体管放在对应的pmos晶体管的正下方
    在这里插入图片描述
  • 这样反相器的源漏极就能直接连接在一起,连线比较方便
    在这里插入图片描述

版图元器件布局总结

  • 在对射频电路进行布局的时候,一定要优先考虑射频信号的走线方向,和走线距离远近,是否顺畅的程度,然后再考虑在其他地方放置偏置电路部分和控制电路部分。
  • 对于占用面积较大的电容版图,就需要去考虑整个版图如何才能更规整,版图的面积才能更小,连线更方便顺畅
    在这里插入图片描述

2. 版图连线

(1)MOS电容补偿走线寄生电容

  • 版图连线对于偏置电路部分没有太大的要求,只要把线能够能够连起来就可以了。
  • 重点是射频电路的连线,特别是当频率比较高以后,射频电路的射频信号的走线的宽长都会对整个电路的寄生参数产生很大的影响。
  • 可以看到核心电路的晶体管离下面的射频输入端是隔的比较远的,就会到来输入线上面的寄生电容比较大。
    在这里插入图片描述
  • 但是由于我们设计的LNA电路结构,在输入端接入了额外的补偿MOS电容,来使输入的匹配电路能够减的更小一些。
  • 所以在输入IP这根走线上面,如果他有更多的寄生电容,并不会对整个电路的性能有太大的恶化。当在后仿真,如果输入线上面的寄生电容太大了,可以通过将mos电容的尺寸减小,让其容值减小一些来补偿版图走线上面寄生电容的增加。这样输入线上的寄生电容就不会对整个电路性能参数造成太大的影响。
  • 因此寄生电容还是次要的影响,更需要关注的是走线的阻抗
    在这里插入图片描述

(2)整理布局及初步连线

  • 打开layout2文件,是连线连了一半的结果
    在这里插入图片描述

  • 这里是把所有电路和元器件都进行了对齐,
    在这里插入图片描述

  • 比如射频晶体管,我们让它们直接靠在一起,然后进行水平和垂直方向的对齐。
    在这里插入图片描述

  • 像其他的晶体管也进行靠近和重叠
    在这里插入图片描述
    在这里插入图片描述

  • nmos晶体管也进行了重新的整理,插入了一些单片晶体管,使得版图能够更匹配对称,版图的性能会更好一些。
    在这里插入图片描述

  • 还对偏置电路输入级进行了初步的连线
    在这里插入图片描述

  • 这个版图比较重要的一点是,规划了整个电源和地的走线。

  • 上面这一层作为电源(vdd)的走线在这里插入图片描述
    在这里插入图片描述

  • 下面这根线是作为GND的走线

  • 放在中间的原因是为了让射频晶体管能够就近接在走线上,也可以使电流镜和射频晶体管的地能够更近一些
    在这里插入图片描述
    在这里插入图片描述

(3)完成全部连线

  • 打开layout3
    在这里插入图片描述

  • 所有连线都已经基本完成了
    在这里插入图片描述

  • 偏置部分连线比较简单,只要着重去考虑它的匹配对称性部分。通常采用左右对称,或者交叉耦合排列的方式,来进行更好的匹配性设计。
    在这里插入图片描述

  • 现在来看核心电路的射频晶体管连线部分。

  • 首先是输入线,是从版图的中间,直接从下方穿上去,连接到射频晶体管的栅极
    在这里插入图片描述
    在这里插入图片描述

  • 可以看到射频晶体管的栅极都是连接在一起的。
    在这里插入图片描述

  • 输入线还连接了偏置电阻

  • 我们再设计版图的时候可以做灵活的处理,比如串联的个数问题。如果每个晶体管都串联两个的话,整个晶体管就会被拉的很长。这样就会导致整个版图往左右会长很宽,会占用更大的面积。

  • 电阻左侧是输入,右侧是输出,这样连线也会比较方便,不会有太大的交叉问题出现。

  • 因此我们再设计版图的时候,需要去根据版图的需求,去灵活更改相关期间的一些尺寸和宽敞比等参数,来确保版图连线的方便,使整个版图的尺寸最小化。
    在这里插入图片描述

  • 因此我们把电阻分成了三段,这样电阻的单个长度就变短了,能够更好的去布局。
    在这里插入图片描述

  • 这个偏置电阻出来还接入了两个增益控制电阻
    在这里插入图片描述
    这里我们也做了相应的尺寸改变,为了让版图更好的连线,使其尺寸跟偏置电阻相等的长度,这样就可以把电阻排列在一起。
    在这里插入图片描述

  • 尺寸。同比例放大了宽度,然后增加了其长度,保持他的阻抗相等。
    在这里插入图片描述

  • 而在layout2里面,尺寸是不一样的
    在这里插入图片描述
    在这里插入图片描述

  • mos电容电源接在栅极,源极和漏极接在GND上面
    在这里插入图片描述

  • 但是mos电容的gnd并没有单独连接一根线到gnd的总线上去,而是通过滤波电容的另一个极板连接到gnd上。由于滤波电容整个极板都是接gnd,就可以接在他接地的极板上面。

  • 因此可以共用连线,连接到gnd上去
    在这里插入图片描述
    在这里插入图片描述

  • 对于射频输入晶体管,其输入接到了栅极,然后漏极是连接到了一起,源极是接在了gnd上面

  • cascode的栅极接在了偏置电阻上,并全部都连接在了一起
    在这里插入图片描述
    在这里插入图片描述

(4)完成外围guarding包围

  • 然后打开layout4
    在这里插入图片描述
  • 包括了所有连线和外部的cell ring
    在这里插入图片描述
  • 整个LNA的版图加了两个guarding
  • 内层是p型衬底的guarding保护环
  • 外层是n-well的保护环,主要用于做deep n-well隔离用的,把整个LNA的p衬底都完全隔离开
    在这里插入图片描述
  • 还把左右的衬底都连接在了一起,金属一层
    在这里插入图片描述
    在这里插入图片描述
  • n-well连接的是电源
    在这里插入图片描述
  • deep n-well(绿色)把整个LNA都包围起来。
    在这里插入图片描述
  • dnw外围还有n-well的环(紫色),把他们全部隔离开。相当于是在这个地方挖了坑,放在这个屏蔽盒里面,那么其他电路对LNA的干扰和耦合就会变得非常小,有利于提升LNA的抗干扰能力。
    在这里插入图片描述

3. DRC验证

  • 完成版图之后,就是进行DRC检查了
    在这里插入图片描述
  • 选择之前保存的runset
    在这里插入图片描述
  • 直接点run drc运行
  • 能够看到还有19个错误
  • 然后把错误全部都筛选出来
    在这里插入图片描述
  • 第一个是跟dnw相关的
  • n-well要比外围deep n-well大2um
    在这里插入图片描述
  • 回到版图中,单独显示出nw和dnw层
    在这里插入图片描述
  • 表示这两个边界要相隔2um
    在这里插入图片描述
  • 第二个错误也是同样的
    在这里插入图片描述
  • dnw往内部走也同样要大于2um
    在这里插入图片描述
  • 第三个是AA层(有源层)对nwell和p型有源层之间的距离
    在这里插入图片描述
  • 因此要把下面的距离要拉开一些
    在这里插入图片描述
  • 第四个是关于金属密度,也就是栅极或者多晶硅,它的密度要求大于15%
  • 对于这个小电路模块可以先不用管
    在这里插入图片描述
  • 第五个是关于GT层作为mos的栅极的时候,一定要被n型注入层(sn)或者p型注入层(sp)全部包围起来。
    在这里插入图片描述

在这里插入图片描述

  • 第六个是SN的边距要求小于0.3
    在这里插入图片描述
  • 由于这里是在两层晶体管之间,我们可以画一个SN层/SP层,把他们全部包围起来。
    在这里插入图片描述
  • SAB和AA层要大于0.2
    在这里插入图片描述
  • 报的是衬底接触环靠的太近了
    在这里插入图片描述
  • sn和sp覆盖面积要大于0.28
    在这里插入图片描述
    在这里插入图片描述
  • m1的间距要大于0.17,还是靠的太近了,需要挪开一些
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 这里body层边界不用去管
    在这里插入图片描述
  • 最后一个是MIM电容与连线之间的距离。
  • 指过孔连线的地方和顶层极板之间金属距离太近了,要求大于2um。
  • 这里可以把过孔的类型进行修改,把行数减小一些,把列数加宽一些。把距离拉远到2um
    在这里插入图片描述
    在这里插入图片描述

4. LVS验证

  • 打开修改好的DRC验证后的layout
    在这里插入图片描述

在这里插入图片描述

  • 然后跑LVS验证
    在这里插入图片描述
  • 直接运行发现LVS是没有通过的。
    在这里插入图片描述
  • 查看错误发现,有些事在原理图上有的但是layout上没有
    在这里插入图片描述
  • 发现是在设计版图的时候加上的damin电阻没有连接,其两端是完全悬空的状态
    • 所以我们需要把这个电阻两端短接起来,然后连接到上面sub
      在这里插入图片描述
  • 另一个错误是晶体管尺寸对不上的问题
  • 版图上有这个器件,但是原理图上找不到有。还是damin电阻的问题
    在这里插入图片描述
    在这里插入图片描述
  • 打开通过LVS验证的版图
    在这里插入图片描述
  • 下面这个版图是DRC和LVS都能通过的
    在这里插入图片描述

相关文章:

【射频IC进阶实践教程】2.6 LNA版图设计及DRC/LVS验证

射频集成电路的版图设计非常关键,他对寄生参数非常敏感,需要使其最小化。还需要注意相互耦合的方式本次课程主要介绍射频IC的一些相关布局和连线方面的考虑。 一、版图设计 1. 版图的元件布局 首先打开对应的原理图 点击进行版图设计 由于已经有做好的…...

mac下载安装jdk

背景 长时间不折腾mac全部忘记 特此记录 安装 1.下载jdk 根据需要下载对应的jdk 我直接 下载到/Applicatiions目录 https://www.oracle.com/java/technologies/downloads/#java8-mac 2.解压 cd /Applicatiions tar -zxvf jdk-8u431-macosx-x64.tar.gz 3.配置环境 …...

【uniapp】swiper切换时,v-for重新渲染页面导致文字在视觉上的拉扯问题

问题描述 先用v-for渲染了几个列表,但这几个列表是占同一个位置的,只是通过切换swiper来显示哪个列表显示,也就是为了优化页面切换时候,没有根据swiper的current再更新v-for的数据,但现在就有个问题,怎么隐…...

shell自动显示当前git的branch

效果简介: 1. 如果没在git仓库,显示无变化 2. 如果在git仓库,显示当前分支 实现方法: 在~/.bashrc 里添加: function git_branch { test -d .git && branch"git branch | grep "^\*" | sed…...

使用 Acme.sh 自动生成和续签免费 SSL 证书(含通配符支持)

Acme.sh 是一个开源的脚本,能够从 ZeroSSL、Let’s Encrypt 等证书颁发机构(CA)获取免费的 HTTPS 证书。该脚本特别简单易用,并且支持多种验证方式。下面将详细介绍使用 Acme.sh 生成、安装和更新证书的各个步骤。 Github地址 使用…...

【JAVA】Java高级:Spring框架与Java EE—Web开发基础(Servlet、JSP)

Java作为一种广泛使用的编程语言,提供了强大的Web开发框架和技术,其中Servlet和JSP(JavaServer Pages)是构建动态Web应用的基础。了解这些技术对于任何想要深入Java Web开发的程序员来说都是必不可少的。 一、Web开发的重要性 动…...

pytorch生成对抗网络

# 生成对抗网络 import os import torch import torchvision import torch.nn as nn from torchvision import transforms from torchvision.utils import save_image # Device configuration device torch.device(cuda if torch.cuda.is_available() else cpu) # 超参数 late…...

flask简易版的后端服务创建接口(python)

1.pip install安装Flask和CORS 2.创建http_server.py文件,内容如下 """ ============================ 简易版的后端服务 ============================ """ from flask import Flask, request, jsonify from flask_cors import CORS app = F…...

gitlab 生成并设置 ssh key

一、介绍 🎯 本文主要介绍 SSH Key 的生成方法,以及如何在GitLab上添加SSH Key。GitLab 使用SSH协议与Git 进行安全通信。当您使用 SSH密钥 对 GitLab远程服务器进行身份验证时,您不需要每次都提供您的用户名和密码。SSH使用两个密钥&#x…...

ssh远程升级Ubuntu20.04到Ubuntu 22.04

ssh远程升级Ubuntu20.04到Ubuntu 22.04 陈拓 2024/10/16-2024/10/26 1. 简介 本文介绍了如何通过ssh将Ubuntu系统从20.04升级到22.04。 在进行系统升级之前,建议备份重要数据,以防升级过程中出现问题。 2. 更新当前系统 硬件系统架构 当前操作系统版…...

Qt开源控件:图像查看器工具V1.1

一、项目概述 本项目是一款基于 Qt 框架 开发的 图像查看工具,可以显示带坐标轴的图像,并实时获取图像中任意像素点的坐标和颜色信息。工具具有图像缩放、动态坐标轴绘制、鼠标交互等功能,使用起来方便直观。 二、功能亮点 1. 图像加载与显…...

【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解(下)

目录 详细解释更改文件内容4 运行模块(run):README.namelist5 输出模块(share):share/module_check_a_mundo.Fshare/output_wrf.F参考SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解的前两部分内容可参见-【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放A…...

【C#】新建窗体文件,Form、UserControl

从用途、功能性和架构方面进行描述。 1. 继承自 Form 的窗体(通常是窗口): 在 C# 中,Form 是用于创建应用程序的主窗口或对话框窗口的类。当您继承自 Form 时,您创建的是一个完整的窗口,可以显示内容、与…...

优化SEO策略掌握长尾关键词的力量

内容概要 在数字营销领域,SEO(搜索引擎优化)是帮助网站获得更多流量的关键。然而,随着在线竞争的加剧,单纯依赖短尾关键词已难以满足用户的搜索需求。这时,长尾关键词的引入便显得尤为重要。长尾关键词通常…...

MySQL分页查询

分页查询: 数据记录条数过多的时候,需要分页来显示。 语法: select 查询字段 from 表名 where ....等等前面学过的所有写法 limit offset(开始记录索引,是从0开始的),size(要取出的条数)&…...

执行“go mod tidy”遇到“misbehavior”错误

执行“go mod tidy”报错下错误,执行“go clean -modcache”和删除“go env GOMODCACHE”指定目录均无效: SECURITY ERROR go.sum database server misbehavior detected!old database:go.sum database tree3397826xyyhzdyAOat5li/EXx/MK1gONQf3LAGqArh…...

【机器学习】——windows下安装anaconda并在vscode上进行配置

一、安装anaconda 1.进入清华的镜像网站,下载自己电脑对应的anaconda版本。网站:https://repo.anaconda.com/archive/ 这里我下载的版本是anaconda3-2024.10-1-Windows-x86-64 2.下载完毕后开始安装anaconda 3.配置anaconda环境变量 在设置中找到编…...

第6章:布局 --[CSS零基础入门]

CSS 布局是网页设计中至关重要的一个方面,它决定了页面上元素的排列和展示方式。以下是几种常见的 CSS 布局方法和技术: 1. 浮动布局(Float Layout) 浮动布局(Float Layout)曾经是网页设计中创建多列布局…...

kubeadm安装K8s集群基础环境配置

kubeadm安装K8s集群基础环境配置 1.首先确保所有机器可以通信,然后配置主机hosts文件;2.关闭所有节点关闭防火墙、selinux、swap;3.将桥接的IPv4流量传递到 iptables;4.安装常用工具包;5.安装时间同步工具ntpdate&…...

计算机毕业设计Python医疗问答系统 医疗可视化 BERT+LSTM+CRF深度学习识别模型 机器学习 深度学习 爬虫 知识图谱 人工智能 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

学在西电录播课使用python下载,通过解析m3u8协议、多线程下载ts视频块以及ffmpeg合并

本文涵盖的内容仅供个人学习使用,如果侵犯学校权利,麻烦联系我删除。 初衷 研究生必修选逃, 期末复习怕漏过重点题目,但是看学在西电的录播回放课一卡一卡的,于是想在空余时间一个个下载下来,然后到时候就…...

攻防世界杂项刷题笔记(引导模式)13-23

引言:14包括提取文件和流量分析,22很新颖!!其他的都是常规隐写 13.base64stego 经过上一次如来十三掌的磨练,这题在看到题干“十三掌”的时候我是丝毫不慌张的。附件给了压缩包,考虑是不是伪加密&#xf…...

基于单片机的智能农田灌溉节水系统设计及应用

摘 要 : 针对传统的灌溉方法浪费水资源节水系统设计。该系统从节水角度出发,对传感器和主电路进行了设计,主要采集灌溉地的湿度与温度数据,根据测量土壤中的温度与湿度作为主要参数,对农田灌溉节水系统进行实时控制&am…...

高校毕业生离校就业数据分析管理平台的设计与实现(Java毕业设计)教务管理、就业统计

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可 操作系统…...

1、SQL语言

分类方式 类别描述 部署方式 嵌入式/单机/双机/集群/分布式/云数据库 业务类型 OLTP数据库/OLAP数据库/流数据库/时序数据库 存储介质 内存数据库/磁盘数据库/SSD数据库/SCM数据库 年代 第一代是单机数据库/第二代是集群数据库/第三代是分布式数据库和云原生数据库/第…...

spark sql 环境安装,java 默认路径和 安装配置!

yum安装java 查看默认路径 update-alternatives --config java # Java 环境变量 export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jreexport PATH$JAVA_HOME/bin:$PATH# Spark 环境变量 export SPARK_HOME/home/vagrant/soft/sparkexport PATH…...

【CMD、PowerShell和Bash设置代理】

【CMD、PowerShell和Bash设置代理】 1. CMD(命令提示符)临时设置代理(只对当前会话有效):查看当前代理设置:清除临时代理设置:永久设置代理(对所有新的 CMD 会话有效)&am…...

分区之间的一种度量方法-覆盖度量(Covering Metric)

分区之间的一种度量方法——覆盖度量(Covering Metric),用于量化一个分区如何被另一个分区覆盖或近似。以下是逐步详细解释: 1. 背景与符号说明 分区的概念: 分区是将一个集合(这里是 { 1 , … , n } \{…...

HarmonyOS(64) wrapBuilder 全局@Builder使用利器

WrapBuilder 全局Builder是什么什么时候使用wrapBuilderBuilder的限制参考资料 全局Builder是什么 局部Builder的定义方法如下: //定义局部Builder Builder MyBuilderFunction() {} //使用方法 this.MyBuilderFunction()全局Builder定义语法如下: //全…...

【计算机毕设】基于Spark猫眼电影票房数据分析预测推荐系统(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅

目录 【计算机毕设】基于Spark猫眼电影票房数据分析预测推荐系统(完整系统源码数据库开发笔记详细部署教程虚拟机分布式启动教程)✅ 一、项目背景 二、研究目的 三、项目意义 四、项目功能 五、项目创新点 六、开发技术介绍 七、算法介绍 八、数…...

问卷调查模板

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>问卷调查</title><style>body {font-fam…...

hadoop单机安装

步骤 1:安装 Java 安装 OpenJDK bash sudo yum install -y java-1.8.0-openjdk 验证 Java 安装 bash java -version 输出类似以下内容表示成功: arduino openjdk version “1.8.0_xxx” 步骤 2:下载 Hadoop 下载 Hadoop 安装包 前往 Hadoop 官方下载页面,获取最新稳…...

Android笔记【15】跳转页面返回信息

一、问题 学习一段代码 val intent Intent(thisSecondActivity, MainActivity::class.java) intent.putExtra("extra_data", data) startActivity(intent) 二、内容 这段代码是在 Android 应用中启动一个新的活动&#xff08;Activity&#xff09;&#xff0c;具…...

MATLAB深度学习(七)——ResNet残差网络

一、ResNet网络 ResNet是深度残差网络的简称。其核心思想就是在&#xff0c;每两个网络层之间加入一个残差连接&#xff0c;缓解深层网络中的梯度消失问题 二、残差结构 在多层神经网络模型里&#xff0c;设想一个包含诺干层自网络&#xff0c;子网络的函数用H(x)来表示&#x…...

推荐几种主流数据仓库:深度剖析与对比

引言 随着数据量的不断增长&#xff0c;数据仓库技术在企业的数据管理和分析中扮演着越来越重要的角色。不同的数据仓库系统在性能、架构、功能和适用场景上各有特点。本文将详细介绍目前市场上几种主流的数据仓库&#xff0c;帮助你更好地了解各个数据仓库的特性&#xff0c;选…...

编译原理——词法分析器的实现

实验目的 深入理解有限自动机及其应用编辑一个词法分析器&#xff0c;了解计算机识别源程序字符串的过程。 实验内容和要求 实验内容&#xff1a;处理c语言源程序&#xff0c;对源程序进行编译预处理&#xff08;去除注释、无用的回车换行找到包含的文件等&#xff09;之后&a…...

【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作

&#x1f4af; 欢迎光临清流君的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落 &#x1f4af; &#x1f525; 个人主页:【清流君】&#x1f525; &#x1f4da; 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 &#x1f4da; &#x1f31f;始终保持好奇心&…...

hive分区分桶、数据倾斜总结

一、hive的基本概念 hive是一个构建在hadoop上的数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表并提供数据查询功能 二、hive的特点 &#xff08;1&#xff09;数据是存储在hdfs上 &#xff08;2&#xff09;底层是将sql转换为MapReduce任务进行计算 …...

MySQL 函数

在 MySQL 中&#xff0c;函数&#xff08;Function&#xff09;是一种用于封装一段逻辑处理的编程结构&#xff0c;可以在 SQL 语句中调用并返回单个值。函数和存储过程类似&#xff0c;都是存储在服务器端的程序单元&#xff0c;但它们的应用场景和使用方式有所不同。函数通常…...

Java 并发舞台:多线程小精灵的奇幻冒险之旅

1.线程池的拒绝策略有哪些&#xff1f; Java中的线程池提供了几种不同的拒绝策略&#xff0c;当线程池无法处理新的任务时&#xff08;比如因为线程池已满并且工作队列也满了&#xff09;&#xff0c;这些策略会决定如何处理新提交的任务。ThreadPoolExecutor类中定义了以下四…...

PostgreSQL 性能优化全方位指南:深度提升数据库效率

PostgreSQL 性能优化全方位指南&#xff1a;深度提升数据库效率 别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01; 在现代互联网应用中&#xff0c;数据库性能优化是系统优化中至关重要的一环&#xff0c;尤其对于数据密集型和高并发的应用而言&am…...

【Go 基础】并发相关

并发相关 CAS CAS算法&#xff08;Compare And Swap&#xff09;&#xff0c;是原⼦操作的⼀种,&#xff0c;CAS 算法是⼀种有名的⽆锁算法。⽆锁编程&#xff0c;即不使⽤锁的情况下实现多线程之间的变量同步。可⽤于在多线程编程中实现不被打断的数据交换操作&#xff0c;从…...

5G CPE终端功能及性能评测(四)

5G CPE 功能性能评测 本文选取了几款在工业应用领域应用较多的5G CPE,对其功能和性能进行了对比评测。功能方面主要对比了网络接口数量,VPN功能 支持情况。以下测试为空口测试,测试结果受环境影响较大,性能仅供参考。总体看,高通X55芯片下行最优,速率稳定。 功能 对比CPE…...

开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-集成心知天气(二)

一、前言 Qwen-Agent 是一个利用开源语言模型Qwen的工具使用、规划和记忆功能的框架。其模块化设计允许开发人员创建具有特定功能的定制代理,为各种应用程序提供了坚实的基础。同时,开发者可以利用 Qwen-Agent 的原子组件构建智能代理,以理解和响应用户查询。 本篇将介绍如何…...

JS进阶DAY3|事件(一)事件监听及事件类型

目录 一、事件监听方式&#xff08;绑定&#xff09; 1.1 DOM0级事件 1.2 DOM2级事件 1.3 区别 二、事件类型 2.1 鼠标事件 2.2 键盘事件 2.3 焦点事件 2.4 表单事件 2.5 加载和卸载事件 2.6 滚动事件 2.7 触摸事件&#xff08;在支持触摸的设备上&#xff09; 一…...

数据结构与算法之美:单链表

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《数据结构与算法之美》、《编程之路》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 目录 …...

从ctfwiki开始的pwn之旅 6.ret2reg

原理 Ret2reg&#xff0c;即攻击绕过地址混淆(ASLR)&#xff0c;返回到寄存器地址 一般用于开启ASLR的ret2shellcode题型。 出现该漏洞的代码的典型特征是&#xff1a;程序中存在strcpy的字符串拷贝函数。 ret2reg&#xff08;返回到寄存器地址攻击&#xff09;是一种利用技…...

GESP202412 7级 T2

闲话 花了一个小时。 主要原因&#xff1a;条初始值硬控我半小时&#xff0c;题目看错硬控我半小时&#xff08;悲&#xff09;。 正文 看题目&#xff0c;就是求从哪个点出发所得到的所有单调下降序列的总长度最长(这个描述好奇怪&#xff0c;不过意思是对的)。 题目中说…...

LeetCode---426周赛

题目列表 3370. 仅含置位位的最小整数 3371. 识别数组中的最大异常值 3372. 连接两棵树后最大目标节点数目 I 3373. 连接两棵树后最大目标节点数目 II 一、仅含置位位的最小整数 题目要求我们返回二进制数位全为1&#xff0c;且大于 n 的最小的整数&#xff0c;我们可以直…...

git 拉取代码时报错 gitignore Please move or remove them before you merge.

git 拉取代码时报错&#xff0c; The following untracked working tree files would be overwritten by merge: .gitignore Please move or remove them before you merge. 当你在使用 Git 进行代码拉取&#xff08;通常是执行 git pull 或 git merge 命令&#xff09;时遇到这…...