ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从三体人列计算机到CMOS电路:计算本质的跨越

从三体人列计算机到CMOS电路:计算本质的跨越 我一个做嵌入式的老同学最近聊起《三体》里的“人列计算机”——就是秦始皇指挥三千万士兵举旗子当逻辑门用旗语算题那段。他说这段虽然震撼但总感觉不太真实问我这玩意儿到底能不能算算得有多快跟我们现在用的芯片又有什么关系这一下把我问住了我连夜翻书、查资料、还顺手把LTSpice里的CMOS反相器仿真重新跑了一遍。写完这篇稿子算是把“从人列计算机到CMOS电路”这条线彻底捋清楚了。这期就好好聊聊科幻里的人列计算机是怎么用最原始的方式实现“计算”的以及它的原理如何一步步映射到今天半导体工艺最核心的CMOS电路上。这个内容特别适合两类人一类是读《三体》读得热血沸腾、想知道里面科学技术到底靠不靠谱的科幻迷另一类是刚开始接触数字电路、学CMOS逻辑门和版图总觉得脑子里缺一张“物理图景”的电子工程师或在校生。看完你会明白所谓计算说到底就是“规则化的开关”而三体人的举旗子和芯片里的MOS管本质上是同一件事。1. 人列计算机的计算原理剖析1.1 三千万士兵如何组成一台计算机《三体》第一部里冯·诺依曼在秦朝大殿上给秦始皇画的“人列计算机”图纸是一个金字塔形的结构。底层是密密麻麻的士兵一层一层往上信号靠旗语或者像书中描述的那样靠士兵举旗、放旗逐级传递。每个士兵不是一个“算数的人”而是一个逻辑门他接收到左右两旁传过来的信号根据预设的规则比如“两个旗子都举起来我才举旗”再决定自己举不举旗。这个规则就是逻辑运算中的“与门”或者“或门”。关键的设计思路在于士兵并不知道自己在算什么他只需要遵守极其简单的本地规则但无数个本地规则叠加起来就构成了全局的计算能力。这不只是科幻这正是现代计算机的核心组织原则用大量低智能的基本单元通过局部互联涌现出全局智能。一个CPU芯片里有上百亿个晶体管每个晶体管做的事情比一个士兵简单得多——它只是一个受电压控制的开关。但一百亿个开关按规则连在一起就能跑操作系统、跑神经网络、跑原子弹仿真。秦始皇的三千万人列计算机采用的是二进制用旗子举起来表示“1”放下表示“0”书中还有用白旗、黑旗区分的设定具体颜色其实不重要关键是两种可区分的状态。这套体系和现代数字电路完全一致高电平代表“1”低电平代表“0”。没有第三种状态因为物理实现越简单越可靠。冯·诺依曼给秦始皇画的架构里把人分成了几个功能块一部分人当“运算器”一部分人当“存储器”一部分人负责“控制器”还有信号在中间源源不断传递。这就是后来著名的冯·诺依曼架构——计算、存储、控制分离通过总线互联。今天你电脑里的CPU加内存加主板芯片组还是这个架构。三千年没变过。人列计算机的运算速度原作里有一个估算每秒钟大概能执行十几次操作。为什么这么慢因为信号要从金字塔底层逐级传到顶层每传一级需要士兵反应一下这个延迟是不可压缩的。相比之下现代CPU的主频是几十亿赫兹。差距在哪里不是逻辑原理而是开关速度。士兵举起一面旗子需要零点几秒晶体管翻转只需要几十皮秒相差十几个数量级。原理相同物理载体不同性能天上地下。1.2 十进制逻辑门与冯·诺依曼结构的映射关系有人可能好奇三体人用的是十进制三体文明有十根手指的设定还蛮贴合地球人为什么人列计算机偏偏要改成二进制其实在真实历史中早期计算机也走过十进制的弯路比如ENIAC就是十进制电子管计算机用了上万个电子管运算逻辑极难设计布线像迷宫。后来冯·诺依曼在EDVAC方案里果断改成二进制核心原因就是从物理实现上二进制只需要区分“通”与“断”不要求精确分辨十种不同电压或电流状态。《三体》里冯·诺依曼给秦始皇画的方案同样选二进制分寸感拿捏得很准。三千万士兵在操场上列队如果要求他们精确传递十种信号比如举旗高度分成十档且不说人眼能不能分辨光是“信号衰减”就足以让整个系统崩溃——远处士兵看一眼近处士兵举到“7分高度”他很难判断这是“7”还是“8”错误会逐级放大。而二进制只要判断“举了”还是“没举”容错能力高得多。这实际上就是数字电路极重要的“噪声容限”问题现代芯片用一个阈值电压来判断高低电平只要干扰不越过阈值信号就不会出错。三体人用人眼当阈值检测器现代芯片用晶体管当阈值检测器都是同一套逻辑。冯·诺依曼结构映射到现代CMOS电路可以按照下面这张表来对照人列计算机组件功能说明现代CMOS对应物举旗士兵单个逻辑门执行与/或/非运算CMOS门电路NAND/NOR/INV旗语信号线在单元之间传递数据金属互连线Metal Interconnect负责存储的方阵暂存中间数据锁存器、静态随机存取存储器SRAM单元旗语广播与时钟节拍同步协调全局动作时钟树Clock Tree全局时钟分配网络秦始皇的“指令”调度控制逻辑控制单元Control Unit、状态机这张表建议你收藏。理解人列计算机之后再学CMOS完全是降维打击——你早就知道“逻辑门是谁、信号走哪条路、存储在哪里”只是把“士兵”换成“晶体管”“旗语”换成“电压”“操场”换成“硅片”而已。2. 从人列计算机到CMOS那些“开关”如何从人变成了晶体管2.1 为什么计算最终选择了MOSFET士兵举旗虽然能实现逻辑但有一个致命的物理瓶颈人太重、太慢、太费粮食。一台人列计算机需要三千万人一天的口粮是个天文数字而且士兵会疲惫、传错口令、生病。这就是“计算载体”的可靠性问题。真实计算机的发展史本质上就是寻找更快、更小、更可靠、更省电的“开关”的历史。第一代计算机用继电器——靠电磁铁吸合触点的机械开关一秒钟能开关几十次但触点会磨损、火花会烧蚀而且体积大得吓人。第二代换电子管开关速度提升到微秒级别但功耗极高发热量让机房像烤箱还动不动就烧坏。ENIAC有近一万八千只电子管平均每几天就有一只失效。第三代是晶体管它没有机械运动部件、没有灯丝加热、寿命长、功耗低、体积小是电子设备里第一个真正可靠、快速、可大规模集成的电子开关。为什么最终是金属氧化物半导体场效应晶体管MOSFET而不是双极型晶体管BJT一统天下一个重要原因是MOSFET是电压控制型器件栅极电压决定源漏之间能不能导通栅极几乎不取电流。这带来的好处是当一个MOS管的输出接到下一级的栅极时它只需要“提供电压”就能驱动后面不需要提供大电流。这意味着可以把无数个管子直接级联而不用担心“上一级驱动能力不够”也意味着电路静态功耗接近零。而BJT是电流控制型器件基极需要持续注入电流多级级联的功耗会大得多。打个比方MOSFET就像一个只需要“下命令”的军官而BJT像必须“亲自动手推”的苦力。大规模集成只有选前者。人列计算机的归谬点在于一个“逻辑门”占一个人的身体舞台上永远不可能集成上亿人。而MOSFET的“栅极-源极-漏极”结构把一个逻辑门压缩到微米甚至纳米尺度在一块指甲盖大小的芯片上放置数百亿个开关。尺度决定了计算力的量级这是半导体工艺几十年来不断追求特征尺寸缩小的底层驱动力。2.2 CMOS反相器计算世界的基本单元在所有CMOS电路里最基础的门电路就是反相器Inverter它把输入的“0”变成“1”把“1”变成“0”。反相器由两个互补的晶体管组成一个PMOSP型金属氧化物半导体管放在上面连接电源一个NMOSN型金属氧化物半导体管放在下面连接地。我见过太多新手一开始背电路图却不知道背后物理原理。解释一下PMOS管当栅极电压为低0时导通高1时关断NMOS管恰好相反栅极为高1时导通低0时关断。这两个管子“你导通我关断、我导通你关断”像两个以摔跤的对手交替按着对方于是输出永远是输入的反相。这个“互补”结构正是CMOS名字里“C”的由来Complementary互补。反相器的输入接到两个管子的栅极。输入为高时NMOS导通、PMOS关断输出被下拉到地输出低电平输入为低时NMOS关断、PMOS导通输出被上拉到电源电压输出高电平。关键是在稳定的“0”态和“1”态总有一个管子是关断的因此电源到地之间没有直流通路静态功耗几乎为零。这是CMOS区别于早期逻辑电路的巨大优势只有翻转的一瞬间才消耗动态功耗静静待着的时候几乎不耗电。这也是为什么CMOS技术从20世纪80年代起全面碾压TTL晶体管-晶体管逻辑成为数字芯片的绝对主流。从反相器往上一层两个反相器串联起来加两个传输门就能组成D触发器D Flip-Flop的一个基本存储环节。还记得《三体》里那些“负责存储的方阵”吗现代电路中的存储单元就是由这样一对反相器组成的交叉耦合正反馈结构把一个电平“锁住”。三体人用一排举着旗子的士兵锁住一个值现代芯片用两个反相器锁住一个位。原理一模一样。2.3 从逻辑门到触发器再到图像传感器CMOS的广泛版图CMOS字面上是工艺实际应用却远远超出“逻辑芯片”。早期CMOS工艺只用来做数字逻辑后来工程师发现既然能在同一片硅上同时集成高精度模拟电路和复杂数字逻辑那为什么不在同一颗芯片上把模拟信号感知、放大、数字化统统做完这就催生了CMOS图像传感器CISCMOS Image Sensor的爆发。CMOS图像传感器的核心是一个像素阵列每个像素里有光电二极管把光转成电流再靠几个MOS管做读出、增益切换和行选通。它把“感受光”和“处理数据”放在同一块芯片上成本低、功耗小、集成度高因此从手机摄像头到安防监控再到汽车自动驾驶视觉全面取代了早期的CCD传感器。某无人机航拍机里的摄像头、你手机前置摄像头里的感光芯片绝大多数都是CMOS工艺做的。在嵌入式领域CMOS技术同样无处不在。任何一颗MCU微控制器芯片的核心逻辑都是CMOS门电路很多MCU内部还集成了CMOS工艺的模拟外设、传感器前端、射频前端。理解CMOS反相器的原理等于掌握了嵌入式系统“铁皮之下”的第一块基石。很多人写了几年代码对GPIO引脚为什么能推挽输出、为什么上拉输入比下拉常见、为什么开漏输出需要外部上拉全都一头雾水。其实这些行为都源自CMOS管的结构。再说一个非常实际的连接点逻辑门构成D触发器。在实际的时序电路设计中D触发器是最重要的存储单元没有之一。一个常见的正沿触发的D触发器由两个反相锁存器主从级联或者说两个“锁存器”背靠背中间用传输门做时钟控制的“门闩”。CMOS工艺里传输门恰好就是由一个PMOS和一个NMOS并联组成的开关。这又回到“互补”两个字一个管子负责通过强“1”另一个负责通过强“0”合起来才能无损传输任何电平。三体人用“士兵手臂挡不挡路”当开关CMOS用“传输门”当开关都是路由信号只是尺度透明到看不见。3. CMOS电路的核心实现电路图、版图与截面图3.1 怎么看懂一张CMOS反相器电路图很多朋友学CMOS卡在电路图上。真不难。认清一个规律PMOS向上指NMOS向下指这是画图约定。PMOS的源极接高电位VDD漏极接输出NMOS的源极接低电位GND漏极也接输出。两个栅极连在一起就是输入。输出从两个漏极的公共节点引出。反相器的电路图只有两个管子但做集成电路时还涉及一个关键器件阱Well。现实中CMOS工艺是在同一块P型硅衬底上做的但PMOS需要一个N型的“游泳圈”区域把它隔离起来这叫N阱NMOS可以直接做在P衬底上。所以芯片物理结构上“N阱里的PMOS”和“P衬底上的NMOS”是分开的。这就是为什么版图里能看到一大块N阱区域里放着PMOS。阱的存在是为了让每个晶体管有正确的偏置条件、避免衬底电流串扰这直接关系到闩锁效应Latch-up风险后面讲。还有一个关键参数是宽长比W/L沟道宽度与沟道长度的比值。NMOS的载流子电子迁移率高同样的尺寸导通能力更强PMOS的载流子空穴迁移率低需要更大的宽度才能获得和NMOS一样的驱动电流。因此反相器里PMOS的宽度通常做成NMOS的两到三倍叫“PMOS:NMOS 2:1 ~ 3:1”。做版图的时候这个比例直接决定了两个管子的物理面积。做数字标准单元库的人最熟悉这套。选一个推导逻辑吧设NMOS的宽长比为1PMOS的宽长比设为2.5或者3这样反相器的上升时间和下降时间大致对称输出波形的占空比才不会畸变。在LTSpice里做仿真可以先从1:1开始再改成3:1对比输出波的上升沿下降沿你会发现上升沿还是明显偏慢因为PMOS天生驱动弱。这个模拟过程足够直观。3.2 版图设计把电路图“画”到硅片上版图Layout是电路设计走向制造的桥梁。工程师要按设计规则Design Rule画出每一层掩膜的形状有源区Diffusion、多晶硅栅Poly、金属互连Metal、接触孔Contact/CT、通孔Via。这些设计规则是由晶圆厂根据光刻、刻蚀、薄膜沉积的工艺能力制定的违反规则轻则性能退化重则芯片直接报废。CMOS反相器的版图一眼看上去很简单一条长条形P衬底区域里画一个NMOS旁边的N阱里画一个PMOS两者的栅极多晶硅连在一起构成输入两个漏极用金属线连到一起构成输出。但“画对”和“画好”完全是两码事。版图里处处都通向“寄生效应”这个坑线长了有电阻线近了有电容晶体管之间靠太近有闩锁风险金属层覆盖太多有天线效应。做模拟版图的人天天在权衡面积、寄生、对称性一个直接的对比是设计需求面积优先性能优先晶体管距离尽量近省面积拉远减少耦合与干扰金属布线层尽量用最小层数多用高层金属低寄生阱接触TAP能省则省必须密集打防闩锁电源地走线窄一点可以尽量宽降IR压降很多初学者一上来就追求“面积最小”结果做出来的版图要么DRC过不了要么流片后良率惨淡。我个人的经验是先满足对称性、再做面积优化。尤其对于差分信号路径两根线必须长得一样宽、一样长否则时钟偏斜和噪声失配会让整个电路性能崩掉。3.3 截面图一颗芯片的“地质剖面”如果说版图是俯视图那截面图就是“地质剖面图”。做半导体的工程师几乎每周都要看截面图——无论是晶圆厂给的工艺文件还是失效分析里的SEM扫描电子显微镜照片都得通过截面图去理解每一层的高低次序和物理厚度。一个CMOS反相器的典型截面结构从下往上大致是硅衬底P型单晶硅→ N阱对PMOS来说→ 有源区源漏的掺杂区→ 栅氧化层极薄的二氧化硅只有几纳米厚→ 多晶硅栅极 → 层间介质把晶体管埋起来→ 钨接触钨插塞把源漏和栅引到上面→ 金属互连层通常是铜或者铝一层一层堆上去层间有通孔连接→ 钝化层保护芯片表面。栅极下方的二氧化硅“栅氧化层”是MOS管最核心的地方。栅极加电压时电场穿过绝缘层在下面感应出导电沟道源漏之间才能导通。这层氧化膜薄得惊人今天的先进工艺只有1到2纳米相当于几个原子的厚度。这也是为什么MOS管是“电压控制”的开关——不是靠电流直接控制而是靠电场感应。理解了这个你就明白为什么静态功耗可以趋近于零栅极上几乎无电流相当于只看电压不下电流。衬底掺杂浓度、阱的深度、栅氧化层的厚度、阈值电压Vth的微调离子注入……这些参数每一个都是在晶圆厂经过大量实验调出来的。普通电路设计者通常不直接调这些参数而是用晶圆厂提供的工艺库PDK里的模型做设计。但在LTSpice仿真里我们可以手动输入一堆工艺参数体验一把“造器件”的感觉。4. 仿真验证用LTSpice亲手搭一个CMOS反相器4.1 在LTSpice中搭建CMOS反相器的完整步骤LTSpice是ADI亚德诺半导体出品的一款免费SPICE仿真软件界面不花哨功能却非常扎实。想亲眼看到CMOS反相器的翻转特性用它可以很快搞定。第一步打开LTSpice放置一个NMOS在元件库搜索“NMOS”或者选“nmos4”代表四端NMOS管和一个PMOSpmos4。四端管的衬底Bulk即B端需要单独连接NMOS的衬底接地PMOS的衬底接VDD。如果不接浮动衬底会导致仿真结果异常甚至不收敛。第二步设置器件模型。常用的方法是直接放一个“Model”命令在原理图上打以下SPICE指令.model NMOS1 NMOS (VTO0.5 KP200e-6 LAMBDA0.01) .model PMOS1 PMOS (VTO-0.5 KP80e-6 LAMBDA0.02)这里NMOS的阈值电压VTO设为0.5VPMOS为-0.5VKP是工艺跨导参数电子迁移率高所以NMOS的KP比PMOS大一倍多。这两行模型已经足够模拟常见的CMOS行为了。沟道宽长比可以用W、L参数填NMOS的W1uL100n表示沟道长100纳米宽1微米PMOS的W3uL100n为了匹配电流第三步搭电路VDD设为1.8V典型数字芯片电压输入接一个方波信号V1PULSE(0 1.8 0 1n 1n 10n 20n)意思是0到1.8V跳变上升下降时间1ns高电平保持10ns周期20ns。输出端加一个1pF的电容模拟负载。别忘了在输入端接一个50Ω或者干脆加一个很短的上升沿否则SPICE的瞬态分析会很难收敛。第四步设置仿真命令。用瞬态分析.tran 0 40n看完整输出波形再用直流扫描.dc V1 0 1.8 0.01看电压传输特性曲线。4.2 波形解读慢翻转、阈值点和动态功耗仿真跑完之后你会在波形窗口里看到两条线输入方波红色和输出方波绿色。如果参数设置正确输出刚好是输入的反相而且会有一个可见的翻转延迟。管子越大、负载电容越大延迟越长。这就是延时的来源管子在给负载电容充电/放电本质上是一道电流对电容的积分题。看直流扫描曲线更有意思。横轴是输入电压从0扫到1.8V纵轴是输出电压你会得到一条“几”字形或者S形的传输特性曲线。关键在中间段当输入电压处于中间值0.6V到1.2V之间时输出发生陡峭的翻转。翻转点通常在VDD/2附近这是反相器的阈值逻辑阈值。如果这个点偏移太多说明PMOS和NMOS的驱动能力不匹配直接后果是噪声容限不均等上游一个很小的干扰都可能触发误翻转。实际上这一段的斜率越陡越好表示“开关”越像理想开关。而斜率不够陡则说明管子沟道长度偏大或模型参数里的沟道长度调制效应过强。动态功耗的估算公式也很直观P C × VDD² × f。负载电容1pF电压1.8V频率50MHz算下来的功耗大约是162微瓦。这个数应该能让你感受到为什么移动SoC要拼命降电压和频率功耗和电压平方成正比电压从1.8V降到0.9V动态功耗直接降到四分之一。这也是为什么今天先进芯片坚持把核心电压压得越来越低的原因。4.3 由反相器到D触发器时序逻辑的起步很多人热词里挂着“CMOS逻辑门构成D触发器逻辑图”但不知道手工搭到底怎么来。从一个反相器出发再往前走一步先做一个“传输门”。传输门就是并联一个NMOS和一个PMOS两个栅极分别接时钟CLK和反相时钟CLKN。CLK为高时传输门导通信号通过CLK为低时传输门关断信号被切断。注意PMOS的栅极接反相时钟这又回到“互补”上要让两个管子同时导通或同时关断。然后再做一个“反相锁存器”把两个反相器首尾相连形成正反馈。信号进去之后被牢牢“锁”住。接下来用两个反相锁存器主从级联加传输门就构成一个标准D触发器。当CLK上升沿到来时主锁存器采样输入从锁存器保持输出CLK下降沿时主锁存器保持从锁存器跟随主锁存器。这就是边沿触发。你在FPGA里写的“always (posedge clk)”最终综合出来的硬件底层就是这样一堆CMOS传输门和反相器。建议你在LTSpice里完整搭一次D触发器并用四个相位不同的输入信号仿真验证时钟高电平时输出不会变只有上升沿那一瞬间输出才更新为输入值。亲手跑通之后你对“时序逻辑”这四个字的理解会彻底改变——不再是一个抽象概念而是一堆实实在在的晶体管在按节奏开关。5. 常见问题与排查技巧实录5.1 仿真不收敛、波形异常这些坑怎么跳出来做CMOS仿真最常见的问题就是SPICE报“Timestep too small”时间步长太小然后拒绝收敛。这通常有三个原因一是电源电压和模型阈值不匹配比如VDD1.8V但模型VTO写错导致管子永远关断或永远导通二是信号上升沿太陡或者太缓SPICE无法精细跟踪三是出现了浮空节点比如某个管子的衬底没接好。排查顺序建议是先检查所有B端是否接对再看输入信号的上升/下降时间是不是合理最后把模型参数逐行打印出来核对。新手特别喜欢把VDD设得很大比如5V加上很窄的脉冲结果电容充电还没完成脉冲就没了输出波形看起来像“毛刺”。这不是电路坏了是仿真设置不合理。用1.8V或者3.3V脉冲周期拉开到管子负载时间常数的十倍以上波形就漂亮了。还有一个常见问题瞬态仿真时输出端不接任何电容上升沿陡得像一根直线于是一堆人问“我的反相器是不是没有延时不真实”其实任何电路都有寄生电容哪怕负载为空MOS管的漏端本身也有结电容。建议在输出加一个0.5到2pF的固定负载电容这是最接近真实场景的仿真方式。做版图之前评估延时也基本靠这个思路。5.2 版图里的闩锁效应与阱接触布置版图设计里新手最容易忽略的就是阱接触TAP和衬底接触的密度。CMOS工艺里N阱里的PMOS周围要打N接触接到VDDP衬底里的NMOS周围要打P接触接到GND。如果接触太少阱和衬底之间的电位分布不均四周的PN结可能意外正偏形成寄生晶闸管结构一旦触发电流就会持续导通直到芯片烧毁。这就是著名的闩锁效应Latch-up。防止它的办法很粗暴在版图里多打接触孔每隔一段距离就放一排TAP。晶圆厂设计规则里不敢马虎都会写清楚TAP的最大间距。另外还有一个极易被忽略的细节天线的方向一致性。对于要求配对精度高的模拟电路比如电流镜、差分对、甚至某些高速时钟缓冲器PMOS和NMOS的朝向要一致所有管子的方向都朝一个方向画否则注入时的应力方向不同会导致阈值电压失配。做数字标准单元库的工程师管这叫“同向布局”这句话背后是几十纳米级别的失配代价。别小看版图上的“方向感”很多模拟芯片性能上不去就是因为这块失了分。5.3 嵌入式CMOS的实际使用建议最后说一个嵌入式开发里最容易被忽略、又最基础的CMOS问题GPIO的推挽输出和开漏输出到底怎么选推挽输出内部就是一对大小匹配的PMOS和NMOS输出高电平时PMOS导通上拉输出低电平时NMOS导通下拉。它能快速驱动外部负载适合驱动LED、蜂鸣器、数字信号线。但推挽不能做“线与”两个引脚同时输出高和低会互相打架烧管子。开漏输出则是只保留NMOS下拉PMOS不接或者根本不存在输出高电平必须靠外部上拉电阻。这样多个开漏引脚可以并联实现线与逻辑比如I2C总线就是这样干的。想直接体会到CMOS“互补”的含义你去翻MCU数据手册里的GPIO结构图会看到一个由PMOS和NMOS构成的输出级。PMOS管负责“拉高”NMOS管负责“拉低”这两者绝不允许同时导通否则电源到地直接短路。数字设计里专门有“告别竞争冒险”这一课讲的就是这个问题而在很老的TTL电路里因为输出级不是互补结构上行和下行驱动能力天然不对等开漏概念也完全不同。理解了CMOS回头再看嵌入式外设的电气特性基本就是融会贯通。结语从小说到芯片计算的本源从未改变算到底《三体》里的人列计算机和咱们手机里的芯片遵循的是完全相同的逻辑原理用有限的状态表达信息用简单的规则处理信息然后把无数个简单规则组织起来形成强大的计算能力。人列计算机输在了速度、体积和功耗上——三千万人规模的系统只能每秒执行十几次操作而一块指甲盖大小的芯片能每秒执行上百亿次。物理载体不同计算本质从未改变。我把人列计算机和CMOS电路放在一起讲其实是想说明一件事学芯片设计不要怕那些密密麻麻的电路图和版图它们本质上都是用“开关”和“连线的规则”搭积木。从秦始皇的操场到千亿晶体管的先进芯片中间差的只是把“人”换成了“晶体管”把“旗语”换成了“电压”把“操场”换成了“硅片”。你能看懂三体人怎么变成计算机就一定能在某个瞬间看懂CMOS电路。如果你想进阶我的建议是找一份成熟工艺的PDK工艺设计套件文档翻一翻看看里面给出的模型参数和版图规则再对照LTSpice手动搭一个反相器然后把W/L扫一遍最后把D触发器完整搭出来。这个过程走完你基本就算“入了半导体电路的门”。后面再学着把多个D触发器排成寄存器阵列、连成状态机你会发现硅片上的世界其实跟三体人那个热闹的操场一样各司其职按规则运转。
返回列表