向LTSpice添加所有逻辑门

作者: Digi-Key 工程师 Kaleb Kohlhase

尽管LTSpice有几个“行为逻辑门”,但如果能有一组包含标准数量的电源输入及端口的基础逻辑门就更好了(一些系统使用5V,一些使用3V3,还有一些使用其他电源参数)。请注意,目前可能有若干种模型可以更好地在线运行,但本文主要是为了实验并帮助你理解如何组合与非门,以构建所有的基础逻辑门。如果你不熟悉如何建模与非门的话,可以先看看我之前发布的有关使用Mos管的逻辑门一文:一种与非门MOS管模型。你还可以在文章末尾下载所有符号和示意图。

Spice 指令的与非门模型

最终模型示意图如下所示,下面我来详细介绍一下:

自定义MOS管模型

尽管LTSpice的库中包含大量组件集合,但有时最好使用特定参数来定义组件。上述论坛帖文中的MOS管使用了特定值来确保实现正确的模式。该程序具有两个允许自定义参数的模型:pmos4和nmos4。
02_00

你需要确保将“M4”重命名为唯一的名称,以免将其与“模型”名称混淆。默认的“模型”名称为PMOS和NMOS。我将它们重命名为PMODA、PMODB、NMODA和NMODB。

MOS管参数

必须至少包括以下参数:KP(跨导)、gamma(批量阈值参数)、phi(表面反演势)、lambda(通道长度调制)、L(通道长度)、W(通道宽度)和VTO(零偏压阈值电压)。要向这些参数添加自定义值,你需要按“S”键为NMOSFET和PMOSFET添加SPICE指令。输入以下代码:

.model yourModelName nmos (KP=200u GAMMA=0.9 phi=0.6 lambda=0.02 VTO=0.7)

将“yourModelName”改为其他的唯一名称,我分别使用了NMOD1和PMOD1。将SPICE指令放在示意图上的某处。再次按“S”键,并将以下代码添加到PMOS管中:

.model yourModelName pmos (KP=100u GAMMA=0.9 phi=0.6 lambda=0.02 VTO=-0.7)

将其放在示意图上的某处。
要编辑每个MOS管通道的长度和宽度,只需右键点击相应的MOS管即可。P-MOS管具有相同的值:
04_00
同样,将“yourModelName”改为你在SPICE命令中键入的名称。我将P-MOS管重命名为PMOD1,并将N-MOS管重命名为NMOD1。
N-MOS管的长度和宽度略有不同。最上面一个(图中的NMODA)的值如下:
05_00
第二个的值如下:
06_00
确保为两个SPICE命令使用相同的型号名称,否则程序不知道要使用哪些参数。

用于模拟的输出SPICE指令

添加了另一个SPICE命令: CL Out 0 1p 。这是一种简便的方式,可以告诉LTSpice你希望输出某种电容和电感。Out是指输出,0是指电感量,1p是指电容量(从字母向后)。有时这样做是为了帮助程序更快地进行模拟。

借助制作符号来完成模型

按照你在制作分层电路时通常采取的步骤来制作符号,如果你没有这方面的经验,可以查看以下帖文:在LTSpice中制作子电路或分层电路 - 支持/技术提示 - 工程和组件解决方案论坛 - TechForum │ Digi-Key (digikey.com),我没有使用“网表/库”方法。你可以使用符号编辑器中的圆弧、线条和引脚来绘制非常准确的图形。下面是我绘制的图形:

建模非门

现在,与非门已经制作完毕了,你实际上可以通过两种方式建模非门:MOS管设计或使用单数与非门。
在新的子电路中使用一个与非门比较方便,以下是快速示意图:
08_00
基本上,如果将两个输入连接到一个输入上,它就会表现出和非门相同的模式。
以下是使用MOS管的线路图:


用于与非门的SPICE模型是相同的。NMOD1晶体管的长度和宽度设置和与非门中的下层晶体管相同。以下是我为非门制作的符号(使用了MOS管模型):

衍生门:与门、或门、或非门、异或门、同或门

只需使用与非门或组合使用非门和与非门,即可制作所有其他门。如果你是自行制作,可以参考下面提供的布局示意图。你可以决定如何设计符号。在本节之后,我将提供我制作的所有示意图和符号的下载链接。将所有文件放入你在LTSpice中关联的文件夹中,否则它们将无法工作

与门

或门

或非门

异或门

同或门

各种门的文件

以下是我制作的所有符号和示意图的压缩文件夹:GATES.zip (4.9 KB)