专用集成电路教学课件第五章_第1页
专用集成电路教学课件第五章_第2页
专用集成电路教学课件第五章_第3页
专用集成电路教学课件第五章_第4页
专用集成电路教学课件第五章_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章:数字电路系统设计

5.1二进制加法器(Adder)——加法器是数字运算系统中最基本的单元电路,任何复杂的二进制算术运算一般都是按照一定的规则通过基本的加法操作来实现的。5.1.11位加法器——半加器与全加器半加器(HalfAdder)ABSumCarry0000011010101101一位半加器逻辑表达式图:一位半加器真值表

5.1二进制加法器(Adder)

5.1.11位加法器——半加器与全加器全加器(FullAdder)

全加器真值表和逻辑表达式ABCinSumCout0000001010100101100100110011011010111111

5.1二进制加法器(Adder)

5.1.11位加法器——半加器与全加器全加器(FullAdder)

一位全加器逻辑电路图

5.1二进制加法器(Adder)5.1.11位加法器——半加器与全加器全加器(FullAdder)一位全加器MOS管电路图

5.1二进制加法器(Adder)5.1.11位加法器——半加器与全加器全加器(FullAdder)一位全加器集成电路版图

5.1二进制加法器(Adder)

5.1.2

n位并行加法器并行相加是指n位被加数中的每一位与n位加数中的各个对应位同时相加。n位并行加法器由n个一位全加器相互连接构成,其连接方式决定了该加法器的电路复杂程度和运算速度。行波进位加法器(RippleCarryAdder)

5.1二进制加法器(Adder)

5.1.2n位并行加法器行波进位加法器(RippleCarryAdder)结构特点

该加法器每一位的进位输入均由相邻的低位送来,在最高位(n-1)得到最后的进位输出Carry,输出的“和”SUM则从各个相应位取得。性能特点:延迟计算Ta=nTc•电路简单、规则,易于IC版图的设计与实现;•主要缺点:进位信号是从最低位向最高位逐级传递的(就是所谓的行波),只有这样才能获得正确的结果;

5.1二进制加法器(Adder)

5.1.2n位并行加法器选择进位加法器(CarrySelectAdder)结构特点•将n位操作数分成相同位数(p位)的m组;•每一组由两个p位的行波进位加法器和一个多路数据选择器(MUX)构成;•两个加法器的进位输入分别是“1”和“0”;•MUX用于从两个加法器的“和”中选择一个作为最终的结果;

5.1二进制加法器(Adder)5.1.2n位并行加法器选择进位加法器(CarrySelectAdder)性能特点延迟计算Tc:一位全加器的进位延迟;Tmux:MUX的延迟时间;Tsel:MUX数据选择信号的生成延迟;•m个分组的数据以完全并行的方式相加;•分组内的p位数据则按行波进位的方式相加;

5.1二进制加法器(Adder)5.1.2n位并行加法器超前进位加法器(CarryLookaheadAdder)

设计高速并行加法器的关键在于如何设计出延迟时间最小的进位信号处理电路。超前进位是在对多位加法运算算法进行深入研究的基础上,依据低位的加数和被加数的状态来判断本位是否有进位,而不必等待低位送来的实际进位信号,从而大大提高多位加法的运算速度。超前进位算法的研究•N位加法运算中,某一位数的相加是否产生进位的条件是:•N位加法运算中,其进位输入直接传递到该位进位输出的条件是:

5.1二进制加法器(Adder)

5.1.2n位并行加法器超前进位加法器(CarryLookaheadAdder)•进行第i位加法运算方法:首先进行进位产生和进位传递函数的计算:

然后根据Gi与Pi的结果计算该位的和与进位:将Ci+1的计算公式向下递归使用,可得:

5.1二进制加法器(Adder)

5.1.2n位并行加法器超前进位加法器(CarryLookaheadAdder)四位超前进位加法运算算法:•根据上页介绍的方法可以推导出四位超前进位算法如下:上面公式可以看出,每一特定位的进位信号可以直接从本位以及比它低的各位加数、被加数和C0的状态来作出判断,而不需要等待低位实际送来的进位信号。这样一来,任意一位所需的进位信号只要各个相关信号输入后经过两级门延迟即可获得,加法的运算速度与参与运算操作数的位数无关。

5.1二进制加法器(Adder)

5.1.2

n位并行加法器超前进位加法器(CarryLookaheadAdder)

根据上页公式,可以获得四位超前进位加法器的电路结构

5.1二进制加法器(Adder)

5.1.2

n位并行加法器超前进位加法器(CarryLookaheadAdder)

超前进位产生电路模块的逻辑电路如下:由上图可以看出,每一位的进位信号都要包含所有比它低各位的P和G两个函数,当参与运算的位数较多时,低位所产生的P和G函数所要驱动的负载会过重,而且整个超前进位形成逻辑电路会非常复杂难以实现,因此一般超前进位形成逻辑电路均以四位为基础构成。

5.1二进制加法器(Adder)

5.1.2

n位并行加法器超前进位加法器(CarryLookaheadAdder)四位超前进位加法器电路(74×283)

5.1二进制加法器(Adder)

5.1.2

n位并行加法器超前进位加法器(CarryLookaheadAdder)超前进位形成逻辑的递归使用图:16位超前进位加法器电路

5.1二进制加法器(Adder)5.1.3浮点数加法器(FloatingPointAdder)浮点数的表示方法在浮点数中小数点的位置可以左右移动,其表示方法为:式中:

M(Mantissa):浮点数的尾数;R(Radix):浮点数中阶的基数;E(Exponent):浮点数中阶的阶码;

5.1二进制加法器(Adder)

5.1.3浮点数加法器(FloatingPointAdder)浮点数的格浮点数的表示方法计算机中浮点数的表示方法——计算机中规定浮点数的基数R为一般2、8或16,在实际应用中主要为2,由于该R为固定值,所以不需要在浮点数中明确地表示出来。因此要表示浮点数,必须:

•给出尾数M:通常使用定点小数形式表示(用纯小数原码),其位数决定了浮点数的精度。

•给出阶码E:通常用整数形式表示(整数形式移码),用其指示小数点在数据中的位置,其位数决定了浮点数的表示范围。

•浮点数的符号位Ms:0—正数,1—负数。•浮点数的格式

5.1二进制加法器(Adder)

5.1.3浮点数加法器(FloatingPointAdder)浮点数的表示方法

为了进一步统一浮点数的表示与运算方法,IEEE对浮点数的表示方法规定了一个标准的格式。IEEE标准浮点数的表示方法如下:

5.1二进制加法器(Adder)

5.1.3浮点数加法器(FloatingPointAdder)浮点数加/减法的运算规则浮点数加、减法的运算规则是在保证参与运算两数的阶码大小一致的情况下,进行尾数的相加或相减操作。

5.1二进制加法器(Adder)

5.1.3浮点数加法器(FloatingPointAdder)

浮点数加/减法的运算步骤•阶码相减(ES):计算2个数阶码之差的绝对值|Ea–Eb|=d。•对阶(Alignment)操作(Align):将较小操作数的尾数右移d位,并将较大操作数的阶码记为Ef。•尾数相加/减(SA):依据符号位,对两个操作数进行加法或减法操作。•数据转换(Conv):若尾数相加/减的结果为负数,需将结果转换成符号—数值表示方式,结果记为Sf。•尾数首位“1”检测(LOD):计算规格化时尾数需要左/右移动的位数,并标记其为En。若En为正,则为右移(仅右移1位,对应于尾数结果溢出的情况),否则为左移。•规格化(Normalization)处理(Norm):尾数移位En位,同时将En加到阶码Ef上。•舍入操作(Roud):执行IEEE舍入操作,即在需要时在尾数S的最低位加1,这可能导致溢出,此时须将尾数右移1位,同时阶码Ef加1。

5.1二进制加法器(Adder)

5.1.3浮点数加法器(FloatingPointAdder)浮点数加/减法的运算步骤

5.1二进制加法器(Adder)

5.1.3浮点数加法器(FloatingPointAdder)浮点数加/减法的运算电路结构的改进

原有算法的缺点•对阶操作和计算结果规格化处理时需要两个全长度的移位器;•尾数运算、数据转换和舍入操作时需要三个尾数加法器;

5.1二进制加法器(Adder)

5.1.3浮点数加法器(FloatingPointAdder)浮点数加/减法的运算电路结构的改进

算法的改进•数据转换操作仅在尾数操作的结果为负值(实际上是在做减法)时才需要,而且此操作可以通过交换尾数相减时的减数和被减数来得以避免(但在阶码相等时例外,但此时不需要进行舍入操作)——有尾数交换的算法中,舍入和数据转换操作是相互排斥的;•在仅有加法的情况下,尾数操作结束后只可能使结果增加,于是只有全长度的对阶移位器是必须的。对于减法操作,分成两种情况:一种情况是阶码的差值d>1(记为FAR),此时需要一个全长度的对阶移位器,但所得结果规格化时,最多只需要进行1位左移操作。另一种情况是d≤1(记为CLOSE),这时不需要全长度的对阶移位器,但是必须要有全长度的规格化移位器。由此可见,全长度的对阶移位器和规格化移位器是互斥的;•通过对尾数操作结果中高位打头“0”的个数的预测,在操作数输入后就进行LOD操作,此时的操作称为LOP(Leading-One-Prediction)。浮点数加/减法的运算电路结构的改进—双路径浮点数加/减法电路阶码差值:d>1阶码差值:d≦1d=1d>1

5.2二进制乘法器(Multiplier)

5.2.1二进制乘法运算的步骤第一步:从输入数据中依照乘数的状态产生部分积(如何产生部分积使乘法运算速度加快是设计乘法器电路的主要问题之一);第二步:将各个部分积沿垂直方向加起来产生最终的结果(要采用某种运算策略,将所有的部分积最终合并(化简)成部分积和(Sum)与部分积进位(Carry)两部分。由于该运算策略与电路的实现结构关系紧密,所以它也是乘法器电路研究的一个重要问题);第三步:将上一步骤获得的部分积和(Sum)与部分积进位(Carry)相加获得最终的乘积;

5.2二进制乘法器(Multiplier)

5.2.1二进制乘法运算的步骤

用“点图(DotDiagram)”来表示二进制乘法运算的步骤

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构——数字乘法器有多种电路实现方式,其结构有的简单有的复杂。简单的电路结构运算速度慢,复杂的电路结构则可以获得很高的运算速度。○移位式数字乘法器电路构成•部分积产生电路•加法器电路•乘积移位电路(右移)

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构线性阵列(LinearArray)数字乘法器

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构并行数字乘法器——并行数字乘法器完全采用组合逻辑电路,其工作过程与上面所述的乘法运算步骤相类似,即:通过部分积产生电路同时产生所有的部分积,运用某种运算策略,将所有的部分积最终合并(化减)成部分积和(Sum)与部分积进位(Carry)两部分,然后将这两部分通过多位并行加法器相加得到最终的结果。根据部分积化简策略的不同,并行数字乘法器具有不同的电路结构形式。

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构部分积的产生①产生部分积的简单方法——乘法运算中的第一步就是以一定的算法产生部分积。最为简单产生部分积的方法可以用下面的点图及例子说明:乘数(低高)被乘数

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构部分积的产生•部分积的产生——实例

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构部分积的产生•部分积的产生电路

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构部分积的产生•使用该方法的特点

由此方法产生部分积与手工计算完全一致,用于生成部分积的电路非常简单,如图上所示。但该方法的缺点是显而易见的,即:对于任意一位的乘数,都要产生相应的部分积,若参与运算的操作数的位数为N,就要产生N个部分积。要将所有的部分积全部加起来需要使用数量很大(与部分积个数成正比)的加法器电路,而且部分积级数越多,其求和速度越慢。如果能够减少计算中生成部分积的个数,就能够有效地提高乘法的运算速度并降低电路规模。

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构部分积的产生

②采用加速Booth算法产生部分积•Booth算法产生部分积的基本思想

上面的方法中,对于乘数中的每一位,都要产生与其对应的部分积。而修正Booth算法按照乘数每2位的取值情况,一次求出对应于该2位的部分积,以此来减少部分积的个数。在运算中,每2位乘数有四种可能的组合,每种组合所对应的操作如下:•00—部分积相当于0•M,同时左移2位;•01—部分积相当于1•M,同时左移2位;•10—部分积相当于2•M(被乘数左移1位后即可获得)同时左移2位;•11—部分积相当于3•M,同时左移2位;

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构部分积的产生

②采用加速Booth算法产生部分积

•Booth算法产生部分积时部分积的计算2M的计算:采用将M算术左移1位的方法获得;3M的计算:3•M的计算比较复杂,解决方法是用4•M-M来替代。通常的作法是本次运算中只执行-M操作,而+4•M则归并到下一个部分积生成时执行。因为下一个部分积已经左移了2位,所以上次欠下的+4•M在此刻变成了+M(与移位后的部分积正好对齐)。同样也可以将-M归并至上一个部分积中运算,此时其变成-4•M;-M的计算:负数部分积用2的补码表示,具体做法是将相应正数值各个位分别求反,并在最低位加1后得到;

5.2二进制乘法器(Multiplier)

5.2.2数字乘法器的电路结构部分积的产生

③部分积的求和与化简

•部分积的求和

通常的做法:将部分积沿点图的纵向相加;

问题:需要使用多位加法器,存在进位延迟问题;

解决的办法:改变加法器进位端的连接方式,即采用保留进位加法器(CarrySaveAdder—CSA,亦称为3-2计数器),用所谓“斜加”的方式将进位信号推迟到后一级中相对应的较高位上去相加。图:CSA电路5.3桶型移位器(BarrelShifter)电路说明:上图所示是一个8-bit输入左移7-bit桶形移位器的电路,从上至下每一级的移位位数分别是4,2和1。由shmat线上的状态控制移位的位数。5.4可编程逻辑器件——可编程逻辑器件PLD(ProgrammableLogicDevice)作为通用器件进行生产,包括其灵活可变的连线层。该连线层的连接方式可以由使用者通过特殊手段进行编程来自行设定,而连接方式就决定了该PLD器件的逻辑功能。5.4.1可编程逻辑器件的基本构成基本电路结构输入控制电路:将输入变量及其反变量输入到可编程与阵列;

可编程与—或阵列:先由可编程与阵列进行与逻辑运算,结果形成K个乘积项(ProductTerm),将结果再输入至可编程或阵列,得到所要求的乘积项之和(SumTerm);

输出控制电路和反馈回路:控制运算结果的输出与反馈;

5.4可编程逻辑器件

5.4.1可编程逻辑器件的基本构成可编程与—或阵列——可编程与—或阵列是除现场可编程门阵列(FPGA)外大部分PLD器件实现各种逻辑功能的基础。其逻辑功能主要由二极管开关电路实现。编程的方法•由用户编程器控制熔断的熔丝技术—一次性编程(OTP:OneTimeProgramble);•用场效应管作为编程开关,编程控制数据则存储于诸如EPROM、EEPROM、FLASHRAM等可重复擦写的存储器中。

5.4可编程逻辑器件

5.4.1可编程逻辑器件的基本构成

可编程与—或阵列——可编程与阵列输出的乘积项接至可编程或阵列的输入,就构成能够实现复杂逻辑功能(与—或逻辑)的可编程与—或阵列。

5.4可编程逻辑器件

5.4.2可编程逻辑器件的输出结构——PLD的输出部分主要作用是提供输出信号的极性选择、三态输入/输出控制、输出信号PLD器件输出极性选择电路——同相输出、反相输出、互补输出和可编程极性的寄存与反馈等。

5.4可编程逻辑器件

5.4.3几种典型的可编程逻辑器件可编程阵列逻辑(PAL)器件特点

PAL器件可以采用多种典型的输出级结构,可以用来设计各种组合与时序逻辑电路。在使用PAL器件进行电路设计时,最主要的制约因素是其能够有效实现的电路规模。•只具有一个可编程的与阵列和一个固定的或阵列;•固定的或阵列中,对于每一根输出线,其相应的或逻辑输入固定接至特定的一组乘积项;

5.4可编程逻辑器件

5.4.3几种典型的可编程逻辑器件通用逻辑阵列(GAL)器件GAL器件区别于PAL器件的两个主要方面•GAL器件具有一种灵活的、可编程的称之为输出逻辑宏单元(OLMC—OutputLogicMicroCell)的输出级结构;•GAL器件普遍采用了EEPROM的浮栅工艺技术作为编程部件,具有可擦除、可重新编程的能力;

5.4可编程逻辑器件

5.4.3几种典型的可编程逻辑器件复杂可编程逻辑(CPLD)器件CPLD的组成结构•通用逻辑块(GLB—GenericLogicBlock);•可编程全局布线区(GRP—GlobalRoutingPool);•输入/输出单元(IOC—Input/OutputCell);•输出布线区(ORP—OutputRoutingPool);•时钟信号分配网络

5.4可编程逻辑器件

5.4.3几种典型的可编程逻辑器件现场可编程门阵列(FPGA)器件FPGA简介——FPGA是目前最为先进的可编程逻辑器件,它兼有半定制门阵列和普通PLD两者的优点,因而获得了广泛的使用。•FPGA在结构上有许多相同的、基本的、功能可配置的逻辑模块(CLB)组成一个电路矩阵,用户通过对CLB的编程实现所需要的各种复杂的逻辑功能。在CLB矩阵四周有可配置的I/O模块(IOB)和外部引脚相连。芯片内的各类连线是用户可编程的,它按照用户的设计连接各个CLB和IOB.FPGA的优点•无NRE费用;•用户可编程实现设计要求;•不需要生产所需要的测试适量;•设计实现方法简单,设计周期短;

5.5半导体存储器

5.5.1半导体存储器的分类ROM—只读存储器(Read-OnlyMemory)RAM—随机存取存储器(RandomAccessMemory)特殊种类存储器:多端口RAM,先进先出存储器FIFO固态ROM可编程ROM(PROM)可擦除ROM(EPROM)电可擦除可编程ROM(E2PROM)SRAM—静态存储器(StaticRandomAccessMemory)DRAM—动态存储器(DynamicRandomAccessMemory)

5.5半导体存储器

5.5.2随机存取存储器RAM——RAM按工作方式可以分成异步Async-RAM和同步Sync-RAM两类。异步RAM的电路简单,时序关系清晰,但速度较慢;同步RAM必须在系统时钟信号的同步下才能正常工作,应用较为复杂,但存取速度极快;——RAM按存储单元的结构不同,可以分成静态SRAM和动态DRAM两类。SRAM的特点是集成度高,存取速度快、功耗极低;DRAM则具有存储单元结构简单,集成度远大于SRAM的优点,但其应用较复杂,存取速度相对较慢。

5.5半导体存储器

5.5.2随机存取存储器RAMRAM的基本组成结构——RAM一般由地址译码器、存储矩阵、读/写控制逻辑和三态双向缓冲电路等部分组成,其结构图如下:

5.5半导体存储器

5.5.2随机存取存储器RAMRAM的基本组成结构——由于RAM存储矩阵的单元数极多,为了便于电路实现,其地址译码电路一般均采用行、列双译码结构,在两者的共同作用下,选中特定的存储单元。这样做的好处在于译码电路易于设计实现,用于选择存储单元的信号线数目少。

5.5半导体存储器

5.5.2随机存取存储器RAM静态RAM的基本存储单元

——静态基本存储单元的实际上是一个双稳态触发器。

5.5半导体存储器

5.5.2随机存取存储器RAM静态RAM的基本存储单元

电路说明•M1与M5、M2与M6构成两个CMOS反向器;•两个反向器交叉耦合连接,构成R-S触发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论