cadence布局布线常见问题详解

2023-11-01

cadence布局布线常见问题详解

1.怎样建立自己的元件库?

建立了一个新的project后,画原理图的第一步就是先建立自己所需要的库,所采用的工具就是part developer. 首先在建立一个存放元件库的目录(如mylib),然后用写字板打开cds.lib,定义:Define mylib  d:\board\mylib(目录所在路径). 这样就建立了自己的库。在Concept_HDLcomponent>add,点击search stack,可以加入该库。

2.保存时Save viewSave all view 以及选择Change directory 和不选择的区别?

建立好一个元件库时,首先要先保存,保存尽量选择 save view。在concept-HDL中,我们用鼠标左键直接点击器件后,便可以对器件的外形尺寸进行修改,这时如果你再进入part developer做一些修改后,如果选择save all view会回到原来的外形尺寸,而选save view

会保留改动后的外形。

3.如何建part库,怎么改变symbolpin脚的位置?

project managertools/part developer可建立,选择库并定义part name,在symboladd symbolpackageadd package/addpin,依次输入pin

package中:

a, Name : pins logical name不能重复

b, pin : pin的标号,原理图中backannotate后相应的标号

c, pin type: pin脚的类型(inputoutput等,暂可忽略)

d, activepin的触发类型 high(高电平)low(低电平)

e, nc:填入空脚的标号

f, total:此类型的所有pin脚数

g, 以下暂略

symbol中:

a, logical name:对应package中的name

b, type:对应package中的type

c, positionpin脚在器件中位置(left , right , top , bottom

d, pintextpin在器件中显示的name(对应package中的pin,但可重复,比如package

gnd1gnd2都可设为gnd

e, active:对应package中的active

修改:用part developer打开要修改的器件,*选择edit/restrict changes(若不选择,则器件被保护,修改后存盘无效),一般修改:

a, package中相应pin的标号和name

b, pinactive类型

c, symbol中各pin脚的顺序(pin脚的顺序在第一次存盘后再次打开会被改变,对于较多

pin脚的器件,如232pins,修改较繁琐,故尽力保证的一次的成功率。pin脚在器件中的排列顺序是根据symbol中的顺序而定,故symbolpin脚的顺序一定要正确,若有错需修改,选中pinctrl键配合上下键标可移动pin脚位置。

4. 画电原理图时为什么Save及打包会出错?

当保存时出错,主要原因可能是:所画的信号线可能与元件的pin脚重合,或信号线自身重合;信号线重复命名;信号线可能没有命名;在高版本中(

版本14.0以上)中,自己所创建的库不能与系统本身带有的库名字相同;建库时,封装原件的管脚个数与原件库的管脚个数不同。打包时会出错的原因则有可能

是所做的封装类型与元件不匹配(如pin脚的个数,封装的类型名等。

5. 在电原理图中怎样修改器件属性及封装类型?

在菜单Text下拉菜单中选择Attribute特性,然后点击器件,则弹出一Attribute 窗口,点击Add按钮,则可以加入name ,value,JEDEC_TYPE (封装类型等属性。

6. 如何在Pad Design中定义Pad/via?及如何调用*.pad

pad design中,建立pad 时,typesingle类型,应该定义下面几层的尺寸:begin layer(有时是end layer, soldermask和 pastemask 。建立Via时,type一般选through,定义drill hole 的尺寸和所有的layer层(注意定义thermal reliefanti pad)以及soldermask。一般PastemaskRegular一样大,soldmasklayer的尺寸大几个Mil,而thermal reliefanti padregular pad的尺寸大10Mil以上。

7. 做封装库要注意些什么?

做封装既可以在AllegroFile>New>package symbol,也可以使用Wizard(自动向

导)功能。在这个过程中,最关键的是确定padpad的距离(包括相邻和对应的pad之间),以确保后期封装过程中元器件的Pin脚能完全的无偏差的粘贴在Pad上。如果只知道Pin的尺寸,在设计pad的尺寸时应该比Pin稍大,一般width1.2~1.5倍,length0.45mm左右。除了pad的尺寸需特别重视外,还要添加一些层,比如SilkScreen_topBottom,因为在以后做光绘文件时需要(金手指可以不要),Ref Des也最好标注在Silkscreen层上,同时注意丝印层不要画在Pad上。还应标志1pin脚的位置,有一些特殊的封装,比如金手指,还可以加上一层Via keep out,或者route keep out等等,这些都可以根据自己的要求来添加。操作上要注意的是建好封装后,一定不要忘了点击Create symbol,不然没有生成*.psm文件,在Allegro就无法调用。

8.为什么无法Import网表?

AllegroFile选项中选Import―――>logic,在import logic typeHDLconcept,注意在Import from栏确认是工作路径下的packaged目录,系统有可能自动默认为是physical目录。

9.怎么在Allegro中定义自己的快捷键?

allegro下面的空白框内,紧接着command>提示符,打入alias F4(快捷键) room

out(命令)。或者在Cadence安装目录/share/pcb/text里有个env文件,用写字板打开,找到Alias定义的部分,进行手动修改既可。

10.怎么进行叠层定义?在布线完成之后如何改变叠层设置?

Allegro中,选Setup-?Cross-section。如果想添加层,在Edit栏选Insert,删除为del,材料型号,绝缘层一般为FR-4Etch层为Copper,层的类型,布线层选Conductor,铺铜层为Plane,绝缘层为DielectricEtch Subclass Name分别为TopGndS1S2VccBottom

Film Type一般选择Positiveplane层选择Negative。如果布线完成之后,发现叠层设置需要改动。比如原来设置的为34层是plane层,现在需要改为25层,不能简单的通过重命名来改变,可先在25层处添加两层plane层,然后将原来的plane层删除。

11.为什么在Allegro布局中元器件在列表中不显示或者显示而调不出来?

首先确定Psmpathpadpath的路径有没有设置,如果没有设置可以在Partdevelop里设置,或者在env文件中手动添加。也有可能器件在列表中存在,但是无法调出,可检查该器件所用到的*.pad文件及封装库文件*.dra,*.psm是否存在于你的工作目录×××/physical里。另外还有一种可能就是页面太小,不够摆放器件,可以在setup-?draw size中调整。

12.为什么器件位置摆放不准确,偏移太大?

主要是因为Grids设置的问题,可在setupgrids中将每一层的EtchNonetchgridsXYspacing间隔调小。对于一些对位置要求比较严格的器件,比如插槽,金手指等用于接口的元器件,则应该严格按照设计者给定的位置尺寸,在命令行里用坐标指令进行定位。如:x

1200 3000 

13.怎样做一个Mechanical symbol,以及如何调用?

Allegro中File-?new,在drawing type中选择Mechanical

symbol。主要是为了生成PCB板的外框模型,在这里面虽然也可以添加pad,但是没有管脚对应关系。Mechanical symbol完成以后,生成*.dra文件。在Allgro中调用时,选择by symbol>mechanical。注意右下角的library前面的勾打上。

14.在布局后如何得到一个整理后的所有元件的库?

如果嫌physical目录下各类文件过分繁冗,想删除一些无用的文件,或者只有一个*.brd文件,想获取所有的元件及pad封装库的信息,可以采用这种办法:将*.brd另存在一个新的目录下,在File>export>libraries,点中所有选项,然后export,即可在你的新目录下生成所有的*.pad,*.psm,*.dra文件。

15.如何定义线与线之间距离的Rule

我们以定义CLK线与其它信号线之间的距离为例:

Allegro中:setup>constraints,在spacing rule set中点set values。首先add一个constraint set name,比如我们取名为CLOCK_NET,然后就在下面定义具体需要遵守的规则。比如line to line 我们定义为10mil。接着在allegro主窗口的edit菜单下选择properties,会跳出你的Control工具栏,在find by name中选择net,在右下角点击more。在新弹出的窗口的列表中选择你所想规定的CLK线,如CK0CK1CK2等等,确定右边的selected

objects中以选中所有的线,点Apply。又会出现一个新窗口,在左边的availableproperties中选择NET_SPACING_TYPE,在左边给它赋值(名字随意),比如CLK。回到setup>constraints,在刚才set values的下面点击Assignment table,即可将所定义的规则赋给所选用的net

Specctra中,可先选中所要定义间距的信号线(select >nets>by list),然后在rules中选selected net>clearance,在该窗口可定义一系列的布线规则,比如要定义线与线之间的间距,可在wirewire栏定义,注意,当点Apply或者OK之后,该栏仍然显示-1(意思是无限制),只要看屏幕下方的空白栏,是否有定义过的信息提示。

16.为什么在Allegro中画线不能走45度角?

control控制栏的line lock中,可将90改为45,如果想画弧线,可以将line改为Arc

17.如何在CCT中定义走线最大最小距离?

同上面定义间距的方法类似,在选中所要定义的线之后,rules>selected net>timing,则可以在minimumlengthmaximum length中定义走线的最长最短长度限制,也可以用时间延迟为限制来定义。还有一种方法就是在Specctra Quest中提取某一根信号线的拓补结构作为模型,在里面定义各段导线的长度限制,然后生成rule文件,可以约束相同类型信号线的走线。

18.在CCT中如何进行一些保存读盘操作(颜色设置、规则保存)?

Specctra里,可用file>write>session来保存当前布线,用file>write>rules

did files来保存规则文件,调用时均使用file>execute do file,然后打需要调用的存盘文件,如Initial.sesrules.rul 。在color palette中使用write colormap和来load colormap来保存和读取颜色设置。

19.在CCT中怎么大致定义自动打孔的位置,怎么打一排过孔及定义其排列形状?

CCT中有自动打过孔的功能,在Autoroute>Pre Route>Fanout。可以指定过孔的方向,比如想把过孔都打在Pad的内部,则可以在location中选inside。其中也可以定义一些其他限制。另外有时我们可以选择一组线进行平行走线,这时就可能同时打一排过孔,右击鼠标选择set via pattern,可选择其排列形状。在窗口的右下方也有快捷按钮可以选择。

20.为什么提示的最大最小距离不随走线的长度变化而改变?

我们在定义了最长最短走线的规则之后,在布线时会有数字显示,随时告诉你如果按当前走向布线会离所定义的规则有多大的偏差。一般在规则长度以内的用绿色字体

显示,超过了或长度不够会有红色字体显示,并用+/—提示偏差量。但是这个提示的偏差量并不是简单的随你走线的长度变化而变化。它是根据你的布线方向,软件自动计算按此方向走线的长度与规定长度的比较,如果变换走线方向,它也会重新计算。

21.怎么铺设Plane层?铺好后怎么修改?

铺铜这一步骤一定要在Allegro中进行,Add>shapes>Solid Fill,同时注意在Control工具栏中Active ClassEtchSubclass选所要铺设的Plane层,如VCC或者GND。然后即可画外框,注意离outline20Mil左右的间距。Done之后会进入铺铜的操作界面,选Edit>Change netby name)给Plane层命名。在shape>parameters确定是否使用了Anti PadThermal relief,接着选Void>Auto,软件会自动检测Thermal relief,完成之后会有log汇报,如果没有任何错误既可铺设shapeshape>Fill。如果铺好之后又有过孔的改动,需要重新铺铜,则应选Edit>shape,点在shape上,然后右击鼠标选done,这样就会自动将连接在shape上的Thermal relief删除,不能硬删铺铜的shape层,否则那些Thermal relief将遗留在Plane层上。

22.怎么定义thermal-relief 中过孔与shape连线的线宽?

AllegroSetup>constraints里的set standard values中可定义每一层走线的宽度,比如,可以定义VCCGND的线宽为10Mil。在铺铜时注意shape>parameters里一些线宽的定义是否设置成DRC Value

23.如何优化布线而且不改变布线的总体形状?

布线完成之后,需要对其进行优化,一般采用系统自动优化,主要是将直角变为45度,以及线条的光滑性。Route>gloss>parameters,在出现的列表中,选Line smoothing,进行Gloss即可,但有时布线中为了保证走线距离相等,故意走成一些弯曲的线,优化时,点击Line Smoothing左边的方块,只选择convert 90s to 45s,把其他的勾都去掉,这样进行优化时就不会将设计者故意弯曲的走线拉直或变形。

24.如何添加泪滴形焊盘以及加了之后如何删除?

在优化的parameters选项中只选择倒数第二个,Pad And T Connection Fillet,并去掉其中的Pin选项,进行优化即可。想要删除的话,则只选Line smoothing中的dangling Lines进行优化。注意:如无特殊要求,现在我们不再进行此项优化。

25.布线完成之后如果需要改动封装库该如何处理?

在器件摆放结束后,如果封装库有改动,可以Place>update symbols,如果是pad有变化,注意要在update symbolpadstacks前打勾。布线完成之后尽量避免封装库的改动,因为如果update,连接在Pin上的连线会随Symbol一起移动,从而导致许多连线的丢失,具体解决办法有待于研究。

26.为什么*.brd 无法存盘?

遇到这种情况注意看屏幕下方的空白栏的提示,有可能是硬盘空间不够,还有一种可能是因为数据库出错,软件会自动存盘为*.SAV文件,这时可以重新进入Cadence(可能需要重起动),打开*.SAV,再另存为*.brd 。或在Dos下运行DBFix .SAV,会自动将其转换为*.brd文件,然后即可调用。

27Allegro有哪些在Dos下的数据库修正命令?

有时Allegro会出现一些非法超作,导致一些数据出错,我们可以在Dos方式下,在工作目录下(即physical目录下),运行一些修正命令,如Dbcheck *.brd , Dbfix *.brd 。不过实际中这些命令好像效果不大。

28.如何生成*.DML模型库?

dos模式,工作目录下,敲入brd2dml *.brd 命令,这样在该目录下会生成对应brd文件的模型库dml文件。

29.如何在Specctra Quest里使用IBIS模型进行仿真?

首先将IBIS模型转化为*.dml文件。在Specctra Quest SI expertAnalyze>Si/EMI

SI>library,在出现的新窗口的右下角,点击translate>ibis2signoise,然后在browse里选

*.ibs文件,将其转化为*.dml文件。然后在Analyze>SI/EMI SI>model Assign中将所有的器件加载对应的模型。然后就可以用probe提取信号线进行仿真了。

30.生成Gerber file要哪些文件?如何产生?

PCB布线完成以后,所做的最后一项工作就是产生生产厂家所需要的光绘文件,具体步骤在Allegro工具下完成。在Manufacture菜单下点击Artwork 选项, 则出现一个artwork control form窗口。所提供的光绘文件除了包括已产生的TOP, GND,S1, S2, VCC, BOTTOM6,还应包括silkscreen_top, silkscreen_botom, soldermask_top, soldermask_bottom, pastemask_top, pastemask_bottom, drill drawing file, drill hole。我们以制作Silkscreentop层为例。

1)在Allegro窗口中,点击color 图标,在产生的窗口中,global visibility 选择

all invisibility, 关掉所有的显示。

2)在group 选择Geometry. 然后选中所有的subclass(Board_Geometry , package

Geometry)下的silkscreen_top 

3)同样在Group/ manufacture 中选择Autosilk_top 。 在Group/components subclass REF DES 中选择 silkscreen

4)选择OK按钮 ,则在Allegro窗口中出现 silkscreen_top层 。

5)在artwork control form 窗口,右键点击Bottom ,在下拉菜单中选择add ,则在出现的窗口中输入:silkscreen_top, 点击O.K , 则在avilibity films中出现了新加的silkscreen_top。注意:在FILM opition选中Use Aperure Rotation, Underined line width 中填写5(或10) ,来定义还没有线宽尺寸的线的宽度。

按照上面的步骤,产生silkscreen_bottom层。soldermask_top和 soldermask_bottom 层分别在 :

Gemoetry 组和 Stackup 组(选择PIN VIA子集);Pastemask_top Pastemask_bottom分别在Stackup组(选择PIN VIA子集);DrillDraw 包括Group/Board

Geometry中的outlineDimension Manufacturing 中的Ncdrill_Legend。这样,按照上面的步骤,分别添加上述各层。然后在 Artwork control form 窗口中,点击Select All 选中所有层,再点击 Apertures.按钮, 出现一新的窗口EditAperture Wheels, 点击EDIT, 在新出现的窗口中点击AUTO>按钮,选择with rotation,则自动产生一些Aperture文件。然后点击O.K。在 Artwork control form 中点击 Creatartwork ,则产生了13art文件。 回到 Allegro 窗口, 在 Manufacture 菜单下点击NC 选项中的Drill tape 菜单,产生一个*.tap 文件。到此,就产生了所有的14个光绘文件。

31.如何调看光绘文件?及如何制作NegtivePlane层光绘文件?

新建一个空白layout文件,File>import>Artwork,然后就可以在browse中选择*.art文件,Manual中选gerber 6×00。注意不要点OK,点击Load File。在调用Soldermask 时要在display padtargets前打勾。 调用silkscreen层时,可能会发现没有器件名标志。这是因为在上面制作光绘文件时,Underined linewidth没有定义宽度,而在以前制作封装库时,silk_screen层时标注的Ref也没有定义宽度,则在调用时会不显示。另外如果想制作Negtive的光绘文件。在制作光绘文件时,GndVcc层的Plot mode选为Negative就行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cadence布局布线常见问题详解 的相关文章

  • 机智的Open3D学习生活(第二集):从pcb文件中读取并可视化展示点云数据

    只作为一个从项目需求衍生的例子进行演示 代码么 从其他处获取并简单修改 import numpy as np import open3d as o3d from pathlib import Path from traceback impo
  • 立创商城中元器件封装的3d模型导出STEP格式文件

    1 首先安装FreeCAD软件和注册立创账号 2 进入立创EDA专业版 同时登录立创EDA账号 立创EDA专业版网址 https pro lceda cn editor 3 新建一个工程并打开 4 把立创商城的商品编号复制到下面的元器件库中
  • Ultra Libraian介绍

    Ultra Libraian介绍 我从Ultra Libraian官网上查找一些信息 在下面统一介绍一下它 方便大家使用 Ultra Libraian简介 Ultra Libraian是一个零件库服务商 提供方便电子工程师和PCB Layo
  • 一、新建AD工程

    pcb主要由四部分组成 原理图库 原理图 pcb库 pcb 1 先新建pcb工程 保存 2 新建原理图库 保存 3 新建原理图 保存 4 新建pcb库 保存 5 新建pcb 保存 6 保存项目 本节完
  • 《兴森大求真》重磅来袭!先进电子电路可靠性大揭秘

    兴森实验室 让可靠看得见 前言介绍 芯片性能不断增强 先进封装不断演进 导致封装基板信号互连的IO数量和密度不断增加 PCB的层数增加 孔间距减小 厚径比提升 可靠性的挑战正在加剧 电路板作为各种电子元器件的载体和电路信号传输的枢纽 决定了
  • 静电电容

    1 用电容进行ESD的防护只能用数pF到数百pF的小电容 这里关注的不是容量而是串联等效电感参数 静电放电极快 对应极高的频率 耐压的问题不用考虑 因为静电源内阻极高 能量很小 放电时电压跌落极快 2 理论上讲大电容并不会因为时间常数的增加
  • 大三,改变生活的一年

    国庆假期在偶然看到了去年假期画的stm32开发板的PCB 当时接触还没有一个月 想到了大三这一年来的点点滴滴 突然就想写下点什么 对于过去的一年的总结 又提醒自己还是给小白 要继续加油 首先我先说一下自己的情况 我是一个很普通的本科生 真的
  • PCB该怎样布局布线,这个小小案例,让你快速了解设计思路!

    在电路设计过程中 应用工程师往往会忽视印刷电路板 PCB 的布局 通常遇到的问题是 电路的原理图是正确的 但并不起作用 或仅以低性能运行 在本文中 我将向您介绍如何正确地布设运算放大器的电路板以确保其功能 性能和稳健性 最近 我与一名实习生
  • PCB大电流承载方法(100~150A)

    笔者对PCB是否能够承载100 150A大电流的问题进行了分析 一起来看一下吧 常见的PCB可以承载150A电流 但是原则上不推荐作为常规或者持续的使用方法 下面主要论述三个方面 1 PCB承载大电流操作方法 2 PCB承载大电流注意事项
  • 行业首发!《硬件工程师进阶武器库》免费赠送!限量2000份,送完不补!

    对于刚入硬件行业的3 5年工程师来说 如果能有一个好的师傅引路 那是最好不过的了 但是往往大神很少 能够愿意倾囊相授的也难遇到 如果在这个阶段 能够找到行业中top级企业内部的学习资料 或者高阶的技能图谱 或者行业大神的学习教程等等 就能够
  • Altium Designer 16来自原理图/PCB的各种报错 (持续更新):

    NO1 Net xxx has only one pin 根本原因 在BGA的原理图绘制时 我一般拉出该元件的所有IO的网络 这方便利于我开发其他款板卡 同样也会因为不同板卡的需求不同而造成有些IO并没有使用到 也就是整个原理图中only
  • 「经验分享」一款PCB电路板设计要经历哪些流程?

    一款PCB电路板设计主要包括明确产品需求 硬件系统设计 器件选型 PCB绘制 PCB生产打样 焊接调试等步骤 那么这些步骤都有哪些需要注意点呢 小编带你细品 一定要细品 一 明确需求 在一个硬件设计之初 首先要做的是明确产品的需求 这里主要
  • 画PCB步骤

    画PCB步骤 1 导入原理图器件 2 画PCB边界 板子画圆弧 首先在机械层 mechanical 画一个边界 如矩形 然后在四个角画上圆弧 最后再复制到阻焊层 keep out Layer 复制到阻焊层方法 shift s单层显示 最后分
  • LED点阵书写显示屏

    LED点阵书写显示屏 题目的大概要求是做一个32 32的点阵书写屏 LED 点阵模块显示屏工作在人眼不易觉察的扫描微亮和人眼可见的 显示点亮模式下 当光笔触及 LED 点阵模块表面时 先由光笔检测触及位置处 LED 点 的扫描微亮以获取其行
  • Candence学习篇(6)使用allegro绘制元器件的PCB封装

    文章目录 前言 一 确定引脚坐标位置 二 新建封装 2 1设置封装的大小 2 2 设置焊盘路径 三 绘制PCB封装 3 1参数设置 3 2放置边框矩形 3 3放置装配层 放置丝印层和1脚指示原点 总结 前言 前面我们讲了 Candence学
  • STC15单片机实战项目 - PCB打样

    PCB打样 一 设计文件链接 1 PADS9 5格式PCB设计文件 gt Project STC15 V1 0 pcb 2 AltiumDesigner格式PCB设计文件 gt Project STC15 V1 0 PcbDoc 二 获取开
  • 裸片IC的简单介绍以及裸片IC的封装设计

    最近项目一直用到一种比较旧的PCB生产工艺 裸片IC 也就是绑定的工艺 1 什么是裸片IC 裸片既是在加工厂生产出来的芯片 即是晶圆经过切割测试后没有经过封装的芯片 大小一般在几毫米左右 边上有用于连接金属线的的焊盘或者小孔 金属线这是连接
  • STM32H743必要外围电路分析

    BOOT STM32采用ARM内核 和ARM处理器一样 都有专门的boot脚决定单片机从何处启动 在官方数据手册的第105页 我们可以看到 系统复位后 在SYSTICK的第四个上升沿锁存BOOT引脚的值 复位后 BOOT引脚可以由用户自由配
  • orCAD下设置不同的GND网络

    对 PCB设计 而言 其中最重要 也是最基础的 就是 电源与地GND 列举例子如下 i 首先 对 简单电路 而言 其中的 电源与地GND 只有2个 大部分情况下 其被命名为 VCC 和 GND ii 其次 对 稍复杂电路 而言 其必须对GN
  • 有效降低EMI干扰的PCB设计原则

    降低EMI干扰的一些PCB设计建议 1 通过在所有信号下提供低阻抗 连续的返回路径来减少地面反弹 尤其是在表层布线时 2 保持所有走线距离板的边缘至少5倍信号线宽 3 对于关键信号 尽量采用带状线布局 4 将高速率 大电流的组件尽可能远离I

随机推荐

  • java 2进制常量_【二】Java变量与常量

    1 标识符 标识符 identifier 是指用来标识某个实体的一个符号 在不同的应用环境下有不同的含义 在计算机编程语言中 标识符是用户编程时使用的名字 用于给变量 常量 函数 语句块等命名 以建立起名称与使用之间的关系 标识符通常由字母
  • 解决Flutter旋转屏幕状态栏空缺的问题

    问题 最近要实现一个视频播放器 全屏播放时需要旋转屏幕 把案例拿出来试了一下 旋转屏幕后呈现的状态是这样 解决办法 打开项目下android app src main res values styles xml 添加
  • 对象相等判断&&值传递

    文章目录 对象相等判断 和 equals 的区别是什么 hashCode 与 equals 重要 对象的相等与指向他们的引用相等 两者有什么不同 值传递 对象相等判断 和 equals 的区别是什么 它的作用是判断两个对象的地址是不是相等
  • STP协议详解

    STP协议详解 文章目录 STP协议详解 前言 一 STP协议的运行原理 二 STP协议中ROOT RP DP的选举规则 三 端口状态disable listening learning forwarding blocking所代表的含义
  • vue3组合式api 父子组件数据同步v-model语法糖的用法

    V model 大多数情况是用在 表单数据上的 但它不止这一个作用 父子组件的数据同步 有一个 语法糖 v model 这个方法简化了语法 在elementplus中 都有很多地方使用 所以我们要理解清楚 父组件 使用 v model 向子
  • 【牛客SQL】SQL10 获取所有非manager的员工emp_no

    题目描述 描述 有一个员工表employees简况如下 有一个部门领导表dept manager简况如下 请你找出所有非部门领导的员工emp no 以上例子输出 示例1 输入 drop table if exists dept manage
  • 前端学习——jQuery基础

    一 引入jQuery的js文件 此处是下载好的jquery的js文件 也可以引入cdn 二 jQuery的入口函数 三 DOM对象和jQuery对象 div div 建一个盒子
  • react——state(状态机)

    h1 h1 h1 react state 状态 h1 p react把组件看成是一个状态机 state machines 通过与用户的交互 实现不同状态渲染UI 让用户界面和数据保持一致 p p react里 只需要更新组件的state 然
  • 【Qt教程】1.7 - Qt5带参数的信号、信号重载、带参数的槽函数、槽函数重载

    原理 与C 语法一致 信号 槽函数都可以发生重载 使其在名称不变的情况下 传递过程可以携带参数 示例说明 我们从一个最普通的信号槽工程中 来修改 对信号 槽进行重载 使信号 槽携带参数 1 普通信号 工程源码 widget h ifndef
  • rank、dense_rank、row_number函数的区别

    这四个 RANK DENSE RANK NTILE ROW NUMBER 函数 都是用来对数据库中的数据进行排名的 在他们的功能各有千秋 下面介绍一下这四个函数的功能和用法 首先创建一个Student表 CREATETABLEStudent
  • 树莓派安装opencv教程

    我使用的镜像版本为 Linux version 5 10 103 v7l dom buildbot arm linux gnueabihf gcc 8 Ubuntu Linaro 8 4 0 3ubuntu1 8 4 0 使用Python3
  • C++ 仿函数的分类

    一 概述 仿函数 functor 就是使一个类的使用看上去象一个函数 其实现就是类中实现一个operator 这个类就有了类似函数的行为 就是一个仿函数类了 有些功能的的代码 会在不同的成员函数中用到 想复用这些代码 1 公共的函数 可以
  • 普通人如何抓住AI这个风口

    随着科技的发展 人工智能 AI 已经成为当今社会的风口浪尖 越来越多的行业正在应用AI技术 新的职业和商业机会也随之出现 那么 作为普通人 我们应该如何抓住这个风口呢 来看看 AI硅基小助手 是如何解答的 1 学习AI相关技能 学习AI相关
  • Shiro和Spring Security的简单对比

    Shiro和Spring Security是Java中常用的两种安全认证框架 安全认证主要包括认证和授权鉴权两部分 认证指应用程序验证一个用户信息的过程 应用程序需要确认当前的用户是否是合法的用户 用户会向应用程序提供两部分数据 身份信息和
  • Java学习-冒泡排序

    冒泡排序 通俗的理解就是将一列无序的数字按照从大到小或者从小到大的顺序进行排序的一种简单的算法 在Java中一般是将数组使用冒泡排序的方法进行排序 大致原理是遍历数组元素 然后每两个之间进行比较 将较大值或者较小值按照自己想要的排序结果进行
  • YOLOV7调用本地USB摄像头和自己训练的权重文件实时检测目标

    作者新手 挣扎于毕业的菜鸡一枚 有问题欢迎讨论 最近在做课题时想直接调用本地摄像头来测试一下自己的训练结果 查到的文章多用到onnx openvino等格式转换部署 但作者没有这方面需求 折腾一会失败了 后来发现yolo系列自带了此功能 只
  • Linux xarges

    对于管道 之后的一部分命令可以用stdin进行输入 如 cat a grep test 但有些命令只能用参数形式 就要使用xargs了 xargs可以将stdin转化为参数 类似于find命令中的 exec选项 xargs也可以将单行或多行
  • 电赛经验分享

    2019 TI杯过程和经验分享 在这里我也是第一次写博客 看博客已经有一年多了吧 为什么要在这一次写博客呢 一是因为这一次比赛对我的影响很深 也算试一次经历和教训吧 二是因为最后一次参加TI杯大赛 在 比赛之前我们是做了充分的准备 把前两年
  • 如何用计算机名添加的打印机,如何添加打印机(如何在电脑上安装打印机)

    如何添加打印机 如何在电脑上安装打印机 平时在生活中 我们要将电子档的文件打印出来 都需要使用到打印机 传统的打印机都是以电脑为主 今天就教大家如何在电脑上安装打印机 电脑上安装打印机的详细步骤 1 双击打开桌面上的 控制面板 如果桌面上没
  • cadence布局布线常见问题详解

    cadence布局布线常见问题详解 1 怎样建立自己的元件库 建立了一个新的project后 画原理图的第一步就是先建立自己所需要的库 所采用的工具就是part developer 首先在建立一个存放元件库的目录 如mylib 然后用写字板