作者:young cc

链接:https://www.zhihu.com/question/23829080/answer/123791730
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

  • 数字电路CMOS电路中的与,或,非门等基本逻辑电路是由晶体管搭建起来的

第一个图是由两个晶体管搭成与门,第二个图是两个晶体管搭成或门。晶体管相当于一个开关控制电路导通截止。

反相器:把开关s1当做输入,当s1=1,开关闭合,输出0。当s1=0,开关断开,输出1。
把开关换成FET,就是一个实际的反相器原理图。把反相器的内部当做一个黑盒,就是你熟悉的反相器电路抽象。
 
 
有了基本逻辑门,我们就可以搭建电路,因为一个电路最终可以化成布尔表达式,而布尔表达式就是一堆逻辑运算,每个逻辑操作直接用相应逻辑门代替即可。如下面数据选择器(MUX)的例子。

我们想设计一个数据选择器,首先根据选择器的功能,我们可以画出真值表,然后化简出布尔表达式:

如上图,这个布尔表达式就是基本的逻辑操作,相应操作直接可以用逻辑门代替,如下图:
由这个例子可以看到,逻辑运算可以由基本逻辑门搭成。在实际电路设计中,归功于高度智能的EDA工具,我们并不需要真的写出电路间每个逻辑门的连接,写出电路上层功能EDA工具就能生成具体的底层逻辑门连接。
 
 
 
 
 

数字电路的与门、或门、非门--FPGA--005的更多相关文章

  1. FPGA技术的一些基本概念(综合、BlackBox)(转)

    原文:http://blog.sina.com.cn/s/blog_6254a8ca0100i0wr.html 原文也是转的,哈哈,大家多转转,转转更健康.删除了一些Xilinx的东西 前言 综合是将 ...

  2. 可参数化的带优先级的数据选择器的FPGA实现方式探讨

    在FPGA设计中,大部分情况下我们都得使用到数据选择器.并且为了设计参数化,可调,通常情况下我们需要一个参数可调的数据选择器,比如M选1,M是可调的参数. 如果,数据选择器是不带优先级的,我们可以使用 ...

  3. FPGA总结——杂谈

    数字设计   一.关于组合逻辑 竞争冒险:一个逻辑门的多个输入信号同时跳变(路径时延不同,使得状态改变的时刻有先有后).这种现象叫做竞争,引起的结果称为冒险. 消除毛刺(冒险):(1)增加冗余项:(2 ...

  4. fpga基础

    1.FPGA 的分类: 根据 FPGA 基本结构,可将其分为基于乘积项(Product-Term)技术的 FPGA 和基于查找表(Look-Up-Table)技术的 FPGA 两种. (1)基于乘积项 ...

  5. FPGA学习的一点总结

    做FPGA主要是要有电路的思想,作为初学者,往往对器件可能不是熟悉,那么应该要对数字电路的知识熟悉. FPGA中是由触发器和查找表以及互联线等基本结构组成的,其实在逻辑代码里面能够看到的就是与非门以及 ...

  6. FPGA基础架构总结

    1.为什么FPGA的整体逻辑的速度有限制? 与ASIC相比较,AS指的是(application specific)专用集成应用,而FPGA是可编程逻辑,在实现的过程中,AS是直接用最基础的逻辑门实现 ...

  7. 深度学习基础-基于Numpy的感知机Perception构建和训练

    1. 感知机模型   感知机Perception是一个线性的分类器,其只适用于线性可分的数据.          f(x) = sign(w.x + b) 其试图在所有线性可分超平面构成的假设空间中找 ...

  8. 继电器是如何成为CPU的(1)

    继电器是如何成为CPU的(1) ——<穿越计算机的迷雾>整理和总结 究竟是如何设计的电路,具有计算和控制的智力? 这一点也不高深.本系列文章从初中学的最简单的电路图说起,看看能不能从最初的 ...

  9. 电路相关知识--读<<继电器是如何成为CPU的>>

    电路相关知识–读<<继电器是如何成为CPU的>> */--> *///--> *///--> 电路相关知识–读<<继电器是如何成为CPU的> ...

随机推荐

  1. Python-位操作 ( &,|,~,^,<<,>>

    用于提高运算速度,规避算术运算符 在位操作运算中,不应该试图考虑先得到一个数的二进制码 ,而是应该将这个数看作是一个二进制码,二进制补码与整数之间是一一对应的. 诚然Python中有内置函数bin将一 ...

  2. Spring MVC浅析

    讲到MVC,想必大家都很熟悉,就是将数据模型.视图.控制器进行分离,做到分工明确,在Spring的帮助下,Spring MVC 更是做到了充分的解耦,因为大部分的资源都由Spring进行管理,为Spr ...

  3. CSS基础--属性选择器、伪类选择器

    属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  4. ToString()的简单介绍

    1.在某一个类中重写该类的toString()方法,是为了方便打印该类实例中的内容.

  5. Java-多线程第一篇多线程相关认识(1)

    1.单线程进程 如果程序执行某行代码时遇到了阻塞,则程序将会停滞在该处. 2.进程代表着一个程序,程序是静态的,进程是动态的程序. 进程是系统进行资源分配和调度的一个独立单位.关于进程有如下3个特征: ...

  6. python开发之路-day01

    1.Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为A ...

  7. NGUI多行输入框和滚动条结合使用(text list script 和scroll bar script)

    一,我们添加一个label,如下图:将label属性设置 二,给label添加一个box collider.然后在add component 添加test list,如下图: 三,添加一个脚本Test ...

  8. idea 创建 SSM + maven Java Web 项目流程

    idea 创建 SSM + maven Java Web 项目流程 一.idea 中选择File,New Project 新建项目 二.选择Maven,勾选上面的Create from archety ...

  9. Python人工智能识别文字内容(OCR)

    环境准备 安装pytesseract和PIL 安装这两个包可以借助pip命令行安装 pip install PIL pip install pytesseract 安装识别引擎tesseract-oc ...

  10. 前端学习(三十八)vue(笔记)

    Angular+Vue+React    Vue性能最好,Vue最轻=======================================================Angular     ...