如何逆向工程模拟芯片:TDA7000 FM收音机接收器
摘要
通过芯片显微照片逆向工程飞利浦TDA7000 FM收音机接收器芯片的详细指南,解释了逆向工程过程和模拟电路组件。
<p>你是否曾想通过芯片显微照片逆向工程模拟芯片?
想了解集成电路"黑箱"内部是什么?
在本文中,我以飞利浦TDA7000 FM收音机接收器芯片为例解释我的逆向工程过程。
这款芯片是首个单片FM收音机接收器。<span id="fnref:first-radio"><a class="ref" href="#fn:first-radio">1</a></span>
它设计于1977年——一个大晶体管和单层金属布线的时代——因此比现代芯片更容易检查。
尽管如此,TDA7000是一款非平凡芯片,拥有超过100个晶体管。
它包含常见模拟电路,如差分放大器和电流镜,以及更少见的电路如吉尔伯特单元混频器。</p>
<p><a href="https://static.righto.com/images/tda7000/die-labeled.jpg"><img alt="TDA7000的芯片显微照片,标有主要功能模块。点击此图(或任何其他图片)查看大图。芯片显微照片来自IEEE的Microchips that Shook the World展览页面。" class="hilite" height="383" src="https://static.righto.com/images/tda7000/die-labeled-w700.jpg" title="TDA7000的芯片显微照片,标有主要功能模块。点击此图(或任何其他图片)查看大图。芯片显微照片来自IEEE的Microchips that Shook the World展览页面。" width="700" /></a><div class="cite">TDA7000的芯片显微照片,标有主要功能模块。点击此图(或任何其他图片)查看大图。芯片显微照片来自IEEE的<a href="https://history.ieee.org/programs/ieee-global-museum/microchips-that-shook-the-world/">Microchips that Shook the World</a>展览页面。</div></p>
<p>上图显示了TDA7000的硅芯片;我标出了主要功能模块和一些有趣的组件。
芯片周围有18个键合焊盘:这些焊盘通过细金键合线连接到集成电路封装的引脚上。
在此芯片中,硅呈绿色,在硅被掺杂杂质以改变其性质的地方,颜色略有不同——灰色、粉色和黄绿色。
仔细检查掺杂图案将揭示出构成芯片的晶体管、电阻器和其他微观组件。</p>
<p>芯片最显眼的部分是金属布线,即连接硅结构的白色斑点线条。
金属层与其下方的硅之间由绝缘氧化层隔开,使得金属线可以无障碍地越过其他电路。
在金属线连接到底部硅的地方,可以看到一个白色小方块;这个方块是氧化层上的一个孔,允许金属接触硅。</p>
<p><a href="https://static.righto.com/images/tda7000/metal.jpg"><img alt="TDA7000芯片的近距离特写,显示电路上方的金属布线。" class="hilite" height="321" src="https://static.righto.com/images/tda7000/metal-w400.jpg" title="TDA7000芯片的近距离特写,显示电路上方的金属布线。" width="400" /></a><div class="cite">TDA7000芯片的近距离特写,显示电路上方的金属布线。</div></p>
<p>此芯片只有一层金属,因此比拥有十几层或多层金属的现代芯片更容易检查。
然而,单层金属使得设计人员布线时避免交叉线更加困难。
在上面的芯片显微照片中,你可以看到布线如何蜿蜒绕过中间的电路,由于直接路线被阻挡,走了远路。
稍后,我将讨论设计人员用来成功布局的一些技巧。</p>
<h3>NPN晶体管</h3>
<p>晶体管是芯片中的关键组件,用作开关、放大器和其他有源器件。
虽然现代集成电路由MOS晶体管制造,但像TDA7000这样的早期芯片由双极型晶体管构成:NPN和PNP晶体管。
下图显示了TDA7000芯片中的一个NPN晶体管。
不同的阴影是经过不同杂质掺杂的硅区域,形成具有不同电学特性的N区和P区。
白色线条是连接到晶体管集电极(C)、发射极(E)和基极(B)的金属布线。
在芯片显微照片下方,截面图显示了晶体管的构造方式。
发射极下方的区域形成了定义NPN晶体管的N-P-N三明治结构。</p>
<p><a href="https://static.righto.com/images/tda7000/transistor-structure-npn.jpg"><img alt="一个NPN晶体管及其截面图,改编自芯片显微照片。N+和P+区域的掺杂浓度高于N和P区域。" class="hilite" height="247" src="https://static.righto.com/images/tda7000/transistor-structure-npn-w300.jpg" title="一个NPN晶体管及其截面图,改编自芯片显微照片。N+和P+区域的掺杂浓度高于N和P区域。" width="300" /></a><div class="cite">一个NPN晶体管及其截面图,改编自芯片显微照片。N+和P+区域的掺杂浓度高于N和P区域。</div></p>
<p>NPN晶体管的各部分可以通过外观识别。发射极是一个紧凑的斑点,被基极区域的灰色硅包围。
集电极更大,与发射极和基极分离,有时相隔相当远的距离。
在其他芯片中颜色可能不同,但物理结构相似。
注意,尽管基极从概念上位于中间,但在物理布局中通常不在中间。</p>
<p>晶体管被黄绿色的P+硅边框包围;这个边框是结构的重要组成部分,因为它将晶体管与相邻晶体管隔离。<span id="fnref:isolation"><a class="ref" href="#fn:isolation">2</a></span>
隔离边框有助于逆向工程,因为它指示了晶体管之间的边界。</p>
<h3>PNP晶体管</h3>
<p>你可能认为PNP晶体管与NPN晶体管相似,只是交换了N型和P型硅的作用。
但出于多种原因,PNP晶体管具有完全不同的构造。
它们由一个圆形发射极(P)组成,被环形的基极(N)包围,基极又被集电极(P)包围。
这形成了水平(横向)的P-N-P三明治结构,与NPN晶体管的垂直结构不同。
在大多数芯片中,区分NPN和PNP晶体管很简单,因为NPN晶体管是矩形的,而PNP晶体管是圆形的。</p>
<p><a href="https://static.righto.com/images/tda7000/transistor-structure-pnp.jpg"><img alt="一个PNP晶体管及其截面图,改编自芯片显微照片。" class="hilite" height="225" src="https://static.righto.com/images/tda7000/transistor-structure-pnp-w300.jpg" title="一个PNP晶体管及其截面图,改编自芯片显微照片。" width="300" /></a><div class="cite">一个PNP晶体管及其截面图,改编自芯片显微照片。</div></p>
<p>上图显示了TDA7000中的一个PNP晶体管。
与NPN晶体管一样,发射极是一个紧凑的斑点。
集电极由灰色P型硅组成;相反,NPN晶体管的<em>基极</em>由灰色P型硅组成。
而且,与NPN晶体管不同,PNP晶体管的基极接触点有一定距离,而集电极接触点更近。
(这是因为隔离边界内的大部分硅是N型硅。在PNP晶体管中,这个区域连接到基极,而在NPN晶体管中,这个区域连接到集电极。)</p>
<p>事实证明,由于半导体原因,PNP晶体管的性能不如NPN晶体管<span id="fnref:pnp"><a class="ref" href="#fn:pnp">3</a></span>,
因此除非需要,大多数模拟电路使用NPN晶体管。
例如,TDA7000有超过100个NPN晶体管,但j</p>
查看缓存全文
缓存时间: 2026/05/16 03:34
# 如何逆向工程模拟芯片:TDA7000调频收音机接收器
来源:http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html
你是否曾想通过对芯片照片进行逆向工程来理解模拟芯片?想过了解集成电路这个“黑盒子”内部有什么吗?在这篇文章中,我将以飞利浦TDA7000调频收音机接收器芯片为例,解释我的逆向工程过程。这款芯片是首个单片调频收音机接收器¹(http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html#fn:first-radio)。它设计于1977年——那个晶体管尺寸较大且只有单层金属布线的时代——因此比现代芯片更容易观察。尽管如此,TDA7000仍是一颗非平凡的芯片,拥有超过100个晶体管。它包括常见的模拟电路,如差分放大器和电流镜,以及更冷门的电路,如吉尔伯特混频器。
(图片:TDA7000芯片照片,标注了主要功能模块。点击此图或任何其他图片可查看大图。芯片照片来自IEEE“改变世界的微芯片”展览页面。)(https://static.righto.com/images/tda7000/die-labeled.jpg)
TDA7000芯片照片,标注了主要功能模块。点击此图(或任何其他图片)可查看大图。芯片照片来自IEEE“改变世界的微芯片”展览页面(https://history.ieee.org/programs/ieee-global-museum/microchips-that-shook-the-world/)。
上方芯片照片显示了TDA7000的硅裸片;我已标注出主要功能模块和一些有趣的组件。芯片周围排列着18个焊盘:这些焊盘通过细小的金键合线连接到集成电路封装的引脚上。在这颗芯片中,硅片呈现绿色调,不同区域因掺杂杂质而显现略不同的颜色——灰色、粉色和黄绿色——这些杂质改变了硅的电学性质。仔细观察掺杂图案,就能揭示构成芯片的晶体管、电阻等微观元件。
裸片上最显眼的部分是金属布线,即斑驳的白线,它们连接着硅结构。金属层通过一层绝缘氧化物与下方的硅层隔离,使得金属线可以无问题地跨越其他电路。当金属线需要连接到底层硅时,会看到一个白色小方块;这个方块是氧化物层上的一个窗口,允许金属与硅接触。
(图片:TDA7000芯片的放大图,显示电路上方的金属布线。)(https://static.righto.com/images/tda7000/metal.jpg)
TDA7000芯片的放大图,显示电路上方的金属布线。
这颗芯片只有单层金属,因此比拥有十几层甚至更多金属层的现代芯片更容易观察。然而,单层金属给设计人员带来了很大困难,他们需要布线且避免线路交叉。在上方芯片照片中,你可以看到金属线如何在中间电路中迂回曲折,绕远路而行,因为直线路径被阻挡了。稍后,我将讨论设计人员为使布局成功而采用的一些技巧。
### NPN晶体管
晶体管是芯片中的关键元件,用作开关、放大器以及其他有源器件。现代集成电路采用MOS晶体管制造,而像TDA7000这样的早期芯片则采用双极型晶体管:NPN和PNP晶体管。下面的照片展示了TDA7000中一个NPN晶体管在芯片上的外观。不同深浅的区域是掺杂了不同杂质的硅区,形成具有不同电学性质的N型和P型区域。白色线条是连接到晶体管集电极(C)、发射极(E)和基极(B)的金属布线。在芯片照片下方,横截面图显示了该晶体管的构建方式。发射极下方的区域形成了定义NPN晶体管的N-P-N三明治结构。
(图片:一个NPN晶体管及其横截面,改编自芯片照片。N+和P+区域的掺杂浓度高于N和P区域。)(https://static.righto.com/images/tda7000/transistor-structure-npn.jpg)
一个NPN晶体管及其横截面,改编自芯片照片。N+和P+区域的掺杂浓度高于N和P区域。
NPN晶体管的各部分可以通过外观识别。发射极是一个紧凑的斑点,被基极区域的灰色硅包围。集电极较大,与发射极和基极分离,有时距离相当远。颜色在其他芯片中可能不同,但物理结构类似。注意,虽然基极在概念上位于中间,但在实际物理布局中往往并不居中。
晶体管由一圈黄绿色的P+硅边框包围;这个边框是结构的重要组成部分,因为它将晶体管与相邻的晶体管隔离²(http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html#fn:isolation)。隔离边框对逆向工程很有帮助,因为它标明了晶体管之间的界限。
### PNP晶体管
你可能以为PNP晶体管与NPN晶体管类似,只是N型和P型硅的角色互换。但由于多种原因,PNP晶体管的构造完全不同。它们由一个圆形的发射极(P)、一个环形基极(N)和一个环形集电极(P)构成。这在一个水平(横向)方向上形成了P-N-P三明治结构,不同于NPN晶体管的垂直结构。在大多数芯片中,区分NPN和PNP晶体管很容易,因为NPN晶体管是矩形的,而PNP晶体管是圆形的。
(图片:一个PNP晶体管及其横截面,改编自芯片照片。)(https://static.righto.com/images/tda7000/transistor-structure-pnp.jpg)
一个PNP晶体管及其横截面,改编自芯片照片。
上图展示了TDA7000中的一个PNP晶体管。与NPN晶体管一样,发射极是一个紧凑的斑点。集电极由灰色的P型硅构成;相比之下,NPN晶体管的基极则由灰色的P型硅构成。而且,与NPN晶体管不同,PNP晶体管的基极接触点在远处,而集电极接触点更近。(这是因为隔离边界内部的大部分硅是N型硅。在PNP晶体管中,这个区域连接到基极,而在NPN晶体管中,这个区域连接到集电极。)
由于半导体工艺的原因³(http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html#fn:pnp),PNP晶体管的性能通常不如NPN晶体管,因此大多数模拟电路使用NPN晶体管,除非必须使用PNP晶体管。例如,TDA7000有超过100个NPN晶体管,但只有九个PNP晶体管。因此,我将重点讨论NPN晶体管。
### 电阻
电阻是模拟芯片的关键元件。下面照片展示了TDA7000中一个蜿蜒曲折的电阻,由灰色的P型硅构成。电阻值与长度成正比⁴(http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html#fn:resistance),因此大阻值电阻需要来回蛇形排列以适配可用空间。两个红色箭头指示电阻两端与金属布线的接触点。注意电阻周围的隔离区域,即黄绿色的边框。如果没有这种隔离,两个由P型硅制成的电阻被N型硅包围,可能会形成非故意的PNP晶体管。
(图片:TDA7000芯片上的一个电阻。)(https://static.righto.com/images/tda7000/resistor.jpg)
TDA7000芯片上的一个电阻。
不幸的是,集成电路中的电阻非常不精确;不同芯片之间阻值可能相差50%。因此,模拟电路通常设计成依赖于电阻值的比例,而同一芯片内的比例相当恒定。此外,大阻值电阻体积很大且不便。下面我们将看到一些减少对大电阻需求的技术。
### 电容
电容是模拟电路中的另一个重要元件。下面这个电容是一个“结电容”,它利用一个大面积的反偏二极管作为电容。粉红色的“指状”区域是N型掺杂区,嵌入在灰色的P型掺杂硅中。这些指状结构形成了一个“梳状电容”;这种布局最大化了周长面积,从而增加了电容值。为了产生反偏,N型硅指通过上方的金属条连接到正电压源。P型硅通过下方的金属条连接到电路。
(图片:TDA7000中的一个电容。我已模糊了不相关的电路。)(https://static.righto.com/images/tda7000/capacitor.jpg)
TDA7000中的一个电容。我已模糊了不相关的电路。
二极管结是如何形成电容的?当二极管反偏时,N型和P型硅之间的接触区域会“耗尽”,形成一层薄的绝缘区域,介于两个导电的硅区域之间。由于绝缘体置于两个导电表面之间就构成了电容,因此二极管起到电容的作用。二极管电容的一个问题是其电容值随电压变化,因为耗尽层的厚度随电压改变。但正如我们稍后将看到的,TDA7000的调谐电路将这个缺点变成了一种特性。
其他芯片通常会用一层金属覆盖在硅上,中间隔以薄氧化物或其他介质来制造电容。然而,双极型芯片的制造工艺通常不提供薄氧化物,因此结电容是一种常见的替代方案⁵(http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html#fn:capacitors)。片上电容占用大量面积且电容值相对较小,因此集成电路设计人员尽量避免使用电容。TDA7000有七个片上电容,但该设计中大部分电容是较大的外部电容:芯片利用其18个引脚中的12个来将外部电容连接到内部电路的所需节点。
## 重要的模拟电路
在模拟芯片中,有几种电路非常常见。在本节中,我将解释其中一些电路,但首先,我将对NPN晶体管做一个高度简化的解释,这是逆向工程所需的最低限度知识。(PNP晶体管类似,只是电压和电流的极性相反。由于PNP晶体管在TDA7000中很少见,我就不详细讨论了。)
在晶体管中,基极控制集电极和发射极之间的电流,使晶体管作为开关或放大器工作。具体来说,如果一个小电流从NPN晶体管的基极流向发射极,那么一个更大的电流(可能大100倍)可以从集电极流向发射极⁶(http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html#fn:emitter)。要让电流流动,基极必须比发射极高约0.6伏。随着基极电压继续升高,基-射电流呈指数增长,导致集-射电流增加。(通常,电阻会确保基极不会比发射极高太多,比如超过0.6V太多,从而将电流控制在合理范围内。)
(图片:NPN晶体管和PNP晶体管行为对比。)(https://static.righto.com/images/tda7000/transistor-diagram.jpg)
NPN晶体管和PNP晶体管行为对比。
NPN晶体管电路有一些一般特性。当没有基极电流时,晶体管截止:集电极电压高,发射极电压低。当晶体管导通时,通过晶体管的电流会使集电极电压降低,发射极电压升高。因此,粗略地说,发射极是非反相输出端,集电极是反相输出端。
晶体管的完整行为要复杂得多。逆向工程的一个好处是,我可以假设电路能工作:设计人员需要考虑诸如厄尔利效应、电容和β值等因素,但我不必理会。
### 射极跟随器
最简单的晶体管电路之一是射极跟随器。在这个电路中,发射极电压跟随基极电压,始终比基极低约0.6伏。(这0.6伏的压降也称为“二极管压降”,因为基-射结就像二极管一样。)
(图片:射极跟随器电路。)(https://static.righto.com/images/tda7000/emitter-follower.jpg)
射极跟随器电路。
这种行为可以通过一个反馈回路来解释。如果发射极电压过高,从基极到发射极的电流就会下降,因此通过集电极的电流也会因晶体管的放大作用而下降。流经电阻的电流减小(根据欧姆定律)会降低电阻两端的电压,从而使发射极电压下降。反之,如果发射极电压过低,基-射电流就会增加,集电极电流也随之增加。这增加了电阻两端的电压,发射极电压上升。因此,发射极电压会进行调整,直到电路稳定;此时,发射极比基极低0.6伏。
你可能想知道射极跟随器有什么用。虽然输出电压较低,但晶体管可以提供大得多的电流。也就是说,射极跟随器将微弱的输入电流放大为更强的输出电流。此外,输入侧的电路与输出侧的电路相互隔离,避免了失真或反馈。
### 电流镜
大多数模拟芯片都广泛使用一种称为电流镜的电路。其思路是:你从一个已知电流开始,然后可以通过一个简单的晶体管电路——电流镜——“克隆”出多个相同的电流副本。
在下面的电路中,电流镜由两个相同的PNP晶体管实现。参考电流流过右边的晶体管。(在此例中,电流由电阻设定。)由于两个晶体管具有相同的发射极电压和基极电压,它们提供的电流相同,因此左边的电流与参考电流近似匹配⁷(http://www.righto.com/2025/08/reverse-engineering-analog-TDA7000.html#fn:mirrors)。
(图片:使用PNP晶体管的电流镜电路。)(https://static.righto.com/images/tda7000/current-mirror.jpg)
使用PNP晶体管的电流镜电路。
电流镜的一个常见用途是替代电阻。如前所述,集成电路内部的电阻体积大且不便。只要可能,用电流镜代替多个电阻可以节省空间。此外,电流镜对不同支路的电压相对不敏感,而电阻则不然。最后,通过改变晶体管的尺寸(或使用不同尺寸的多集电极),电流镜可以提供不同的电流。
(图片:TDA7000芯片上的一个电流镜。)(https://static.righto.com/images/tda7000/current-mirror-die.jpg)
TDA7000芯片上的一个电流镜。
TDA7000并没有像我预期的那样大量使用电流镜,但它有几个。上面的芯片照片显示了一个电流镜,由具有独特圆形外观的PNP晶体管构成。两个重要特征可以帮助你识别电流镜。首先,一个晶体管的基极和集电极相连;这是控制电流的晶体管。在照片中,右边的晶体管有此连接。其次,两个晶体管的基极相连。这一点在上图中并不明显,因为连接线...
相似文章
Fisher-Price Pixter 的完整保存
详细记录了 Fisher-Price Pixter 设备及其游戏的首次完整逆向工程、文档化和模拟过程,涵盖了硬件分析、ROM 转储以及软件模拟。
Intel 8087浮点芯片的堆栈电路逆向工程
本文详细介绍了对Intel 8087浮点协处理器堆栈电路的逆向工程,解释了该芯片基于堆栈的寄存器架构和微码ROM如何实现快速浮点运算。
Intel 8087浮点芯片的指令解码
对Intel 8087浮点协处理器指令解码的详细逆向工程分析,解释主CPU与协处理器之间的交互、微码ROM的使用以及总线接口单元。
逆向工程阿波罗时代神秘的Up-Data Link Test Set
对罕见的阿波罗时代Up-Data Link Confidence Test Set进行逆向工程,揭示其未公开的模块和布线,以重建阿波罗通信系统。
逆向工程386处理器的预取队列电路
详细介绍386处理器预取队列电路的逆向工程,解释所用的增量器、对齐网络和动态逻辑。