首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
Search
1
在IC617中进行xa+vcs数模混仿
81 阅读
2
科普:Memory Compiler生成的Register file和SRAM有何区别?
73 阅读
3
virtuoso和empyrean alps模拟仿真和混仿教程
73 阅读
4
后仿中$setup,$hold与$setuphold
44 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
35 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vscode
linux
systemverilog
vcs
STM32
PyQT
EDA
FPGA
gvim
cadence
Alist
xilinx
UVM
uos
macos
package
MCU
risc-v
bennyhe
累计撰写
378
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
搜索到
378
篇与
的结果
2026-01-24
从无到有,彻底搞懂MOSFET讲解
作者:鲁肃老师(张飞实战电子高级工程师)我们知道了三极管MOS管在进入饱和导通之前,必然会经过放大区。好在三极管经过放大区的时间很短,但是MOS管在米勒平台这段区域的时间会更长,也会更容易损坏。学海无涯:MOS管快速入门到精通,看看这篇!117 赞同 · 2 评论 文章上面是Vgs波形,接下来我们来看Vds波形是什么样子的。那么,我们知道当Vgs电压达到Vth时,MOS管进入放大导通区域,而此时D端的电位会从原来的200V在t1~t2期间内会有略微的下降。同时,我们也知道,在Vgs电压达到Vth时,Id开始有电流了。我们通过固有转移特性知道,Vgs和Id成比例变化的,所以在米勒平台区域Id电流也是几乎没有变化,理想情况下,我们就认为它们是不变的。那么,到了某一时刻(t3),米勒平台效应就会结束。在米勒平台期间,MOS管的DS内阻Rdson在逐渐变小。工作在米勒平台区域,与工作在平台后的区域,管子的功耗问题。工作在米勒平台区域:管子内阻虽然在变小,但是还是很大。由于电流都是最大,所以功耗大。工作在平台区域之后:由于Rdson极小,所以功耗小。管子工作在饱和导通状态,相对比较安全。但是还是比较怕很高的dv/dt di/dt,因为这样斜率很陡,就会对MOS管产生冲击。一般在半导体器件的数据手册里面,都会标出它所能承受的最大的dv/dt di/dt。实际上MOS管有很多种沟道:最下面的沟道抗冲击最强,不过是英飞凌的,申请了发明专利。我们知道了,MOS管在米勒平台区发热量极大,内部结温很高,如果来了一个很大的冲击能量,还没等到结温往外散掉,就已经损坏了。如果你这个时候,虽然在外部测量到的表面温度不高,但是已经损坏,就是有可能是这个原因所导致的。接下来我们继续研究下面这幅图。在t2~t3期间:放大区在t3之后:饱和区当饱和之后,Rdson很小,分压下来,漏极电压就会很低。理论上Vds直线下降,但事实上是非线性的。在实际测试波形时,中间那一段非线性不一定能测得出来。那么,在t3时刻之后,Vds的曲线就如下图所示。那么接下来讨论t3时刻之后,米勒效应就消失,固有转移特性结束。当米勒效应消失,就只有原来的红色这条回路了。实际上米勒电容和电压也有关系,Crss电容不是一成不变的,与漏极的电压也有关系,漏极电压越高,效应越明显;漏极电压越低,效应不明显。这就是为什么高压的管子怕米勒效应,低压的管子不怕,这都是和漏极电压有关系的。结论:高压系统中的管子,越要注意米勒效应。理论上讲,t3时刻之后,Vds就是Rdson两端的压降,待会儿再讨论这个压降还会受什么因素的影响。我们知道,在米勒平台之后,只有红色这一条回路,Vgs电压继续上升,最终充到12V。对于MOS管来说,放大区是危险区域。那么进入饱和区之后,还要深入去研究Rdson,也就是说,在饱和区内Rdson还会受到Vgs电压幅值的影响。为什么呢?理论上讲,过了平台区就完全饱和了,而平台区的电压比如说4.5V,那么5V就完全饱和了啊。但事实上,由于MOSFET内在的特性,Rdson还没达到最小,随着Vgs两端电压幅值的升高,Rdson还会继续降低。那么,是不是Vgs越大越好呢?实际上,当电压大于10V时,Rdson就变化不那么明显了。所以,一般我们都用12V 15V作为Vgs的驱动电压,一般情况下,Vgs不要超过±20V,否则管子会损坏。那么,一般为了降低导通损耗,就需要提高Vgs,这是因为P=I^2*Rdson。不管是MOSFET还是三极管,幅值都需要限额,包括电压、电流、功率等。这里顺便讲一下器件的电气特性。器件的电气特性:电压、电流、功率(器件本身的损耗)、封装器件的极限:dv/dt ,di/dt,峰值下对应的时间(不能承受太长时间)根据刚刚的分析,t3时刻之后的一小段时间还是有一点点下降的,等到Vgs电压12V时,Rdson才会真正的是一条直线。讲解人:张飞实战电子鲁肃老师https://zhuanlan.zhihu.com/p/381497952
2026年01月24日
1 阅读
0 评论
0 点赞
2026-01-15
shell/cshell/bash 知识汇总
(1)shell获取字符串第1个字符str="/home/gateman" if [ ${str:0:1} = "/" ]; then echo "yes' fi
2026年01月15日
6 阅读
0 评论
0 点赞
2026-01-12
计算机体系架构——一文读懂Cache(一)
0 绪论最近需要开个新坑,讲讲计算机体系架构方面的东西。这方面应用最为广泛的是一个叫cache的东西。这方面内容图比较多,不想自己画了,所以图都来自《Computer Architecture : A Quantitative Approach》。这是一本体系架构方面的神书,推荐大家看一下。本文主要内容如下,基本涉及了cache的概念,工作原理,以及保持一致性的入门内容。1 为什么需要Cache1.1 为什么需要Cache我们首先从一张图来开始讲为什么需要cache.上图是CPU性能和Memory存储器访问性能的发展。我们可以看到,随着工艺和设计的演进,CPU计算性能其实发生了翻天覆地的变化,但是DRAM存储性能的发展没有那么快。所以造成了一个问题,存储限制了计算的发展。容量与速度不可兼得。如何解决这个问题呢?可以从计算访问数据的规律入手。我们随便贴段代码可以看到,由于大量循环的存在,我们访问的数据其实在内存中的位置是相近的。换句专业点的话说,我们访问的数据有局部性。我们只需要将这些数据放入一个小而快的存储中,这样就可以快速访问相关数据了。总结起来,Cache是为了给CPU提供高速存储访问,利用数据局部性而设计的小存储单元。1.2 实际系统中的Cache我们展示一下实际系统中的cache。如上图所示。整个系统的存储架构包括了CPU的寄存器,L1/L2/L3 CACHE,DRAM和硬盘。数据访问时先找寄存器,寄存器里没有找L1 Cache, L1 Cache里没有找L2 Cache依次类推,最后找到硬盘中。同时,我们可以看到,速度与存储容量的折衷关系。容量越小,访问速度越快!其中,一个概念需要搞清楚。CPU和Cache是word传输的,而Cache到主存是以块传输的。一块大约64Byte.现有SOC中的Cache一般组成如下。1.3 Cache的分类Cache按照不同标准分类可以分为若干类。按照数据类型划分:I-Cache与D-Cache。其中I-Cache负责放置指令,D-Cache负责方式数据。两者最大的不同是D-Cache里的数据可以写回,I-Cache是只读的。按照大小划分:分为small cache和large cache。没路组(后文组相连介绍)<4KB叫small cache, 多用于L1 Cache, 大于4KB叫large cache。多用于L2及其他cache.按照位置划分:Inner Cache和Outer Cache。一般独属于CPU微架构的叫Inner cache, 例如上图的L1 L2 CACHE。不属于CPU微架构的叫outer cache.按照数据关系划分:Inclusive/exclusive Cache: 下级Cache包含上级的数据叫inclusive cache。不包含叫exclusive cache。举个例子,L3 Cache里有L2 Cache的数据,则L2 Cache叫exclusive cache。2 Cache的工作原理要讲清楚Cache的工作原理,需要回答4个问题:数据如何放置数据如何查询数据如何被替换如果发生了写操作,cache如何处理2.1 数据如何放置这个问题也好解决。我们举个简单的栗子来说明问题。假设我们主存中有32个块,而我们的cache一共有8个cache行( 一个cache行放一行数据)。假设我们要把主存中的块12放到cache里。那么应该放到cache里什么位置呢?三种方法:全相连(Fully associative)。可以放在cache的任何位置。直接映射(Direct mapped)。只允许放在cache的某一行。比如12 mod 8组相连(set associative)。可以放在cache的某几行。例如2路组相连,一共有4组,所以可以放在0,1位置中的一个。可以看到,全相连和直接映射是Cache组相连的两种极端情况。不同的放置方式主要影响有两点:组相连组数越大,比较电路就越大,但Cache利用率更高,cache miss发生的概率小。组相连数目变小,cache经常发生替换,但是比较电路比较小。这也好理解,内存中的块在cache中可放置的位置多,自然找起来就麻烦。2.2 如何在Cache中找数据其实找数据就是一个比对过程。如下图所示。我们地址都以Byte为单位的。但主存于cache之间的数据交换单位都是块(block,现代cache一般一个block大约64Byte)。所以地址对最后几位是block offset。由于我们采用了组相连,则还有几个比特代表的是存储到了哪个组。组内放着若干数据。我们需要比较Tag, 如果组内有Tag出现,则说明我们访问的数据在缓存中,可以开心的使用了。比如举个2路组相连的例子。如下图所示。T表示Tag。直接比较Tag,就能得知是不是命中了。如果命中了,则根据index(组号)将对应的块取出来即可。如上图所示。用index选出位于组相连的哪个组。然后并行的比较Tag, 判断最后是不是在cache中。上图是2路组相连,也就是说两组并行比较。那如果不在缓存中呢?这就涉及到另一个问题。不在缓存中如何替换cache?2.3 如何替换Cache中的数据cache中的数据如何被替换的?这个就比较简单直接。随机替换。如果发生cache miss里随机替换掉一块。Least recently used. LRU。最近使用的块最后替换。First in, first out (FIFO), 先进先出。实际上第一个不怎么使用,LRU和FIFO根据实际情况选择即可。cache在什么时候数据会被替换内?也有几种策略。不在本cache替换。如果cache miss了,直接转发访问地址到主存,取到的数据不会写到cache.在读MISS时替换。如果读的时候cache里没有该数据,则从主存读取该数据后写入cache。在写MISS时替换。如果写的时候cache里没有该数据,则将本数据调入cache再写。2.4 如果发生了写操作怎么办Cache毕竟是个临时缓存。如果发生了写操作,会造成cache和主存中的数据不一致。如何保证写数据操作正确呢?也有三种策略。通写:直接把数据写回cache的同时写回主存。极其影响写速度。回写:先把数据写回cache, 然后当cache的数据被替换时再写回主存。通写队列:通写与回写的结合。先写回一个队列,然后慢慢往主存储写。如果多次写同一个数据,直接写这个队列。避免频繁写主存。3 Cache一致性Cache一致性是Cache中遇到的比较坑的一个问题。什么原因需要cache处理一致性呢?主要是多核系统中,假如core 0读了主存储的数据,写了数据。core 1也读了主从的数据。这个时候core 1并不知道数据已经被改动了,也就是说,core 1 cache中的数据过时了,会产生错误。Cache一致性的保证就是让多核访问不出错。Cache一致性主要有两种策略。策略一:基于监听的一致性策略这种策略是所有cache均监听各cache的写操作,如果一个cache中的数据被写了,有两种处理办法。写更新协议:某个cache发生写了,就索性把所有cache都给更新了。写失效协议:某个cache发生写了,就把其他cache中的该数据块置为无效。策略1由于监听起来成本比较大,所以只应用于极简单的系统中。策略二:基于目录的一致性策略这种策略是在主存处维护一张表。记录各数据块都被写到了哪些cache, 从而更新相应的状态。一般来讲这种策略采用的比较多。又分为下面几个常用的策略。SI: 对于一个数据块来讲,有share和invalid两种状态。如果是share状态,直接通知其他cache, 将对应的块置为无效。MSI:对于一个数据块来讲,有share和invalid,modified三种状态。其中modified状态表表示该数据只属于这个cache, 被修改过了。当这个数据被逐出cache时更新主存。这么做的好处是避免了大量的主从写入。同时,如果是invalid时写该数据,就要保证其他所有cache里该数据的标志位不为M,负责要先写回主存储。MESI:对于一个数据来讲,有4个状态。modified, invalid, shared, exclusive。其中exclusive状态用于标识该数据与其他cache不依赖。要写的时候直接将该cache状态改成M即可。我们着重讲讲MESI。图中黑线:CPU的访问。红线:总线的访问,其他cache的访问。当前状态时I状态时,如果发生处理器读操作prrd如果其他cache里有这份数据,如果其他cache里是M态,先 把M态写回主存再读。否则直接读。最终状态变为S。其他cache里没这个数据,直接变到E状态。当前状态为S态如果发生了处理器读操作,仍然在S态。如果发生了处理器写操作,则跳转到M状态。如果其他cache发生了写操作,跳到I态。当前状态E态发生了处理器读操作还是E。发生了处理器写操作变成M。如果其他cache发生了读操作,变到S状态。当前状态M态发生了读操作依旧是M态。发生了写操作依旧是M态。如果其他cache发生了读操作,则将数据写回主存储,变换到S态。4 总结cache在计算机体系架构中有非常重要的地位。本文讲了cache中最主要的内容。具体细节可以再根据某个点深入研究。https://zhuanlan.zhihu.com/p/386919471
2026年01月12日
3 阅读
0 评论
0 点赞
2026-01-12
GitHub上Star量最高的5个机器学习项目
本文介绍了 GitHub 上 star 量最高的 5 个机器学习项目,涉及人脸识别、文本处理、机器学习框架等。选自towardsdatascience,作者:Rishi Sidhu,机器之心编译参与:Nurhachu Null、Geek AI。机器学习领域正在飞速发展。GitHub 是一张举世瞩目的白板,高质量的代码通常被发布在这张充满智慧的无限大白板上。显然,我们不可能追踪机器学习世界中的所有东西,但是 GitHub 上每个项目都具备自己的 star 量。即,如果你标星了一个仓库,这意味着你对这个项目表达了赞赏,同时也跟踪了你觉得有意思的仓库。星数排名可作为了解最受关注项目的重要指标。本文就介绍了机器学习领域星数排名最高的 5 个项目。Face Recognition:26073★GitHub 地址:https://github.com/ageitgey/face_recognition?source=post_page---------------------------这是世界上最简洁的人脸识别工具。它提供对 Python 和命令行的应用程序接口(API),其用途是识别以及操作图像中的人脸。它使用 Dlib 最先进的人脸识别算法构建,该深度学习模型在 LFW(Labeled Faces in the Wild)数据集上达到了 99.38% 的准确率。它还提供了 face_recognition 命令行工具,它可以让你在包含图像的文件夹中使用命令行来进行人脸识别!这个库还可以处理实时人脸识别。动图封面fastText:18931 ★GitHub 地址:https://github.com/facebookresearch/fastText?source=post_page---------------------------fastText 是由 Facebook 团队开发的免费开源库,用于高效词表征学习。它是轻量级的,允许用户学习文本表征和句子分类器。它可以在标准通用硬件上运行,模型甚至可以被压缩到适应移动设备的大小。文本分类是很多应用的核心问题,例如垃圾邮件检测、情感分析或智能回复。文本分类的目标是给文档(例如电子邮件、博客、短信、产品评论等)分配多个类别。词类示例(图源:Alterra.ai)对自然语言处理(NLP)爱好者而言,这是一款非常有用的工具。图源:https://fasttext.cc/?source=post_pag (https://fasttext.cc/?source=post_pag%EF%BC%89)Awesome TensorFlow:14501★GitHub 地址:https://github.com/jtoy/awesome-tensorflow这是一个帮你理解和使用 TensorFlow 的资源集合。该 repo 涵盖一系列资源列表,如很棒的 TensorFlow 实验、库和项目。TensorFlow 是 Google 开发的端到端开源机器学习平台。它有全面的生态系统,包括工具、库和社区资源,允许研究者创建最先进的机器学习算法。使用 TensorFlow,开发者可以很容易地构建并部署由机器学习驱动的应用。图源:https://www.tensorflow.org/tutorials/keras/basic_classification?source=post_pageApache predictionio 11866 ★GitHub 地址:https://github.com/apache/predictionioApache PredictionIO 是供开发者、数据科学家和终端用户使用的开源机器学习框架。用户可使用该框架构建真实的机器学习应用,并进行部署和测试。它甚至支持事件收集、评估,以及查询预测结果。它基于可扩展的开源服务,如 Hadoop、HBase 等。就机器学习而言,该工具减轻了开发人员的思维负担。图源:http://predictionio.apache.org/appintegration/?source=post_pageStyle2Paints:9860 ★GitHub 地址:https://github.com/lllyasviel/style2paints该 repo 与前面 4 个有点不一样,因为缺乏资金,它已经被关闭了!它确实是一个有趣的设想,使用 AI 给图像上色。创建者称 Style2paints V4 是当前最好的 AI 线稿上色工具。他们称这个项目与之前的端到端图像转换方法不同,因为它是第一个用真实的人类作业流程为线稿上色的系统。很多艺术家熟悉这个流程。素描-->彩色填充/扁平化-->渐变/细节添加-->阴影处理Style2Paints就是根据这个流程设计的。只用两次点击,该流程就可以使下图中最左的图变成中间的图。图源:https://style2paints.github.io/?source=post_page仅仅点击 4 次,你就能够得到下面这张图:图源:https://github.com/lllyasviel/style2paints?source=post_page原文链接:https://towardsdatascience.com/
2026年01月12日
3 阅读
0 评论
0 点赞
2026-01-12
Python 与 Excel 终于互通了 !
作者:Python开发者来源:机器之心很多开发者说自从有了 Python/Pandas,Excel 都不怎么用了,用它来处理与可视化表格非常快速。但是这样还是有一大缺陷,操作不是可视化的表格,因此对技能要求更高一点。近日,开发者构建了名为 Grid studio 的开源项目,它是一个基于网页的表格应用,完全结合了 Python 和 Excel 的优势。是的,在一个界面上同时展示可视化表格与代码,而且同时通过表格与代码修改数据,这不就是 Python 与 Excel 的结合吗?项目地址:https://github.com/ricklamers/gridstudio我们先看看 Grid studio 的效果到底是什么样的。总体而言,我们既可以通过 Python 加载和处理数据,也能通过「Excel」操作数据。在 Python 上处理数据比较好理解,表格上处理数据其实非常像 Excel,如下所示为写一个求和公式。也许我们在表格上改了些数据,那么我们也能导入到 NumPy 数组,并做进一步的运算。为什么要创建这个工具?作者表示,他创建 Grid studio 主要是用来解决数据科学项目中工作流分散的问题,在这种项目中,他要在 R studio、Excel 等多个工具之间换来换去。在为 gazillionth-time 导出 CSV 文件时,如果行数过高,应用程序窗口就会卡顿。即使是做一些简单的事情,比如读取 JSON 文件,也能把人逼疯。现有的工具无法提供高效工作所需的环境和相关工作流,这也是作者决定构建该工具的原因。他想要创建一个易用的应用程序,可以把数据科学工作流整合进去。这个工具有何亮点?Grid studio 是一个基于网页的应用,看起来和 Google Sheets、Microsoft Excel 差不多。然而,它的杀手锏是整合了 Python 语言。几乎所有使用过计算机的人都会很自然地使用表格来查看和编辑数据。将这个简单的 UI 与 Python 这种成熟的编程语言结合起来简直不要太好用。用 Python 编写脚本非常简单:只需编写几行代码直接运行即可。核心集成:读、写这一 Python 集成的核心是对电子表格的读写接口,它可以在电子表格的数据和 Python 进程中的数据之间建立一个高性能的连接。可以用以下方式在表格中写入数据:sheet("A1:A3", [1, 2, 3])用以下这种方式从表格中读取数据:my_matrix = sheet("A1:A3")你可以通过这种简单而高效的方式直接在表格中读取或写入数据,以自动化数据输入、提取、可视化等过程。编写定制化表格函数虽然通过一个简单的接口完成读写非常灵活,但有时编写可以直接调出的定制化函数也很重要。除了 AVERAGE、SUM、IF 这些默认函数外,你可能还需要其他函数,那么写出来就好了!def UPPERCASE(a):return str(a).uppercase()写完这行代码后,在表格中调出该函数,就像调用常规函数一样。利用 Python 生态通过利用 Python 生态中各种强大的软件包,我们能立即访问到当前最优的数据科学工具,因此也能快速访问到强大的模型,例如线性回归和支持向量机等。因为本身 Grid studio 主要就是处理表格数据,那么将它们作为特征可以快速调用 SVM 等模型,从而探索隐藏在这些数据背后的特征。数据可视化在数据科学中,很常见的一个任务就是可视化数据,这样才能获得关于数据的「先验知识」。通过集成交互式绘图库 Plotly.js 和 Python 标准可视化库 Matplotlib,Grid studio 目前已经内置了高级绘图功能。如下所示我们可以在向量表格格式上使用高级绘图功能:为了进一步解释如何使用 Grid studio 的特征以构建可视化图标,项目作者还展示了两个案例,即爬取网页与可视化数据分布,但这里主要展示第一个案例。案例:估计正态分布如下案例展示了 Grid studio 的强大功能,它会以更高的保真度通过 Plotly.js 可视化正态分布,我们可以看看交互式制图到底是如何完成的。使用安装前面介绍了这么多特性,那么我们到底该怎么用呢?Grid studio 的安装和使用都非常简单,通过简单的命令行就能搞定。git clone https://github.com/ricklamers/gridstudiocd gridstudio && ./run.sh如上通过下载项目、运行安装脚本两步,我们就能在浏览器中打开本地端口,然后就能愉快地使用了。参考链接:https://hackernoon.com/introducing-grid-studio-a-spreadsheet-app-with-python-to-make-data-science-easier-tdup38f7https://github.com/ricklamers/gridstudiohttps://gridstudio.io
2026年01月12日
5 阅读
0 评论
0 点赞
1
2
...
76