数电

    硬件     数电

数电

请观看pdf

==注:此笔记结合课本、配套PPT看==

第一章

1. 二进制数的补码:

  1. 最高位为符号位(0为正,1为负)
  2. 正数的补码和它的原码相同
  3. 负数的补码=数值位迟位求反+1

2. 为什么有这种原则?

  • 还是为了\(5+(-5)=0\)可以实现

编码的目的:区分信息和事物,为数字电路处理信息打基础

  • 0、1编码是为了信息处理,最后还要解码
  • 在进入数字电路世界之前,要进行编码,编码的目的是把一个现实世界转换成二进制
  • image-20210424095505689

第二章 逻辑代数基础

学习重点

  • 基本逻辑运算
  • 公式表示方法
  • 逻辑函数的化简

知识点

  • 香农提出了电子电路和0 1的关联

image-20210424100327691

  • 基本公式和常见公式
  • 代入定理
  • 反演定理(在逻辑代数中有一定意义,但在数字电路实现中,意义不大)

image-20210424205701745

逻辑代数描述方法

  • 真值表——抽象度不高,但描述是确定的

  • 逻辑式——表达最简洁

  • 逻辑图——跟电路对应关系最好

  • 波形图——实验室最容易得到

  • 卡诺图

  • 硬件描述语言

    同一中逻辑关系在不同形式下的编码方式

表示方法可以不同,但是对同一个逻辑关系来讲,是可以相互转化的

image-20210424110606155

根据搭建电路所需要的器件类型,对逻辑函数进行一定化简(德摩根+常用公式)

  • 真值表\(\Leftrightarrow\)逻辑式 $ $
  • 逻辑式\(\Leftrightarrow\)逻辑图 \(\checkmark\)
    • 逻辑式\(\rightarrow\)逻辑图,需要根据所有的门类型,对逻辑式进行转化
    • 逻辑图\(\rightarrow\)逻辑式,在分析中常用,拿到别人设计的电路图,想知道功能时
      • 实验室
      • 写出逻辑式
  • 波形图\(\rightarrow\)真值表 \(\checkmark\)
    • 要看波形图是否完整,要遍历所有值,波形图一列对应真值表一行
  • 波形图\(\rightarrow\)逻辑式 \(\checkmark\)

逻辑函数两种标准形式

  • 最小项\(m\)之和

    • 最小项是乘积项,值为\(1\),来源于真值表。\(0\)容易,得\(1\)难,得\(1\)只对应一种情况,写\(1\)的式子
    • \(n\)个变量,均以原变量与反变量的形式出现一次
    • 最小项一定取了真值表的某一行
    • 最小项编号的时候,以令最小项为\(1\)的取值为编号,因为只有唯一一种情况,使最小项为\(1\)

    最小项性质:

    • 在任意输入变量取值下,有且仅有一个最小项为\(1\)
    • 全体最小项之和为\(1\)
    • ==任意两个最小项之积为\(0\)。因为任何取值,无法使两个最小项同时为\(1\)==
    • ==两个相邻的最小项之和可以合并==。相邻:仅有一个变量不同的最小项

    image-20210424205551903

  • 最大项\(M\)之积

    • 最大项是项、相加项。\(1\)容易,得\(0\)难,得\(0\)只对应一种情况,写\(0\)的式子
    • 一个最大项也对应真值表某一行
    • 最大项编号的时候,以令最大项为\(0\)的取值为编号,因为只有唯一一种情况,使最小项为\(0\)

    image-20210424205111833

image-20210424205146673

卡诺图化简(用对称展开的方式理解,对称的方块都是相邻的

  • 实质:将逻辑函数的最小项之和以图形方式表示

  • 最小项用方块表示,逻辑相邻用几何相邻表示,运用了相邻最小项可以合并的原理

  • image-20210424205219633

  • image-20210424205248745

  • 卡诺图和真值表一样,逻辑式不写成最小项的形式,一样可以填卡诺图

  • 画卡诺图不必把逻辑式化成最小项的形式,可以直接画

    • \(example:Y(A,B,C,D)=A'B'C'D+A'BD'+AB'\)

      • \(AB'\)对应\(4\)个最小项:

      \[ \begin{align} AB'& = AB'(C+C')=AB'C+AB'C'\\ & =AB'C(D+D')+AB'C'(D+D')\\ & =AB'CD+AB'CD'+AB'C'D+AB'C'D'\\ & = \sum(m_{11},m_{10},m_9,m_8) \end{align} \]

      • \(A'BD'\)对应\(2\)个最小项
      • \(A'B'C'D\)对应\(1\)个最小项

image-20210424152406666

  • 合并最小项的原则:
    • 两个相邻最小项可合并为一项,消去一对因子
    • 四个排成矩形的相邻最小项可合并为一项,消去两对因子
    • 八个相邻最小项可合并为一项,消去三对因子
  • 化简原则
    • 圈尽可能地大('或'少)
    • 一个圈包围的方块尽可能的多(‘与’少)
  • 两变量卡诺图最多可以含有\(2\)个最小项,且不能化简
  • 三变量卡诺图最多可以含有\(4\)个最小项,且不能化简
  • 四变量卡诺图最多可以含有\(8\)个最小项,且不能化简(对折展开原理)
  • ==一个逻辑函数如果可以表示成最小项之和,也一定能表达成最大项之积,而最小项和最大项的标号是互补的==

具有无关项的逻辑函数及其化简

  • 约束项:逻辑函数中对输入变量的取值有限制,与这些被限制的取值对应的最小项称为约束项

  • 任意项:在输入变量某些取值下,函数值为1或0不影响逻辑电路的功能,与这些取值对应的最小项称为任意项

  • 无关项:约束项和任意项统称为无关项,它们可以写入逻辑式,也可以不写入逻辑式。

  • 无关项是设计人员基于一定物理背景下的应用

第三章 门电路

1. 简单介绍

  • 选择离散的电压信号(离散的电压序列)表示信息

    • 电压容易产生、测量

    • 低功耗,有电压可以没电流

    • 易受环境的影响

    • 需要直流

    • 电压遇到\(RC\)网络慢

  • Voltage pros:

    • easy generation, detection
    • lots of engineering knowledge
    • potentially low power in steady state zero
  • Voltage cons:

  • easily affected by environment

  • DC connectivity required?

  • R & C effects slow things down

image-20210424195054922

  • Noise and inaccuracy are inevitable: we can't reliably reproduce infinite information--we must design our system to tolerate some amount of error if it is to process information reliably.

  • 在模拟系统中,\(0.37和0.369\)是不一样的,最后造成误差

  • Why digital?

    • because it keeps the contracts simple. 可靠,具有tolerate some amount of error的能力
    • But the price we pay for this robustness: All the information that we transfer between modules is only 1 crummy bit!
  • \(example:\)要传\(0.37\mathrm{volt}\)的信号,模拟系统中一根线就可以,而在数字系统中,要\(0.37\rightarrow\)二进制(\(010100....\))

    • 要么多根线传输,牺牲空间
    • 要么一根线,\(1bit、1bit\)的传输,牺牲时间
  • 表面上\(0、1\),实际上传的还是电压信号,那为什么还能有tolerate some amount of error的能力?

    • 所有的数字器件必须签合同。
    • \(Contract\) : I will only output $1's $ and \(0's\). and they will be \(GOOD\) \(1's\) and \(0's\), Yet. I will tolerate inputs that are not quite up to my high standards.​
  • Using Voltages "Digitally"

    • Key idea: don't allow \(“0”\) to be mistaken for a \(“1”\) or vice versa
    • Use the same "uniform representation convention" for every component and wire in our digital system to implement devices with high reliability, we outlaw "close calls" via a representation convention which forbids a range of voltages between "0" and "1"
    • image-20210424203813475

    数字电路中,也丢失了一些东西

    • 当逻辑函数的真值表从一行变到另一行的时候,每一行都是确定的值,但变化的时候每一个值都在经过\(Forbidden \ Zone\)这个区。即只知道真值表(稳定时候的值),并不是每时每刻输出都有意义,逻辑代数没有描述非静态下的表达
  • image-20210424204945891

  • \(CMOS\)制造工艺中,\(sio_2\)层很薄,薄到要去数原子个数,所以很容易被击穿,因此要加保护电路

  • ==输出低电平时,希望\(MOS\)管工作在哪个区?==

  • image-20210426212511021
    • 输出电平,导通的\(MOS\)管起开关作用,目的是把"地"拉出来,起下拉的作用,希望在这个器件上的压降小,\(v_{ds}\)小,故\(MOS\)管工作在线性区
  • 所有的信号,只有流经电路,就一定会在时间上留下痕迹——==延迟==

  • \(CMOS\)反相器由于上下两个管子的互补特性,在给出了理想的高低电平的同时,也带来了一个问题:==在过渡区时,两个管子同时导通==,不是工作在我们所期望的截止区和线性电阻区,而是工作在恒流区,有一个==尖峰电流(是动态功耗的来源),导致动态功耗一定不为0==。\(CMOS\)反相器静态功耗近乎为0,动态功耗一定不为0。动态,即在\(0 \rightarrow1 \ and\ 1\rightarrow0\)之间跳变的时候,尖峰电流是动态功耗的来源。

  • 数字电路的电源电压\(V_{DD}\)一直在下降,动态功耗会降低很多,因为动态功耗是数字电路主要的功耗。但降低电源电压,数字化的'0'和'1'会很接近

  • \(CMOS\)电路原则

    • 由上拉(\(PMOS\))和下拉(\(NMOS\))两部分组成,上拉负责输出1,下拉负责输出0,上拉和下拉要覆盖真值表的所有行。
    • 上拉和下拉不能同时导通
    • 上拉由\(PMOS\)构成,下拉由\(NMOS\)构成,就注定了,上拉全由反变量控制(\(PMOS\)由反变量控制),下拉全由原变量控制
  • \(CMOS\)器件在构成逻辑运算的时候,都是...非,不能直接得到与门,或门。因为\(NMOS\)通过控制原变量,下拉出地,输出反变量。而与、或运算是逻辑原变量的运算,输出还是原变量。

  • 串联拓扑结构天生代表逻辑'与'运算,并联拓扑结构天生代表逻辑'或'运算

  • ==反相器是\(CMOS\)电路中最小的逻辑单元==

第四章、组合逻辑电路

1. 看书和笔记

  • 编码器
    • 普通编码器
    • 优先编码器
  • 译码器
  • 数据选择器
  • 加法器
  • 竞争—冒险
image-20210515165122396
image-20210515165529756
  • 第一个图,当A,B=1时,出现了固定的竞争冒险,不是同时向相反变化偶然出现的。
  • 当卡诺图中出现相切时,就会出现固定的竞争冒险现象。与Y=A+A'的方法一样。因为当出现相切的时候,就是一个变量在变的时候,就会有A和A接反相器的电路,出现时间差

2. EDA工具

  • image-20210515170338966
image-20210515170702622
  • 希望把所有的硬件连线等都放在芯片中,需要EDA工作来做

  • 用EDA工具来设计,跟EDA配合使用的是可编程逻辑器件

  • 器件

    • 门电路,通用性好
    • 中规模器件,译码器、编码器等。都有自己的编号,功能表,不能改
  • image-20210515171858606
  • 用一种语言来描述我们所要设计和实现的电路

  • image-20210515172544196
  • 将通用型和专用型结合起来

    • 厂家在生产的时候是通用的,成本低,时间短
    • 芯片内部是自己定制的。在芯片内部放大量的门、运算器,如何连线,由用户定义
    image-20210515172847467
  • 在用通用型器件时,最烦的就是器件之间的连线

  • 可编程逻辑器件就像一个电子面包板,在器件的内部,准备好了大量的数字电路的基本模块,而基本模块的连接由EDA工具连接--------逻辑综合,把一个电路的描述和电路的实现挂钩

  • image-20210515173602836
  • 逻辑综合类似于:高级语言到机器码,由编译器完成。硬件描述语言描述的电路到电路连接实现,由EDA工具完成。我的描述告诉电路------>电路进行综合------->电路告诉芯片

  • image-20210515174309350
image-20210515174707872
image-20210515175202228
  • 硬件描述语言,写的程序看似有前有后,一逻辑综合完,就没有顺序,所有输入都被拉到前面,并行
  • image-20210515175708834
image-20210515175905095
image-20210515180025891
image-20210515180226919
  • 微电子行业的人喜欢用verilog
  • 可编程逻辑器件的人喜欢用VHDL,因为侧重从上往下,并不关心电路是如何实现的
  • Verilog偏底层,VHDL系统级
  • image-20210515181027954

第五章 时序逻辑电路

image-20210515181120392
image-20210515203541206
image-20210515204224905
  • 时序逻辑电路中,不是所有信号都是有效信号,当认为是有效信号时,才开启load存入记忆系统

  • image-20210515210523093
  • 上图这个电路没有输入,不能把0、1放进去。要把输入引出来,但反相器没发引

image-20210517095836570
image-20210517095911924
image-20210517101045077
  • 通过两条反馈线,与S=1, R=1的情况相与,变成S=0, R=1或S=1,R=0的信号,避免了SR同时为1
  • ==\(Q:\)但这两条反馈线对\(SR\ flip-flop\)置1、置0、保持功能有影响吗?==

page PV:  ・  site PV:  ・  site UV: