Altium Designer中的电路仿真

2023-11-13

今天看了下Altium Designer的电路仿真功能,发现它还是蛮强大的,按着help里面的文档《TU0106 Defining & running Circuit Simulation analyses.PDF》跑了一下,觉得还行,所以就把这个文档翻译下。。。。。

 

其中包含了仿真功能的介绍,元件仿真模型的添加与修改,仿真环境的设置,等等。本人对SPICE仿真了解的不多,里面涉及到SPICE的文件如果有什么错误,欢迎提出!

一、电路仿真功能介绍

Altium Designer的混合电路信号仿真工具,在电路原理图设计阶段实现对数模混合信号电路的功能设计仿真,配合简单易用的参数配置窗口,完成基于时序、离散度、信噪比等多种数据的分析。Altium Designer 可以在原理图中提供完善的混合信号电路仿真功能 ,除了对XSPICE 标准的支持之外,还支持对Pspice模型和电路的仿真。

Altium Designer中的电路仿真是真正的混合模式仿真器,可以用于对模拟和数字器件的电路分析。仿真器采用由乔治亚技术研究所(GTRI)开发的增强版事件驱动型XSPICE仿真模型,该模型是基于伯克里SPICE3代码,并于且SPICE3f5完全兼容。

SPICE3f5模拟器件模型:包括电阻、电容、电感、电压/电流源、传输线和开关。五类主要的通用半导体器件模型,如diodes、BJTs、JFETs、MESFETs和MOSFETs。

XSPICE模拟器件模型是针对一些可能会影响到仿真效率的冗长的无需开发局部电路,而设计的复杂的、非线性器件特性模型代码。包括特殊功能函数,诸如增益、磁滞效应、限电压及限电流、s域传输函数精确度等。局部电路模型是指更复杂的器件,如用局部电路语法描述的操作运放、时钟、晶体等。每个局部电路都下在*.ckt文件中,并在模型名称的前面加上大写的X。

数字器件模型是用数字SimCode语言编写的,这是一种由事件驱动型XSPICE模型扩展而来专门用于仿真数字器件的特殊的描述语言,是一种类C语言,实现对数字器件的行为及特征的描述,参数可以包括传输时延、负载特征等信息;行为可以通过真值表、数学函数和条件控制参数等。它来源于标准的XSPICE代码模型。在SimCode中,仿真文件采用ASCII码字符并且保存成.TXT后缀的文件,编译后生成*.scb模型文件。可以将多个数字器件模型写在同一个文件中。

Altium Designer 可实现如下功能:

1、仿真电路建立及与仿真模型的连接

AD 中由于采用了集成库技术,原理图符号中即包含了对应的仿真模型,因此原理图即可直接用来作为仿真电路,而99SE中的仿真电路则需要另行建立并单独加载各元器件的仿真模型。

2、外部仿真模型的加入

AD中提供了大量的仿真模型,但在实际电路设计中仍然需要补充、完善仿真模型集。一方面,用户可编辑系统自带的仿真模型文件来满足仿真需求,另一方面, 用户可以直接将外部标准的仿真模型倒入系统中成为集成库的一部分后即可直接在原理图中进行电路仿真。

3、仿真功能及参数设置

Altium Designer的仿真器可以完成各种形式的信号分析,在仿真器的分析设置对话框中,通过全局设置页面,允许用户指定仿真的范围和自动显示仿真的信号。每一项分析类型可以在独立的设置页面内完成。Altium Designer中允许的分析类型包括:

1)        直流工作点分析

2)        瞬态分析和傅立叶分析

3)        交流小信号分析

4)        阻抗特性分析

5)        噪声分析

6)        Pole-Zero(临界点)分析

7)        传递函数分析

8)        蒙特卡罗分析

9)        参数扫描

10)    温度扫描等


二、操作步骤

2.1、使用Altium Designer仿真的基本步骤如下:

1)        装载与电路仿真相关的元件库

2)        在电路上放置仿真元器件(该元件必须带有仿真模型)

3)        绘制仿真电路图,方法与绘制原理图一致

4)        在仿真电路图中添加仿真电源和激励源

5)        设置仿真节点及电路的初始状态

6)        对仿真电路原理图进行ERC检查,以纠正错误

7)        设置仿真分析的参数

8)        运行电路仿真得到仿真结果

9)        修改仿真参数或更换元器件,重复5~8的步骤,直至获得满意结果。

2.2、具体实现电路仿真的整个过程

2.2.1、创建工程

1) 在工具栏选择 File » New » Project » PCB Project ,创建一个PCB工程并保存。

2) 在工具栏选择File » New » Schematic,创建一个原理图文件并保存。

2.2.2、原理图展示

测试电路如图 1:

 

图1 

图1

2.2.3、编辑原理图

1、放置有仿真模型的元件

根据上面的电路,我们需要用到元器件“LF411CN”,点击左边“Library”标签,使用search功能查找LF411CN。找到LF411CN之后,点击“Place LF411CN”,放置元件,若提示元件库未安装,需要安装,则点击“yes”,如图2:

图2

 

图2

在仿真元件之前,我们可以按“TAB”键打开元件属性对话框,在“Designator”处填入U1;接着查看LF411CN的仿真模型:在左下角Models列表选中Simulation,再点击“Edit”,可查看模型的一些信息,如图 3。

 

图3

图3

从上图可以看出,仿真模型的路径设置正确且库成功安装。点击“Model File”标签,可查看模型文件(若找不到模型文件,这里会有错误信息提示),如图 4。

图4

图4

点击“Netlist Template”标签,可以查看网表模板,如图 5。

图5

图5

至此,可以放置此元件。

2、为元件添加SIM Model文件

用于电路仿真的Spice模型(.ckt和.mdl文件)位于Library文件夹的集成库中,我们使用时要注意这些文件的后缀。模型名称是模型连接到SIM模型文件的重要因素,所以要确保模型名称设置正确。查找Altium 集成库中的模型文件步骤如下:点击Library面板的Search按钮,在提示框中填入:HasModel('SIM','*',False)进行搜索;若想更具体些可填入:HasModel('SIM','*LF411*',False)

若我们不想让元件使用集成库中提供的仿真模型,而想用别的模型代替,我们最好将别的模型文件复制到我们的目标文件夹中。

如果我们想要用的仿真模型在别的集成库中,我们可以:

1)       点击File » Open,打开包含仿真模型的库文件(.intlib)

2)        在输出文件夹(打开集成库时生成的文件夹)中找到仿真文件,将其复制到我们自己的工程文件夹中,之后我们可以进行一些修改。

复制好模型文件,再为元器件添加仿真模型。为了操作方便,我们直接到安装目录下的“Examples/CircuitSimulation/Filter”文件夹中,复制模型文件“LF411C.ckt”到自己的工程文件夹中,接下来的步骤:

1)        在Project面板中,右击工程,选择“Add Existing to Project”,将模型文件添加到本工程中。

2)        双击元件U1,打开元件属性对话框,在Model列表中选择Simulation,点击Remove按钮,删除原来的仿真模型。

3)        点击Model列表下方的Add下拉按钮,选择“Simulation

4)        在Model Sub-Kind中选择“Spice Subcircuit”,使得Spice的前缀为“X

5)        在Model Name中输入“LF411C”,此时AD会搜索所有的库,来查询是否有与这名称匹配的模型文件。如果AD找到一个匹配的文件,则立即停止寻找。对于不是集成库中的模型文件,AD会对添加到工程的文件进行搜索,然后再对搜索路径(Project » Project Options)中的文件进行搜索。如果找不到匹配的文件,则有错误信息提示。

6)        最后的步骤是检查管教映射是否正确,确保原理图中元件管脚与模型文件中管脚定义相匹配。点击“Port Map”,如图 6:

 

图6

图6

修改管脚映射,在Model Pin列表下拉选择合适的引脚,使其和原先的SIM模型(LF411_NSC)相同。我们可以点击Netlist Template 标签,注意到其模型顺序为1,2,3,4,5;如图 7:

图7

 

图7

这些和Model File标签中的.SUBCKT头相对应,如图 8:

图8

图8

因此,在“Port Map”标签中的“Model Pin”列表中,我们可以看到1(1), 2(2), 3(3), 4(4), 5(5),被列举出来,其中第一个数字就是模型管脚(就是Netlist Template中的%1,%2等),而subcircuit的头则对应着小括号里面的数字。在Spice netlist中,我们需要注意其中节点的连接顺序,这些必须和.SUBCKT头中的节点顺序相匹配。

Netlist 头描述了每个管脚的功能,根据这些信息我们可以将其连接到原理图管脚,如:1(1)是同相输入,故需连接到原理图管脚3

原先的管脚映射和修改的管脚映射如图 9:

图9

图9

之后点击“OK”,完成自定义仿真模型的添加。

3、放置有仿真模型的电阻电容

放置电阻前,我们可以按“TAB”键,打开元件属性窗口,设置电阻值;在Model列表中,选中“Simulation”,点击“Edit”,查看仿真模型属性。一般系统默认设置就是正确的,如果没修改过,应该有如图 10属性:

 

图10

图10

 

同理,放置电容的情况也一样,先设置电容值,再查看仿真模型属性,如图 11:

 

图11

图11

4、放置电压源

1)        首先放置VDD电源。使用“Library”面板的search功能,检索关键字“VSRC”;查找到“VSRC”之后,双击元件,若提示集成库未安装则安装,其集成库为“Simulation Sources.IntLib”。

2)        在放置元件前,按“TAB”键,打开元件属性对话框,再编辑其仿真模型属性,先确保其“Model Kind”为“Voltage Source”,“Model Sub-Kind”为“DC Source”。

3)        点击“Parameters”标签,设置电压值,输入“5V”,并使能“Component Parameter”,之后点击OK,完成设置。如图 12:

 

图12

图12

4)        同理放置VSS,并设置其电压值为“-5V

5)       最后添加正弦信号输入:同样是Simulation Sources.IntLib中的VSRC,打开其仿真模型属性对话框,设置“Model Kind ”为“ Voltage Source ”,而 “Model Sub-Kind”设置为“Sinusoidal”。

6)       点击“Parameters”标签,设置电压值,可按如图 13设置:

 

图13

图13

之后点击OK,设置完成,放置信号源。

5、放置电源端口。

1)        点击“Place » Power Port”,在放置前按“TAB”键,设置端口属性。

2)        其中对于标签VDDVSS,其端口属性为“BAR”。

3)        对于标签GND,其端口属性为“Power Ground”。

4)        对于标签OUT(网络),其端口属性为“Circle

6、连线,编译

根据上面的原理图连接好电路,并在相应的地方放置网络标签,之后编译此原理图。

2.2.4、仿真设置

点击“Design » Simulate » Mix Sim”,或是点击工具栏中a1(可通过“View » Toolbars » Mixed Sim”调出)的a2图标,进入设置窗口。如图 14:

 

图14

图14

按照图中显示设置好“Collect Data For”,“Sheets to Netlist”和“SimView Setup”等三个区域,并且我们可以看到有一系列的信号在“Available Signal”中,这些都是AD计算出来并可以进行仿真的信号。如果我们想要观察某个信号,只需将其导入(双击此信号)到右边的“Active Signal”中;同理,若想删除“Active Signal”中的信号,也可以通过双击信号实现。

1、传输函数分析(包括傅立叶变换)设置

传输函数分析会生成一个文件,此文件能显示波形图,计算时间变化的瞬态输出(如电压,电流)。直流偏置分析优先于瞬态分析,此分析能够计算出电路的直流偏置电压;如果“Use Initial Conditions”选项被使能,直流偏置分析则会根据具体的原理图计算偏置电压。

首先应该使能“Transient Analysis”;然后取消“Use Transient Defaults”选项,为了观察到50Khz信号的三个完整波形,我们将停止时间设置为60u;并将时间增长步长设置为100n,最大增长步长为200n。最终设置如图15:

 

图15

图15

2、交流小信号分析设置

交流小信号分析的输出文件显示了电路的频率响应,即以频率为变量计算交流小信号的输出值(这些输出值一般是电压增益)。

1)        首先我们的原理图必须有设置好参数的交流信号源(上面的步骤已经设置好)

2)        使能“AC Small Signal Analysis”选项

3)        然后根据图 16输入参数:

 

图16

图16

(注:如上图,开始频率点一般不设置为0,上图100m表示0.1HZ,结束频率点1meg表示1MHZ;“Sweep Type”设置为“Decade”表示每100测试点以10为底数增长,总共有701个测试点。)

至此,交流小信号分析设置完成。AD进行此电路仿真分析时,先计算电路的直流偏置电压,然后以变化的正弦输入代替原有的信号源,计算此时的电路的输出,输入信号的变化是根据“Test Points”和“Sweep Type”这两个选项进行的。

3、电路仿真与分析

设置完成之后,就可以进行电路仿真——点击“a3”图标。在仿真过程中,AD会将一些警告和错误信息显示在“Message”面板,如有致命错误可根据面板提示信息修改原理图;如果工程无错误,此过程还会生成一个SPICE Netlist(.nxs)文件,且此文件在每次进行仿真时都会重新生成。仿真分析结束会生成打开一个(.sdf)文件,里面显示了电路的各种仿真结果(注:直流偏置最先执行),如图 17:

 

图17

图17

1)        创建波特图

波特图包括了增益和相位信息,我们可以根据交流小信号分析结果得到电路的波特图。首先右击上半部分坐标图的“in”信号,选择“Edit Wave”,打开编辑波形对话框,然后选择左边的“Magnitude (dB)”,再点击“Creat”按钮。如图 18:

 

图18

图18

同理,对输出增益,在上半部分的坐标图中右击,选择“Add Wave to Plot”,在弹出的对话框中“Waveforms”列表选择“out”信号,并在右边的“Complex Functions”列表选择“Magnitude (dB)”,然后点击“Creat”按钮,得到输入输出的增益图。

之后重复上述步骤添加相位图,注意在“Complex Functions”列表选择“Phase (Deg)”,最后结果如图 19:

 

图19

图19

(我们可以在同个坐标图上显示不同的Y轴,使不同的曲线对应不同的Y坐标——只需在编辑或添加波形文件时,选中“Add to new Y axis”即可;若删除坐标轴,相应的曲线也会删除,且在这模式下没有Undo 功能,故误删的话需重新导入曲线。)

2)        使用光标工具分析

点击“DB(out)”曲线,右击选择“Cursor A ”,再右击选择“Cursor B”,打开两个测量光标,将光标按图 20放置:

 

图20

图20

再点击“Sim Data”标签,可以看到此时B-A = -3,且光标B的频率为“20kHz”,如图 21:

 

图21

图21

故3dB点的频率为20kHz。

2.2.5、参数扫描设置

参数扫描功能使得我们能够让特定的元件在一个范围内变化;当然相应的交流、直流或瞬态分析也要使能,才能观察相应的特性曲线或数据。具体步骤如下:

1)        首先点击a2图标,打开设置窗口,使能“Parameter Sweep

2)        接着选择首要扫描参数元件C2,更改参数;再使能第二参数扫描功能,选择C1,更改参数;参数设置如图 22:

 

 图22

图22

设置好之后,点击Ok,进行电路仿真。仿真后的一些结果如图 23,图 24与图 25:

 

图23

图23

 

图24

图24

 

图25

图25

点击相应的曲线,相应的元件(电容)参数会在左下角显示。

2.2.6、高级设置

Advanced Options”设置页面包含一系列的内部SPICE选项,这些选项会影响仿真计算速度,像错误容量和重复限制等。如图 26

 

图26

图26

一般按着系统默认的设置就可以进行仿真,若想修改参数只需在相应的条目修改Value值即可。设置“Integration method”从Trapezoidal 到 Gear,则计算时间变长,但仿真效果更好,若选择更高的Gear值,效果更好,时间更长。

2.2.7、使用SPICE Netlist进行仿真

上文提到软件仿真时会生成SPICE Netlist(.nsx)文件,我们也可以根据这个文件进行电路仿真分析。我们也可以通过点击a4图标生成此文件,然后通过此文件进行仿真。设置更改时点击Simulate » Setup,进行仿真:Simulate » Run

 

 

 

原版的英文文件在安装目录的help文件夹中,命名为:TU0106 Defining & running Circuit Simulation analyses

这里有个下载链接,也可以直接从这里下载:http://download.csdn.net/source/2560653

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

Altium Designer中的电路仿真 的相关文章

  • 根据特定参数值显示或隐藏 SSRS 列

    我无法根据所选参数值显示 隐藏列 我的报告是如何设置的 参数 ImportStatus ImportStatus 参数有三个值可供选择 M V E 如果我选择 ImportStatus value M 那么我希望报告显示特定列 目前 如果我
  • 使用 CSS 时链接不起作用

    我遇到了一个无法通过谷歌搜索解决的问题 我有一个静态 HTML
  • 通过 Laravel 中的链接 href 传递 id

    是否可以通过 Laravel 中的链接 href 传递 id 并显示该页面 例如 projects display 2 我有这个链接 td a href class btn btn info View a td 当鼠标悬停在链接上时 它将
  • 带参数的 C# ReportViewer 本地报表

    大家下午好 过去 2 周的大部分时间我都在寻求有关 C WinForm 应用程序问题的帮助 我有一个表单 其中有一个 DataGridView 显示从数据库中提取的详细信息 当用户双击该网格中的一行时 代码从 CustomerID 列中获取
  • 如何在参数 $_GET 中使用变量?示例:($_GET[$my_var])

    我正在开发一个WordPress插件 GET的参数根据用户的偏好通过Wordpress管理面板记录在数据库中 以下验证必须通过 GET 进行 这是函数 db url get option my get url returns the val
  • 使用多个字段对 solr 搜索结果进行排序 (solrj)

    我需要根据两个因素对从 apache solr 返回的结果进行排序 我们的系统中有三个实体由 solr 索引 组 项目和数据集 在结果中我希望首先显示数据集 然后是项目 然后是组 但我仍然希望它尊重每种类型的评分值 因此 例如 结果将是 得
  • LdapConnection SearchRequest 抛出对象不存在错误

    我正在尝试查询 LDAP 服务器以查找 LDAP 用户并将其导入到我的系统中 但是 当我尝试执行此操作时 请求会抛出DirectoryOperationException 说The object does not exist ldapCon
  • 冷融合和分页

    首先 我对 ColdFusion 很陌生 但学得很快 因此 我正在尝试构建一个大型数据库 最初每页显示 25 行的所有结果 并有一个下一个 上一个链接来浏览页面 这一切都工作正常 但是当我执行搜索时 当新结果显示大约几页时 分页链接不起作用
  • Jquery 搜索 - 不区分大小写

    我在 Jquery 脚本上获得了一些帮助 该脚本创建了可搜索 可切换的常见问题解答 代码可以在这里看到 http jsfiddle net pT6dB 62 http jsfiddle net pT6dB 62 问题是 如果单词 How 带
  • ASP.NET MVC 中使用 jQuery 进行 Ajax 调用不传递参数

    路线是 routes MapRoute Ajax Route name BizTalk Services action URL with parameters new Parameter defaults controller BizTal
  • 在 bash 中使用正则表达式从字符串中提取信息

    我在 bash 中有一个字符串变量 如下所示 SOGoTimeFormat H M SOGoMailShowSubscribedFoldersOnly 0 SOGoMailSignaturePlacement below SOGoLangu
  • 获取特定参数的值 - Rails

    在特定控制器中 我有以下参数列表 Parameters user gt id 32 email email protected cdn cgi l email protection created at 2014 04 10T13 13 4
  • 为什么使用 Dijkstra 算法而不是最佳(最便宜)优先搜索?

    从我到目前为止所读到的来看 这最佳优先搜索 https en wikipedia org wiki Best first search在找到到达目标的最短路径方面似乎更快 因为 Dijkstra 算法在遍历图时必须放松所有节点 是什么让 D
  • 比 O(n) 更好的范围交集算法?

    范围交集是一个简单但不平凡的问题 已经回答过两次了 查找数字范围交集 https stackoverflow com questions 224878 find number range intersection 比较日期范围 https
  • Excel VLOOKUP 和 SEARCH 组合

    我试图在文本列中搜索文本字符串的一部分并返回第二列 希望这通过一个示例更有意义 请注意 这个示例是编造的 我无法发布我正在使用的确切数据 但这与它类似 例如 A D E Really good dog Good dog text1 red
  • 方法参数数组默认值[重复]

    这个问题在这里已经有答案了 在 C 中 可以在方法中使用默认参数值 例如 public void SomeMethod String someString string value Debug WriteLine someString 但现
  • 将搜索栏从 magento 主页的标题中移动

    我是 magento 的新手 我想将搜索栏从标题移动到主页的中间位置 以便它仅显示在主页上 我在 magento 论坛上阅读了许多相关答案 但所有人都在尝试编辑 box css 中的 mini search 元素 但不幸的是我在此文件中没有
  • R:返回数据框中匹配的行数和列数

    emperor lt rbind cbind Augustus Tiberius cbind Caligula Claudius 如何返回包含序列 us 的所有单元格的行号和列号 即 1 1 1 2 2 2 我们可以使用grepl得到一个v
  • 通过电子邮件搜索将 Excel 2003 中的数据行复制并粘贴到不同的工作表

    在任何人发表任何言论之前 我已经浏览了几篇与此类似想法相关的帖子 采用不同的搜索条件 然后对其进行修改 但我无法让宏正常工作 这可能是由于我缺乏编程知识 我想做的就是 search的电子邮件地址工作表1如果找到 则将整行复制到下一个空闲行工
  • Spring Boot 文件上传错误请求 400

    你好 我正在使用 Spring Boot 和 AngularJs 编写一个 Web 应用程序 需要一个简单的文件上传 但目前无法正常工作 我已经读到 当 mvc 依赖项存在时 Spring Boot 应该自动配置分段上传本身 从 https

随机推荐

  • Qt源码在32位arm上编译

    本文参考了 https blog csdn net console log article details 122855717 spm 1001 2014 3001 5506 1 下载qt everywhere src 5 12 11 ta
  • 【百度飞浆AI Studio】2、感性快速体验深度学习的线性归回预测房价

    百度学习原文地址 https www paddlepaddle org cn documentation docs zh 1 5 beginners guide basics fit a line README cn html import
  • 传输速率单位:比特Byte与字节Bit(不跳动)

    BIT Bit是英文中的单数 指1Bit 从2Bits开始后面就加s了 也就是Bit和Bits实际是同一个数量单位 一个是单数 一个是复数 Bit常用缩写是b 那么bps就是Bit per second 也就是指每秒传输多少个字节 也可写为
  • JAVA开发(Redis的主从与集群)

    现在web项目无处不在使用缓存技术 redis的身影可谓无处不在 但是又有多少项目使用到的是redis的集群 大概很多项目只是用到单机版的redis吧 作为缓存的一块 set get数据 用的不亦乐乎 但是对于高可用系统来说 数据集群是很有
  • Golang切片 slice类型

    因为在Golang中 数组的长度是固定的 一旦定义 在后续的操作中就不能更改长度 在某些实际使用场景中就不是那么的的方便 这个时候我们就可以使用切片 slice 类型 1 slice基本定义 Golang 的 slice 是一个引用类型 内
  • 西门子冗余服务器 系统拷贝,西门子(SIEMENS)冗余系统指南.pdf

    西门子冗余系统指南 Siemens redundancy system introduction 使用入门 Edition 2008 年 1 月 摘 要 本文主要介绍了 SIMATIC H 系统的基本组成 S7 400H 硬件冗余原理 S7
  • IDEA中设置网络代理

    需求 在IDEA中使用Database插件连接数据库时提示我需要安装插件依赖的数据库驱动 大家注意不要把这个数据库驱动和你的项目pom文件中导入的数据库驱动搞混了 不是一回事 选择下载后会自动去maven中央仓库下载 下载很慢很慢 而且好几
  • 使用GSM和Arduino作为GPS的替代品

    在本篇文章中 您将学习到如何通过GSM模块和Arduino而不是使用GPS创建导航系统 在本篇文章结束时 您将可以 解有关GSM模块以及如何将其与Arduino一起使用的更多信息 通过GSM模块制作导航系统 关于导航 在导航系统中 无线站定
  • ios mysql管理_App版本管理-iOS版本 - 数据库设计 - 数据库表结构 - 果创云

    数据库大全 App版本管理 iOS版本 来源 YesApi cn CREATE TABLE yesapi appver ios version id bigint 20 unsigned NOT NULL AUTO INCREMENT ap
  • 必看![文心一言] 中国版ChatGPT“狂飙,傲视诛仙

    最近 有一个叫作ChatGPT的技术产品在社交媒体上引起了热议 这是一种基于人工智能的聊天机器人 能够像人类一样进行对话 目前 它在国外的应用已经非常广泛 而中国地区也在迅速跟进 现在 中国版的文心一言来了 这是一款由百度开发的AI 采用了
  • Flutter 图片加载

    奇技指南 本篇文章你将获得 1 Flutter 图片加载方式 2 Flutter 图片加载源码实现流程 3 Flutter 图片加载优化点有什么 本文转载自奇舞移动技术 Flutter Image 在 Flutter 中 Image 是展示
  • 【PTA】整除光棍

    一 题目 光棍 说的是全部由1组成的数字 比如1 11 111 1111等 传说任何一个光棍都能被一个不以5结尾的奇数整除 比如 111111就可以被13整除 现在 你的程序要读入一个整数x 这个整数一定是奇数并且不以5结尾 然后 经过计算
  • linux中/etc/inittab文件分析

    一 什么是init init是Linux系统操作中不可缺少的程序之一 是一个由内核启动的用户级进程 内核启动 已经被载入内存 开始运行 并已初始化所有的设备驱动程序和数据结构等 之后 就通过启动一个用户级程序init的方式来启动其他用户级的
  • Java中float、double、long类型变量赋值添加f、d、L尾缀问题

    1 添加尾缀说明 我们知道Java在变量赋值的时候 其中float double long数据类型变量 需要在赋值直接量后面分别添加f或F d或D l或L尾缀来说明 其中 long类型最好以大写L来添加尾缀 因为小写l容易和数字1混淆 例如
  • 三分钟了解APS系统中生产计划排程模块的基本原理

    版权声明 本文为CSDN博主 weixin 45414340 的原创文章 遵循CC 4 0 BY SA版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net weixin 45414340 article
  • 【吴恩达-AIGC/ChatGPT提示工程课程】第九章 - 总结

    吴恩达 AIGC ChatGPT提示工程课程 第九章 总结 恭喜你完成了这门短期课程 总的来说 在这门课程中 我们学习了关于prompt的两个关键原则 编写清晰具体的指令 如果适当的话 给模型一些思考时间 你还学习了迭代式prompt开发的
  • python实现简单爬虫和数据可视化-爬取豆瓣top250电影信息

    此内容全程跟着成都工业大学的李巍老师爬虫入门视频敲的代码 如有侵权删 观看的视频链接如下 李巍老师爬虫入门视频 整个爬虫可分为三个部分 1 爬取网页 https movie douban com top250 start 0 2 解析数据
  • feign超时时间设置_Spring Cloud 项目各种超时时间设置详解

    1 本文主要内容 服务之间调用Hystrix针对单个方法超时时间设置 Spring Cloud Gateway 针对单独URL的超时时间设置 2 超时时间设置场景 通常整个系统会有统一的接口超时时间设定 一般情况下的增删改查也都会比较快 但
  • 面试经验分享

    核心 几个大块的内容 前期准备 简历 自信 实力 态度 语言表达 1 简历制作 简历要有特点 将博客 GitHub 自己的作品链接 还有电子版本的简历链接直接写上去 很重要 特长描述 工作经历 岗位职责 技能描述 项目经历描述 每一个项目都
  • Altium Designer中的电路仿真

    今天看了下Altium Designer的电路仿真功能 发现它还是蛮强大的 按着help里面的文档 TU0106 Defining running Circuit Simulation analyses PDF 跑了一下 觉得还行 所以就把