数字逻辑电路入门:从晶体管到逻辑门

2024-01-06 11:52

本文主要是介绍数字逻辑电路入门:从晶体管到逻辑门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数字逻辑电路入门:从晶体管到逻辑门

这是数字逻辑电路中最基础的部分。但是并非那么容易理解。

1、晶体管

  1. mosfet:场效应晶体管,是电压控制元件。
  2. cmos:是指由mos管构成的门级电路通常是互补的。
  3. BJT:一种三极管,是电流控制元件,用来放大电流,功耗大于mos管。
  4. nmos:衬底是p型半导体,源极和漏极是n型掺杂区域。适合用来导通低电压,不适合导通高电压。
  5. pmos:和nmos相反,衬底是n型半导体,源极和漏极是p型掺杂区域。适合用来导通高电压,不适合导通低电压。
  6. pmos用在上拉网络,nmos用在下拉网络。

2、逻辑门

互补传导规则:nmos串联,pmos必须并联;nmos并联,pmos必须串联。保证上拉网络和下拉网络不会同时导通,即不出现短路。

  1. 非门:输入a,输出y,消耗2个晶体管
    1. 一个pmos,栅极接a,源极接vcc,漏极接y
    2. 一个nmos,栅极接a,源级接y,漏极接gnd
    3. 分析,a=1,mos的栅极上表面聚集正电荷,下表面聚集负电荷。pmos衬底是n型半导体,本身有自由电子,因此源极和漏极仍然断开。nmos衬底是p型半导体,本身有自由空穴,聚集负电荷之后,源极和漏极接通,因此y=0。
  2. 与门:消耗6个晶体管
    1. 一个与非门
    2. 级联一个非门
  3. 或门:消耗6个晶体管
    1. 一个或非门
    2. 级联一个非门
  4. 或非门:消耗4个晶体管
    1. 两个pmos串联,栅极接a,b,源极接vcc,漏极接y
    2. 两个nmos并联,栅极接a,b,源极接vcc,漏极接y
    3. 分析,a=0,b=0,pmos均导通,nmos均断开,y=1;a、b有一个为1,下拉网络导通,上拉网络断开,y=0
  5. 与非门:消耗4个晶体管
    1. 两个pmos并联,栅极接a,b,源极接vcc,漏极接y
    2. 两个nmos串联,栅极接a,b,源极接vcc,漏极接y
    3. 分析,a=1,b=1,pmos均断开,nmos均导通,y=0;a、b有一个为0,下拉网络断开,上拉网络导通,y=1
  6. 异或门:
    1. 实现方式两种,一个使用10个晶体管,一个使用12个晶体管
    2. 参考:COMS门电路的设计及其优化–以异或门为例
  7. 同或门
  8. 三态门

3、卡诺图化简

以下图为例:

image-20240104222749508
  1. 画出卡诺图,注意格雷码序;
  2. 画圈:
    1. 从大到小画圈,16格、8格、4格、2格、1格;
    2. 每个圈都要圈住1,最终圈住所有1;
    3. 可环绕画圈。
  3. 写出SOP(sum-of-products)
    1. 每个圈代表一个product,读法是“相异相消”;
    2. 将所有product相加;
    3. Y = b+c+a;(按照红、绿、蓝的顺序写的product)
  4. 补充:“相异相消”
    1. 比如 Y = A B + A B ˉ = A ( B + B ˉ ) = A Y = AB+A \bar B = A(B+\bar B) = A Y=AB+ABˉ=A(B+Bˉ)=A
    2. B + B ˉ = 1 B+\bar B =1 B+Bˉ=1恒成立;
    3. 圈中变量相异的,则无需管,相同的如实记录。
    4. 比如红圈,c相异,a相异,b相同且为1,则记录为b。

另一个例子:

image-20240104224105776
  1. 画圈
  2. 读SOP
    1. 红: b ˉ c ˉ \bar b \bar c bˉcˉ
    2. 绿: a ˉ d ˉ \bar a \bar d aˉdˉ
    3. 粉: a c d a cd acd
    4. 蓝: b c d bcd bcd
    5. Y = b ˉ c ˉ + a ˉ d ˉ + a c d + b c d Y= \bar b \bar c+\bar a \bar d+a cd+bcd Y=bˉcˉ+aˉdˉ+acd+bcd

可以想到:

  1. 圈1则是SOP
  2. 圈0则是POS
  3. 因此,谁少圈谁。
  4. 注意,圈0写出POS之后取反,利用布尔代数则得到圈0的POS。

4、复用器

使用逻辑门可以搭建一个复用器

  1. Y = D 0 S ˉ + D 1 S Y=D_0 \bar S + D_1 S Y=D0Sˉ+D1S
  2. 两个与门、一个非门、一个或门
  3. 优化:减少晶体管, Y = D 0 S ˉ + D 1 S = ( D ˉ 0 + S ) ( D 1 S ) ˉ Y = D_0 \bar S + D_1 S = (\bar D_0+S)\bar {(D_1S)} Y=D0Sˉ+D1S=(Dˉ0+S)(D1S)ˉ
  4. 一个与非门、一个与门、一个或门、一个非门

这篇关于数字逻辑电路入门:从晶体管到逻辑门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/576270

相关文章

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

SpringCloud Stream 快速入门实例教程

《SpringCloudStream快速入门实例教程》本文介绍了SpringCloudStream(SCS)组件在分布式系统中的作用,以及如何集成到SpringBoot项目中,通过SCS,可... 目录1.SCS 组件的出现的背景和作用2.SCS 集成srping Boot项目3.Yml 配置4.Sprin

MySQL数据库读写分离与负载均衡的实现逻辑

《MySQL数据库读写分离与负载均衡的实现逻辑》读写分离与负载均衡是数据库优化的关键策略,读写分离的核心是将数据库的读操作与写操作分离,本文给大家介绍MySQL数据库读写分离与负载均衡的实现方式,感兴... 目录读写分离与负载均衡的核心概念与目的读写分离的必要性与实现逻辑读写分离的实现方式及优缺点读负载均衡

SpringMVC配置、映射与参数处理​入门案例详解

《SpringMVC配置、映射与参数处理​入门案例详解》文章介绍了SpringMVC框架的基本概念和使用方法,包括如何配置和编写Controller、设置请求映射规则、使用RestFul风格、获取请求... 目录1.SpringMVC概述2.入门案例①导入相关依赖②配置web.XML③配置SpringMVC

MySQL索引踩坑合集从入门到精通

《MySQL索引踩坑合集从入门到精通》本文详细介绍了MySQL索引的使用,包括索引的类型、创建、使用、优化技巧及最佳实践,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录mysql索引完整教程:从入门到入土(附实战踩坑指南)一、索引是什么?为什么需要它?1.1 什么

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理

mybatisplus的逻辑删除过程

《mybatisplus的逻辑删除过程》:本文主要介绍mybatisplus的逻辑删除过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录myBATisplus的逻辑删除1、在配置文件中添加逻辑删除的字段2、在实体类上加上@TableLogic3、业务层正常删除即