Presentation is loading. Please wait.

Presentation is loading. Please wait.

数字系统设计复习 Digital System Design Summary

Similar presentations


Presentation on theme: "数字系统设计复习 Digital System Design Summary"— Presentation transcript:

1 数字系统设计复习 Digital System Design Summary
浙大数芯 数字系统设计复习 Digital System Design Summary 刘 鹏 June 21, 2018

2 基本公式 根据与、或、非的定义,得布尔恒等式 序号 公 式 10 1′ = 0; 0′= 1 1 0 A = 0 11 1 + A= 1 2
浙大数芯 基本公式 根据与、或、非的定义,得布尔恒等式 序号 公 式 10 1′ = 0; 0′= 1 1 0 A = 0 11 1 + A= 1 2 1 A = A 12 0 + A = A 3 A A = A 13 A + A = A 4 A A′= 0 14 A + A′ = 1 5 A B = B A 15 A +B = B + A 6 A (B C) = (A B) C 16 A + (B +C) = (A + B) + C 7 A (B +C) = A B + A C 17 A + B C = (A +B)(A +C) 8 (A B) ′ = A′ + B′ 18 (A+ B) ′ = A′B′ 9 (A ′) ′ = A ZDMC

3 逻辑函数的两种标准形式 最小项之和 最大项之积
浙大数芯 逻辑函数的两种标准形式 最小项之和 最大项之积 最小项 m: m是乘积项 包含n个因子 n个变量均以原变量和反变量的形式在m中出现一次 编号 对于n变量函数 有2n个最小项 ZDMC

4 最大项的编号: 最大项 取值 对应 编号 A B C 十进制数 1 1 1 7 M7 1 1 0 6 M6 1 0 1 5 M5 1 0 0
浙大数芯 最大项的编号: 最大项 取值 对应 编号 A B C 十进制数 1 1 1 7 M7 1 1 0 6 M6 1 0 1 5 M5 1 0 0 4 M4 0 1 1 3 M3 0 1 0 2 M2 0 0 1 1 M1 0 0 0 M0 ZDMC

5 浙大数芯 ZDMC

6 卡诺图化简法 逻辑函数的卡诺图表示法 实质:将逻辑函数的最小项之和的以图形的方式表示出来
浙大数芯 卡诺图化简法 逻辑函数的卡诺图表示法 实质:将逻辑函数的最小项之和的以图形的方式表示出来 以2n个小方块分别代表 n 变量的所有最小项,并将它们排列成矩阵,而且使几何位置相邻的两个最小项在逻辑上也是相邻的(只有一个变量不同),就得到表示n变量全部最小项的卡诺图。 将n变量的全部最小项各用一个小方块表示,使相邻的最小项在几何位置上也相邻地排列…… ZDMC

7 用译码器设计组合逻辑电路 1. 基本原理 3位二进制译码器给出3变量的全部最小项; 。。。 n位二进制译码器给出n变量的全部最小项;
浙大数芯 用译码器设计组合逻辑电路 1. 基本原理 3位二进制译码器给出3变量的全部最小项; 。。。 n位二进制译码器给出n变量的全部最小项; 任意函数 将n位二进制译码输出的最小项组合起来,可获得任何形式的输入变量不大于n的组合函数 ZDMC

8 采用数据选择器设计组合电路 基本原理 Y= D0A1’A0’ +D1A1’A0+D2A1A0’ + D3A1A0
浙大数芯 采用数据选择器设计组合电路 基本原理 Y= D0A1’A0’ +D1A1’A0+D2A1A0’ + D3A1A0 具有n-1位地址输入的数据选择器,可实现n个变量布尔函数。 数据选择器就是一个带或(OR) 门的译码器 Logic Function Generation Multiplexers can be used to implement logic functions directly from a truth table without the need for simplification. When a multiplexer is used for this purpose, the select inputs are used as the logic variables, and each data input is connected permanently HIGH or LOW as necessary to satisfy the truth table. ZDMC

9 加法器:半加器Half Adder, HA 半加器,不考虑来自低位的进位,将两个1位的二进制数相加.
浙大数芯 加法器:半加器Half Adder, HA 半加器,不考虑来自低位的进位,将两个1位的二进制数相加. 我们指定符号S(for sum) and CO(for carry) to the outputs。 输入为A和B。 真值表the truth table 输 入 输 出 A B S CO 1 一个异或门和一个与门 ZDMC

10 两个半加器和1个或门实现全加器 HA1 HA2 CO S A B CI S S CO CO FA ZDMC

11 两个半加器和1个”或”门实现全加器 Ai Pi XOR CIi Pi S HA Gi Bi CO CIi+1=Gi+PiCIi CIi
ZDMC

12 全加器Full Adder, FA 将两个1位二进制数A,B及来自低位的进位CI相加 输 入 输 出 A B CI S CO 1
浙大数芯 全加器Full Adder, FA 将两个1位二进制数A,B及来自低位的进位CI相加 输 入 输 出 A B CI S CO 1 74LS183 74HC183 ZDMC

13 数值比较器 MAGNITUDE COMPARATOR
浙大数芯 数值比较器 MAGNITUDE COMPARATOR 用来比较两个二进制数的数值大小 一、1位数值比较器 A,B比较有三种可能结果 ZDMC

14 组合逻辑电路中的竞争-冒险现象 竞争-冒险现象及成因 一、什么是“竞争” 两个输入“同时向相反的逻辑电平变化”,称存在“竞争”
浙大数芯 组合逻辑电路中的竞争-冒险现象 竞争-冒险现象及成因 一、什么是“竞争” 两个输入“同时向相反的逻辑电平变化”,称存在“竞争” 二、因“竞争”而可能在输出产 生尖峰脉冲的现象,称为 “竞争-冒险”。 ZDMC

15 浙大数芯 Verilog Operators ZDMC

16 R-S锁存器分析 断开反馈路径 Q(t) R Q Q(t+) S Q' R S
浙大数芯 R-S锁存器分析 断开反馈路径 R S Q Q' Q(t) Q(t+) S R S R Q(t) Q(t+) X X hold reset set not allowed 0 0 1 0 X 1 Q(t) R S characteristic equation Q(t+) = S + R’ Q(t) ZDMC

17 触发器Flip-Flop分类 逻辑功能分类 逻辑功能指按触发器的次态和现态及输入信号之间的逻辑关系. RS锁存器 JK触发器 T触发器
浙大数芯 触发器Flip-Flop分类 逻辑功能分类 RS锁存器 JK触发器 T触发器 D触发器 逻辑功能指按触发器的次态和现态及输入信号之间的逻辑关系. 特性表 特性方程 状态转换图 ZDMC

18 RS 锁存器 特性方程Qn+1=S+R’Qn RS Latch的状态转换图 特性表/真值表 1 0 1 1 0 0 0 0 0
浙大数芯 RS 锁存器 特性方程Qn+1=S+R’Qn RS Latch的状态转换图 特性表/真值表 1 S=1,R=0 S=0,R=1 S=X,R=0 S=0,R=X S R Qn Qn+1 保持 复位 置位 不定 ZDMC

19 JK 触发器 特性方程:Qn+1=JQn’+K’Qn JK FF的状态转换图 特性表/真值表 1 0 1 1 0 0 0 0 0
浙大数芯 JK 触发器 特性方程:Qn+1=JQn’+K’Qn JK FF的状态转换图 特性表/真值表 1 J=1,K=X J=X,K=1 J=X,K=0 J=0,K=X J K Qn Qn+1 保持 复位 置位 翻转 ZDMC

20 T 触发器 特性方程:Qn+1=TQn’+T’Qn T FF的状态转换图 特性表/真值表 T’触发器:T=1, Qn+1=Qn’ 1
浙大数芯 T 触发器 特性方程:Qn+1=TQn’+T’Qn T FF的状态转换图 特性表/真值表 T’触发器:T=1, Qn+1=Qn’ 1 T=1 T=0 T Qn Qn+1 保持 翻转 JK触发器的两个输入端连在一起作为T端,可以构成T Flip-flop ZDMC

21 D 触发器 特性方程:Qn+1=D D FF的状态转换图 特性表/真值表 1 1 1 1 0 0 0 0 1 0 1 0 1 D=1 D=0
浙大数芯 D 触发器 特性方程:Qn+1=D D FF的状态转换图 特性表/真值表 1 D=1 D=0 D Qn Qn+1 reset set ZDMC

22 FSM:有限状态机 采用输入信号和电路状态的逻辑函数去描述时序电路逻辑功能的方法 Mealy型 Moore型
浙大数芯 FSM:有限状态机 采用输入信号和电路状态的逻辑函数去描述时序电路逻辑功能的方法 Mealy型 输出信号取决于存储电路状态和输入变量 Moore型 输出只是存储电路现态的函数 输出与时钟同步 inputs Moore outputs Mealy outputs next state current state combinational logic ZDMC

23 移位寄存器 保持4个值 串行或并行输入 串行或并行输出 左移或右移 左边或右边移入新值 left_in left_out right_out
浙大数芯 移位寄存器 保持4个值 串行或并行输入 串行或并行输出 左移或右移 左边或右边移入新值 left_in left_out right_out clear right_in output input s0 s1 clock clear sets the register contents and output to 0 s1 and s0 determine the shift function s0 s1 function hold state shift right shift left load new input ZDMC

24 移位寄存器设计 考虑4个触发器中1个 New value at next clock cycle: Nth cell
浙大数芯 移位寄存器设计 考虑4个触发器中1个 New value at next clock cycle: Nth cell to N-1th cell to N+1th cell Q D CLK clear s0 s1 new value 1 – – output output value of FF to left (shift right) output value of FF to right (shift left) input CLEAR s0 and s1 control mux 1 2 3 Q[N-1] (left) Q[N+1] (right) Input[N] ZDMC

25 浙大数芯 移位寄存器器Verilog module univ_shift (out, lo, ro, in, li, ri, s, clr, clk); output [3:0] out; output lo, ro; input [3:0] in; input [1:0] s; input li, ri, clr, clk; reg [3:0] out; assign lo = out[3]; assign ro = out[0]; clk or clr) begin if (clr) out <= 0; else case (s) 3: out <= in; 2: out <= {out[2:0], ri}; 1: out <= {li, out[3:1]}; 0: out <= out; endcase end endmodule ZDMC

26 1. N > M 原理:计数循环过程中设法跳过N-M个状态。 具体方法:置零法 置数法
浙大数芯 1. N > M 原理:计数循环过程中设法跳过N-M个状态。 具体方法:置零法 置数法 ZDMC

27 两类有限状态机 摩尔和米利FSM state(t+1) = F (state(t), input(t))
Output (t) = G (state(t), Input ) Output (t) = G (state(t)) Input Input state state Combinational Logic state(t+1) = F (state(t), input(t)) state(t+1) = F (state(t), input) Input / Out Input State State / out ZDMC

28 电路结构框图 核心 容量概念: 地址线: 存储矩阵 容量=字×位 地址译码器 (bits) 例 EPROM 27256 地址输入
A0 A1 . An-1 0单元 1单元 2n-1单元 W0 W1 D0 D1 Db-1 数据输出 地址译码器 存储矩阵 输出缓冲器 OE 三态 控制 容量=字×位 (bits) 地址输入 例 EPROM 27256 共有15位地址,8位输出, 其容量: 注意:1k=1024 1M=1024K 1G=1024M n线---2n线译码器 二进制译码器 “位”线:数据线 “字”线:只有一个有效 ZDMC

29 静态随机访问存储器单元 Read operation: 1. Select row
浙大数芯 静态随机访问存储器单元 6-Transistor SRAM Cell word (row select) 1 1 Read operation: 1. Select row 2. Cell pulls one line low and one high 3. Sense output on bit and bit Write operation: 1. Drive bit lines (e.g, bit=1, bit=0) 2. Select row Why does this work? When one bit-line is low, it will force output high; that will set new state bit bit The classical SRAM cell looks like this. It consists of two back-to-back inverters that serves as a flip-flop. Here is an expanded view of this cell, you can see it consists of 6 transistors. In order to write a value into this cell, you need to drive from both sides. For example, if you want to write a 1, you will drive “bit” to 1 while at the same time, drive “bit bar” to zero. Once the bit lines are driven to their desired values, you will turn on these two transistors by setting the word line to high so the values on the bit lines will be written into the cell. Remember now these are very very tiny transistors so we cannot rely on them to drive these long bit lines effectively during read. Also, the pull down devices are usually much stronger than the pull up devices. So the first thing we need to do on read is to charge these two bit lines to a high values. Once these bit lines are charged to high, we will turn on these two transistors so one of these inverters (the lower one in our example) will start pulling one of the bit line low while the other bit line will remain at HI. It will take this small inverter a long time to drive this long bit line to low but we don’t have to wait that long since all we need to detect the difference between these two bit lines. And if you ask any circuit designer, they will tell you it is much easier to detect a “differential signal” (point to bit and bit bar) than to detect an absolute signal. +2 = 30 min. (Y:10) ZDMC

30 选择器作为查找表 2n-1:1 mux can implement any function of n variables Example:
浙大数芯 选择器作为查找表 2n-1:1 mux can implement any function of n variables With n-1 variables used as control inputs and Data inputs tied to the last variable or its complement Example: F(A,B,C) = m0 + m2 + m6 + m = A'B'C' + A'BC' + ABC' + ABC = A'B'(C') + A'B(C') + AB'(0) + AB(1) C A B S2 8:1 MUX S1 S0 A B C F C' C' A B S1 S0 F 4:1 MUX C' C' 0 1 F ZDMC

31 算法流程图 Algorithmic State Machine Chart , ASM
ZDMC

32 ASM图中采用的符号和规则 ASM图:状态框
数字系统控制序列中的状态用状态框表示,状态框的形状是一个矩形,框内标出在此状态下实现的寄存器传输操作或输出输出,状态的名称置于状态框的左上角,分配给状态的二进制代码置于状态框的右上角. ZDMC

33 判断框 菱形框内填写条件变量的判断条件,经判断框后状态转移出现两个或多个分支,如图7.6中(a)所示。若条件是真,选定一个分支,若条件是假,选定另一个分支。图7.6 (b)是由两个判断框构成ASM图的实例。 ZDMC

34 条件框 条件框的形状为椭圆形,框内填写数据子系统进行的条件操作,框外填写必需的条件输出,条件框的输入通道必定来自判断框的分支,即条件框的操作或输出必须是在同时满足状态与条件的情况下才进行。 如图7.7 (b)所示。当系统处于状态S1时,如果条件X1=0,那么CLR被清“0”,否则CLR保持不变,同时不论X1为何值,系统的下一状态都是S2。 ZDMC

35 计数器型控制器 将所要求的控制状态按一定原则进行编码分配,就可设计出一种状态计数器型控制器。
图中计数器含有n个触发器,触发器的状态作为状态变量以二进制编码的形式赋于ASM流图中的每一个状态框,而条件输出框不予赋值。 使用寄存器产生控制状态,使用译码器产生与每个状态对应的输出信号。若使用一位热位编码,就不需要使用译码器。 ZDMC

36 微程序 微程序控制的基本思想,就是仿照通常的解题程序的方法,把所有的操作控制信号汇集一起编码成所谓的微指令,存放在一个存储单元里。系统运行时,一条又一条地读出这些微指令,从而产生系统所需要的各种操作控制信号,以控制各逻辑部件执行所规定的操作。 控制部件通过控制线向执行部件发出各种控制命令,我们把这种控制命令称为微命令,而执行部件接受微命令所执行的操作叫作微操作。 ZDMC

37 微指令的典型结构 微指令除给出微命令信息外,还应给出测试判别信息。 微指令中还包含一个下址字段,该字段将指明存储器中下一条微指令的地址 。
浙大数芯 微指令的典型结构 微指令除给出微命令信息外,还应给出测试判别信息。 微指令中还包含一个下址字段,该字段将指明存储器中下一条微指令的地址 。 微程序是由若干条微码指令组成的序列。 长条框内的符号×表示一个二进制位(bit)。其中微命令字段用于操作控制;×编码为1时表示有微命令,×编码为0时表示无微命令。测试判别字段和下址字段一起实现顺序控制:当测试判别字段无效时(×编码为0),下址字段信息即是下条微指令的地址;当测试判别字段有效时(×编码为1,可以有多个测试),根据反馈线来的“状态”信息对下址字段信息进行修改,修改后的地址即为下条微指令的地址。 ZDMC

38 微程序控制器的一般结构 控制存储器存放微码程序 微命令寄存器当前微码指令的控制信息 微地址寄存器存放下条微指令的地址 地址转移逻辑 浙大数芯
存放下条微指令的地址,它可由带R和S端的D触发器组成,其中R端用来清除寄存器,S端用来强置1。后者可用来修改寄存器的内容。也可以不用强置端修改,由打入端分时打入修改内容。 地址转移逻辑 微码指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。如果当前微指令的测试字段Pi标明要测试判别时,意味着微程序出现分支,即出现条件转移。此时,通过测试标志Pi和执行部件反馈的“状态条件”信号所组成的地址转移逻辑电路去修改微地址寄存器的内容,并按修改好的微地址读出下一条微指令。 ZDMC

39 一阶电路的分析 三要素方法 时间常数τ: 初始值x(0+): 趋向(稳态)值x(∞): 电容不再充放电,ic=0.此时,电容可视为开路。
浙大数芯 一阶电路的分析 三要素方法 时间常数τ: 初始值x(0+): 趋向(稳态)值x(∞): 电容不再充放电,ic=0.此时,电容可视为开路。 电感电流不再变化,vL=0.此时,电感可视为短路。 ZDMC

40 浙大数芯 积分电路与微分电路 对于有RC构成的积分电路来说,输出取自电容,输出电压是与电容上的电压成正比的。从电容特性知道,电容上的电压正比于它上面的电荷,而电容上的电荷是流过电容电流在时间上的积分(记住电流的概念是单位时间流过的电荷),所以输出电压正比于对电容电流的积分,故称积分电路。 微分电路的输出是在电阻上取出的(关键的区别!!),根据欧姆定律,电阻上的电压正比于流过电阻的电流,而流过电阻的电流也就是流过电容的电流。从上面讨论知道,流过电容的电流正比于电容上电压的微分,所以,输出电压正比于电容电压的微分,故称微分电路。 ZDMC

41 555定时器电路结构与功能 输入 输出 × 1 导通 导通 不变 不变 1 截止 1 截止 一、结构图 复位端
浙大数芯 555定时器电路结构与功能 一、结构图 复位端 二、功能表:(控制端VCO悬空) 输入 输出 VI1 VI2 VO TD状态 × 1 阈值端 R S 导通 R=0,S=1 导通 触发端 R=1,S=1 不变 不变 放电端 1 R=1,S=0 截止 R=0,S=0 1 截止

42 Fault Model (故障模型) Stuck-At Model(固定型故障模型)
Assume selected wires (gate input or output) are “stuck at” logic value 0 or 1 Models curtain kinds of fabrication flaws that short circuit wires to ground or power, or broken wires that are floating Wire w stuck-at-0: w/0 Wire w stuck-at-1: w/1 Often assume there is only one fault at a time—even though in real circuits multiple simultaneous faults are possible and can mask each other Obviously a very simplistic model! curtain:隐藏 ZDMC

43 内建自测试BIST Test Vector Generator x0 P0 . . xn-1 Pm-1
浙大数芯 内建自测试BIST x0 . xn-1 P0 . Pm-1 Test Vector Generator Circuit Under Test Test Response Compressor Signature Test Vector Generator Pseudorandom tests with a feedback shift register Seed generates a sequence of test patterns Outputs combined using the same technique Generates a unique signature that can be checked to determine if the circuit is correct ZDMC

44 微处理器结构 什么是微处理器? 微处理器由一片或少数几片大规模集成电路组成的中央处理器。 这些电路执行控制部件和算术逻辑部件的功能。
微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。 微处理器的主要结构 冯诺依曼结构 将程序存储和数据存储放在同一物理存储空间 相同的总线 硬件简单 哈佛结构 将程序存储和数据存储分别放在不同的物理存储空间 不同的总线 灵活、速度快 ZDMC

45 冯诺依曼计算机模型 四个主要组成部分 输入 输出 存储系统 微处理器(控制单元和数据通道) 冯诺依曼计算机模型 ZDMC

46 微处理器内部结构 微处理器的两个主要部分: 控制单元 用于控制数据通路的所有操作,实现微处理器运算的正确性 数据通路
浙大数芯 微处理器内部结构 微处理器的两个主要部分: 控制单元 用于控制数据通路的所有操作,实现微处理器运算的正确性 数据通路 主要包括运算单元ALU、存储单元(寄存器)及其相互连接 ZDMC 微处理器内部结构

47 指令集 专门执行一些指令集的微处理器 利用指令集编写不同的程序完成不同的处理任务 需要多少条指令集? 每条指令是什么?
每条指令的操作码(opcode)是什么? 指令编码使用多少位宽的数据? 程序指针(Program Counter, PC)寄存器 指令寄存器(Instruction Register, IR) 微处理器整体结构 RISC CISC ZDMC

48 数据通路 指令集中操作的数据通路 执行指令周期中的取指操作,并递增PC值或者加载新的PC值 存储器 实现指令集中所有指令的操作 ZDMC

49 微处理器的三个执行步骤 指令周期 (1)取指 即从程序存储器中把PC所指向的指令取出,拷贝到IR ; PC+1指向下一条指令的地址; (2)译码 从IR中提取出操作码,对指令所要做的操作进行翻译; 决定当前执行那一条指令,跳转到那一个对应的状态去; (3)执行指令 每一步将在有限状态机的一个状态被执行。 每个指令通常在一个时钟周期内执行 有些情况下一些存储器操作的指令可能需要两个甚至更长的时钟周期,这种情况下就需要更多的状态来实现正确的时序。 一般而言,程序的指令都是存储在外部寄存器中的,所以除了CPU外,微处理器一般还需要外部存储器以及连接外部存储器与CPU的地址以及数据总线。 ZDMC

50 体系结构

51 体系结构 哈佛架构 load-store 设计 程序和数据地址都为 12 位宽 支持多达 32 个不同的 I/O 设备 数据总线 4 位宽
程序总线 8 位宽 4 位的指令操作码 4 位的直接操作数或目标地址的高位 load-store 设计 数据可以在“A”和 RAM 中的内存位置之间移动 程序和数据地址都为 12 位宽 支持多达 32 个不同的 I/O 设备 程序计数器(PC)提供程序 ROM 的地址。程序字节与其他状态位相结合,为微码 ROM 提供地址。这些 ROM 在适当的时间生成内部控制信号,用于 CPU 中其他芯片所需的置数(load)、使能(enable)和递增(increment)。每个 ROM 输出 16 个总控制信号中的 8 个。程序字节(program byte)也用于构造 RAM 和跳转(jump)目标的地址,以及将立即数放在数据总线上。 ZDMC

52 祝各位同学2018年暑假愉快! 参考往年题目考察点 数字电路:约75%,逻辑、时序、控制器、测试验证、微处理器 VERILOG HDL:10%;脉冲电路:10-15%


Download ppt "数字系统设计复习 Digital System Design Summary"

Similar presentations


Ads by Google