当前位置: 首页 > news >正文

基本的逻辑门

前言

本篇文章介绍基本的逻辑门,然后给出C语言描述
逻辑门是在集成电路上的基本组件。简单的逻辑门可由晶体管组成。这些晶体管的组合可以使代表两种信号的高低电平在通过它们之后产生高电平或者低电平的信号。高、低电平可以分别代表逻辑上的“真”与“假”或二进制当中的1和0,从而实现逻辑运算。
本文介绍的内容列表如下:

  • CMOS晶体管
  • 非门
  • 与门
  • 或门
  • 与非门
  • 或非门
  • 异或门

CMOS晶体管

N型增强型晶体管

N型增强型晶体管是由P型半导体衬底,制作两个高摻杂浓度的N型区, 形成CMOS管的源极S(Source)和漏极D(Drain),然后在源极S和漏极D之间添加一个栅极G,通常用多晶硅制作,栅极和衬底之间添加一层二氧化硅绝缘层,绝缘层一般非常薄,在0.1微米之内
在这里插入图片描述

  • 如果栅极G不导通,由于P型衬底和N型区域之间有PN结,整个电路不导通
  • 如果栅极G导通,并且连接到正极,这时栅极G与P型衬底之间形成了电场,P型衬底连接的是源极S,也就是负极,栅极为正极,这样,P型衬底中的电子会向栅极靠近,在两个N型半导体之间形成通路,电路导通。

总结:通过栅极的导通能够控制源极S和漏极D的导通,这样,CMOS管就可以作为开关使用了。

P型增强型晶体管

P型增强型晶体管与N型增强型晶体管结构正好相反,是由N型半导体作为衬底,导电沟道为P型半导体,这种晶体管的特点是

  • 栅极接入的是负极
  • 为了形成电场,N型衬底为正极,也就是源极S为正极

N型耗尽型晶体管

这种类型的晶体管结构与N型增强型晶体管一样,不过在栅极下的二氧化硅绝缘层添加了正离子。也就是自带电场,这样,栅极不导通或者连接正极的时候晶体管都是导通的,栅极连接负极并且达到一定值以后,晶体管断开。这个值叫做夹断电压

P型耗尽型晶体管

结构与P型增强型晶体管一致,特点与N型耗尽型晶体管相似,栅极不导通或者连接负极的时候晶体管都是导通的,栅极连接正极并且达到一定值以后,晶体管断开。

下图是四种晶体管的比较
在这里插入图片描述

其中,
v D S v_{DS} vDS为漏极到原极的电压
v G S v_{GS} vGS为栅极到原极的电压
D:漏极
S:原极
G:栅极

不同类型的晶体管的自由组合就可以形成各种门

非门

非门又叫反相器,是指输入的信号状态与输出的信号状态相反
非门用下面的符号表示
在这里插入图片描述

非门可以通过一个N型增强型晶体管和一个P型增强型晶体管连接实现
非门的输入输出逻辑关系如下:
输入 输出 0 1 1 0 \begin{array}{|c|c|} \hline 输入&输出\\ \hline 0&1\\ \hline 1&0\\ \hline \end{array} 输入01输出10

与门

与门是指当输入的两个信号都为高电平时输出的信号才为高电平
与门用下面的符号表示
在这里插入图片描述

与门可以用两个CMPOS晶体管来实现

与门的输入输出逻辑关系如下:
输入 A 输入 B 输出 0 0 0 0 1 0 1 0 0 1 1 1 \begin{array}{|c|c|c|} \hline 输入A&输入B&输出\\ \hline 0&0&0\\ \hline 0&1&0\\ \hline 1&0&0\\ \hline 1&1&1\\ \hline \end{array} 输入A0011输入B0101输出0001

或门

或门是指当输入的两个信号任意一个为高电平时输出的信号为高电平
或门用下面的符号表示
在这里插入图片描述

或门可以用两个CMOS晶体管来实现

或门的输入输出逻辑关系如下:
输入 A 输入 B 输出 0 0 0 0 1 1 1 0 1 1 1 1 \begin{array}{|c|c|c|} \hline 输入A&输入B&输出\\ \hline 0&0&0\\ \hline 0&1&1\\ \hline 1&0&1\\ \hline 1&1&1\\ \hline \end{array} 输入A0011输入B0101输出0111

与非门

与非门用下面的符号表示
在这里插入图片描述

与非门可以使用两个并联的P沟道增强型MOS管 T 1 T_1 T1 T 3 T_3 T3和两个串联的N沟道增强型MOS管 T 2 T_2 T2 T 4 T_4 T4组成,总共需要4个晶体管
在这里插入图片描述

与非门的输入输出逻辑关系如下:
输入 A 输入 B 输出 0 0 1 0 1 1 1 0 1 1 1 0 \begin{array}{|c|c|c|} \hline 输入A&输入B&输出\\ \hline 0&0&1\\ \hline 0&1&1\\ \hline 1&0&1\\ \hline 1&1&0\\ \hline \end{array} 输入A0011输入B0101输出1110

或非门

或非门用下面的符号表示
在这里插入图片描述

或非门可以使用两个串联的P沟道增强型MOS管 T 1 T_1 T1 T 3 T_3 T3和两个并联的N沟道增强型MOS管 T 2 T_2 T2 T 4 T_4 T4组成,总共需要4个晶体管
在这里插入图片描述

或非门的输入输出逻辑关系如下:
输入 A 输入 B 输出 0 0 1 0 1 0 1 0 0 1 1 0 \begin{array}{|c|c|c|} \hline 输入A&输入B&输出\\ \hline 0&0&1\\ \hline 0&1&0\\ \hline 1&0&0\\ \hline 1&1&0\\ \hline \end{array} 输入A0011输入B0101输出1000

异或门

异或门用下面的符号表示
在这里插入图片描述

异或门可以使用一个或门,一个与非门进行与门操作,共需要8个晶体管
在这里插入图片描述

或非门的输入输出逻辑关系如下:
输入 A 输入 B 输出 0 0 0 0 1 1 1 0 1 1 1 0 \begin{array}{|c|c|c|} \hline 输入A&输入B&输出\\ \hline 0&0&0\\ \hline 0&1&1\\ \hline 1&0&1\\ \hline 1&1&0\\ \hline \end{array} 输入A0011输入B0101输出0110

下面,给出基本逻辑门的C语言实现

// 虽然参数采用的是int类型,但是在模拟运行时,只能是0或者1
/*** 与门*/
int and_gate(int in_1,int in_2)
{return in_1 & in_2;
}/*** 或门*/
int or_gate(int in_1,int in_2)
{return in_1 | in_2;
}/*** 非门*/
int not_gate(int in_1)
{return !in_1;
}/**void* 或非门*/
int not_or_gate(int in_1,int in_2)
{return !(in_1 | in_2);
}/*** 与非门*/
int not_and_gate(int in_1,int in_2)
{return !(in_1 & in_2);
}/*** 异或门*/
int xor_gate(int in_1,int in_2)
{int or_val = or_gate(in_1, in_2);int not_and_val = not_and_gate(in_1, in_2);return or_val & not_and_val;
}

相关文章:

基本的逻辑门

前言 本篇文章介绍基本的逻辑门,然后给出C语言描述 逻辑门是在集成电路上的基本组件。简单的逻辑门可由晶体管组成。这些晶体管的组合可以使代表两种信号的高低电平在通过它们之后产生高电平或者低电平的信号。高、低电平可以分别代表逻辑上的“真”与“假”或二进…...

云原生系列3-Kubernetes

1、Kubernetes概述 k8s缩写是因为k和s之间有八个字符。k8s是基于容器技术的分布式架构方案。官网:https://kubernetes.io/zh-cn/ Google在 2014年开源了Kubernetes项目,Kubernetes是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。同样类似的…...

R-列表、矩阵、数组转化为向量

目录 一、c()函数 二、unlist()函数 一、c()函数 c():对应的英文是combine. 当你使用c()函数时,它会将输入的对象连接成一个向量。因此,无论输入是矩阵、数组还是列表,c()函数都会将它们连接成一个简单的向量。因此&#xff…...

算法通关村-番外篇排序算法

大家好我是苏麟 , 今天带来番外篇 . 冒泡排序 BubbleSort 最基本的排序算法,最常用的排序算法 . 我们以关键字序列{26,53,48,11,13,48,32,15}看一下排序过程: 动画演示 : 代码如下 : (基础版) class Solution {public int[] sortArray(int[] nums) {for(int i …...

三种方式简单搭建http本地文件服务

有时候想写一个简单的html文件,然后加上一些image、js、css文件用于测试。希望有一个简单的http服务,总结了如下三种方式,欢迎讨论更多高效的方式。 (一)使用Web Server for Chrome浏览器扩展 之前写过一篇博文&#x…...

设计模式--适配器模式

实验8:适配器模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解适配器模式的动机,掌握该模式的结构; 2、能够利用适配器模式解决实际问题。 [实验任务]:双向适配器 实现一个双向…...

Node.js教程-express框架

概述 Express是基于Node.js平台(建立在Node.js内置的http模块上),快速、开放、极简的Web开发框架。 中文官网 http://www.expressjs.com.cn/。 Github地址:https://github.com/orgs/expressjs。 Express核心特性: 可设置中间件来响应 HTTP…...

location.origin兼容

if (!window.location.origin) {window.location.origin window.location.protocol "//" window.location.hostname (window.location.port ? : window.location.port: );}...

spring boot集成mybatis和springsecurity实现权限控制功能

上一篇已经实现了登录认证功能,这一篇继续实现权限控制功能,文中代码只贴出来和上一篇不一样的修改的地方,完整代码可结合上一篇一起整理spring boot集成mybatis和springsecurity实现登录认证功能-CSDN博客 数据库建表 权限控制的意思就是根…...

按键修饰符

在键盘监听事件时,我们经常需要判断详细的按键,此时,可以为键盘相关的事件添加按键修饰符,例如: 键盘修饰符案例:...

新版IDEA中Git的使用(一)

说明:本文介绍如何在新版IDEA中使用Git 创建项目 首先,在GitLab里面创建一个项目(git_demo),克隆到桌面上。 然后在IDEA中创建一个项目,项目路径放在这个Git文件夹里面。 Git界面 当前分支&Commit …...

【性能测试】真实企业,性能测试流程总结分析(一)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试什么时候…...

20231224解决outcommit_id.xml1 parser error Document is empty的问题

20231224解决outcommit_id.xml1 parser error Document is empty的问题 2023/12/24 18:13 在开发RK3399的Android10的时候,出现:rootrootrootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ make installclean PLATFORM_VERSION_CODENAMEREL…...

电子电器架构刷写方案——General Flash Bootloader

电子电器架构刷写方案——General Flash Bootloader 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 注:文章1万字左右,深度思考者入!!! 老规矩,分享一段喜欢的文字,避免…...

【Linux】僵尸与孤儿 进程等待

目录 一,僵尸进程 1,僵尸进程 2,僵尸进程的危害 二,孤儿进程 1,孤儿进程 三,进程等待 1,进程等待的必要性 2,wait 方法 3,waitpid 方法 4,回收小结…...

Java小案例-Sentinel的实现原理

前言 Sentinel是阿里开源的一款面向分布式、多语言异构化服务架构的流量治理组件。 主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 核心概念 要想理解一个新的技…...

【Leetcode Sheet】Weekly Practice 21

Leetcode Test 1901 寻找峰值Ⅱ(12.19) 一个 2D 网格中的 峰值 是指那些 严格大于 其相邻格子(上、下、左、右)的元素。 给你一个 从 0 开始编号 的 m x n 矩阵 mat ,其中任意两个相邻格子的值都 不相同 。找出 任意一个 峰值 mat[i][j] 并 返回其位置 [i,j] 。 …...

C语言使用qsort和bsearch实现二分查找

引言 在计算机科学领域&#xff0c;查找是一项基本操作&#xff0c;而二分查找是一种高效的查找算法。本博客将详细解释一个简单的C语言程序&#xff0c;演示如何使用标准库函数qsort和bsearch来对一个整数数组进行排序和二分查找。 代码解析 包含头文件 #include <stdi…...

MySQL的替换函数及补全函数的使用

前提&#xff1a; mysql的版本是8.0以下的。不支持树形结构递归查询的。但是&#xff0c;又想实现树形结构的一种思路 提示&#xff1a;如果使用的是MySQL8.0及其以上的&#xff0c;想要实现树形结构&#xff0c;请参考&#xff1a;MySQL数据库中&#xff0c;如何实现递归查询…...

2022第十二届PostgreSQL中国技术大会-核心PPT资料下载

一、峰会简介 本次大会以“突破•进化•共赢 —— 安全可靠&#xff0c;共建与机遇”为主题&#xff0c;助力中国数据库基础软件可掌控、可研究、可发展、可生产&#xff0c;并推动数据库生态的繁荣与发展。大会为数据库从业者、数据库相关企业、数据库行业及整个IT产业带来崭…...

AI赋能51单片机开发:让快马平台智能生成复杂避障算法代码

最近在做一个基于51单片机的智能小车项目&#xff0c;需要实现复杂的避障功能。传统开发方式需要手动编写大量底层代码&#xff0c;调试起来特别耗时。不过这次尝试用InsCode(快马)平台的AI辅助功能&#xff0c;整个过程顺利了很多。 需求分析阶段 首先需要明确小车的核心功能&…...

保姆级教程:用华为eNSP复现一个能跑通的企业网毕业设计(含VRRP、OSPF、防火墙策略)

华为eNSP企业网实战&#xff1a;从零构建高可用网络架构 刚接触网络工程的学生或初级工程师&#xff0c;面对企业级网络设计时常常陷入配置迷雾——为什么这里要用VRRP&#xff1f;OSPF区域划分的依据是什么&#xff1f;防火墙策略如何与NAT协同工作&#xff1f;本文将以华为eN…...

XDMA驱动内存读写测试指南:从reg_rw工具使用到AXI4时序分析

XDMA驱动内存读写测试指南&#xff1a;从reg_rw工具使用到AXI4时序分析 在FPGA与主机间的高速数据交互场景中&#xff0c;XDMA&#xff08;Xilinx DMA&#xff09;作为PCIe协议栈的核心引擎&#xff0c;其内存读写性能直接决定了系统整体吞吐量。本文将深入剖析reg_rw工具的底层…...

别再只加Mask了!手把手教你用FlashAttention实现真正的Sliding Window Attention(附代码)

突破传统误区&#xff1a;用FlashAttention实现高效滑动窗口注意力的实战指南 在Transformer模型优化领域&#xff0c;许多开发者对滑动窗口注意力(Sliding Window Attention, SWA)存在一个普遍误解——认为只需在注意力矩阵上添加滑动窗口掩码就能实现线性复杂度。这种错误认…...

深度解析Windows设备指纹伪装技术:EASY-HWID-SPOOFER内核级硬件隐私保护实现

深度解析Windows设备指纹伪装技术&#xff1a;EASY-HWID-SPOOFER内核级硬件隐私保护实现 【免费下载链接】EASY-HWID-SPOOFER 基于内核模式的硬件信息欺骗工具 项目地址: https://gitcode.com/gh_mirrors/ea/EASY-HWID-SPOOFER 在数字化时代&#xff0c;硬件隐私保护已成…...

在Ubuntu 20.04上搞定Synopsys SpyGlass 2016:一份针对高内核版本的详细避坑指南

在Ubuntu 20.04上搞定Synopsys SpyGlass 2016&#xff1a;一份针对高内核版本的详细避坑指南 当IC设计工程师遇到Ubuntu 20.04与SpyGlass 2016的版本冲突时&#xff0c;那种熟悉的挫败感往往伴随着终端里红色的报错信息一起涌现。这不是简单的"安装-运行"问题&#x…...

3步实现GitHub全界面中文化:高效本地化工具提升开发效率指南

3步实现GitHub全界面中文化&#xff1a;高效本地化工具提升开发效率指南 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 在全球化协作…...

Zotero重复条目智能处理指南:从混乱到有序的文献管理解决方案

Zotero重复条目智能处理指南&#xff1a;从混乱到有序的文献管理解决方案 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 学术研究中&#xff…...

XHS-Downloader:构建高效采集流程的无水印内容批量管理方案

XHS-Downloader&#xff1a;构建高效采集流程的无水印内容批量管理方案 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、用户链接…...

教无人机操控3年,这款仿真软件让我彻底告别“真机实训焦虑”

作为无人机专业实操教师&#xff0c;深耕一线教学3年&#xff0c;最大的痛点莫过于“真机实训难”——相信同行们都有共鸣&#xff0c;无人机操控教学看似是“练手”&#xff0c;实则处处是坑&#xff0c;每一个难题都让人头疼不已&#xff0c;甚至一度让我陷入教学焦虑。整理了…...