数字系统设计与PLD应用第二章.ppt
《数字系统设计与PLD应用第二章.ppt》由会员分享,可在线阅读,更多相关《数字系统设计与PLD应用第二章.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章数字系统的算法设计与硬件实现数字系统的算法设计与硬件实现2021/9/1712.1算法设计算法设计一一.概述概述1.考虑的主要因素考虑的主要因素(1)逻辑功能逻辑功能(2)非逻辑指标非逻辑指标(速度、功耗、成本等速度、功耗、成本等例例2-1:用逐次累加法实现二进制乘法器。:用逐次累加法实现二进制乘法器。AB=ABi=1特点:电路简单、成本低,但速度慢。特点:电路简单、成本低,但速度慢。2021/9/1722.硬件实现对算法设计的影响硬件实现对算法设计的影响(1)中小规模通用器件中小规模通用器件:要求电路尽可能简单要求电路尽可能简单;(2)PLD:硬件资源丰富硬件资源丰富,不一定按最
2、小化设计不一定按最小化设计,可以提高设计效率和可以提高设计效率和电路性能为目标电路性能为目标.(3)ASIC:需兼顾最简与设计效率需兼顾最简与设计效率(重用重用)两个方面两个方面.二二.常用设计方法常用设计方法1.跟踪法跟踪法按功能对控制要求逐步细化按功能对控制要求逐步细化(分解分解),从而导出算法。从而导出算法。例例2-2:五位串行密码锁的设计五位串行密码锁的设计启动锁启动锁开始开始读数读数开启开启2021/9/1732021/9/1742021/9/1752021/9/1762021/9/1772021/9/1782.归纳法归纳法将抽象要求具体化将抽象要求具体化(从具体数据入手从具体数据入
3、手),得出一般规律得出一般规律,再进行算法再进行算法设计设计例例2-3:正数顺序正数顺序(由小至大由小至大)排队电路的设计排队电路的设计设欲写入的数是设欲写入的数是4,6,5,8,9,10方法:首先将方法:首先将RAM中各单元清中各单元清0;然后逐个读入数据,同时按沉然后逐个读入数据,同时按沉底法进行排序。底法进行排序。第第i个数个数Di(i=1n)与与RAM(j)(j=2n)逐个进行比较逐个进行比较:若若DiRAM(j),则则RAM(j-1)-RAM(j)若若DiRAM(j),则则RAM(j-1)-Di2021/9/1792021/9/1710i=n2021/9/17113.划分法划分法将复
4、合运算划分成简单运算将复合运算划分成简单运算,从而得到算法。从而得到算法。例例2-4:设计运算电路设计运算电路z=(a-b)(c+d)2021/9/17124.解析法解析法利用利用“数值分析数值分析”方法方法,将复杂的数学运算分解成一系列简单运算将复杂的数学运算分解成一系列简单运算的迭代的迭代,从而得到算法。从而得到算法。例例2-5:设计运算电路设计运算电路y=x由此,通过解析,将平方根的由此,通过解析,将平方根的计算转换为计算转换为w=x/y、v=y+w和和u=v/2三个基本运算,由此导出三个基本运算,由此导出算法流程图。算法流程图。采用牛顿迭代法采用牛顿迭代法:首先给出一个估算值首先给出一
5、个估算值y。然后通过迭代运算然后通过迭代运算yi+1=(yi+x/yi)/2求求y的近似解的近似解,直到直到|yi+1-yi|e时为止。时为止。2021/9/17135.综合法综合法综合法就是把上述几种推导算法的方法组合起来应用。综合法就是把上述几种推导算法的方法组合起来应用。例例2-6:试设计一个倒数变换器,求数试设计一个倒数变换器,求数A的倒数的倒数1/A的近似值的近似值Z。A的的数值为数值为1/2A1,要求变换结果满足要求变换结果满足|Z-1/A|10-4考虑数的范围和考虑数的范围和精度,需精度,需16位二进位二进制定点数来表示制定点数来表示A、Z和误差和误差E,其中最,其中最高位为高位
6、为1位整数,位整数,其余为小数部分。其余为小数部分。2021/9/1714根据解析式,进而采用划分法,根据解析式,进而采用划分法,把较复杂的算法分解为相乘、相减、把较复杂的算法分解为相乘、相减、比较等简单的子运算,从而得出相比较等简单的子运算,从而得出相应的算法。应的算法。采用牛顿拉夫逊迭代公式:采用牛顿拉夫逊迭代公式:Zi1=Zi(2-AZi)因为因为Z的最小值是的最小值是1,最大值是,最大值是2,为此可令起始值为此可令起始值Z0=1,只要满足,只要满足|AZi-1|0.5E必有必有|Zi-1/A|0.5E/AE2021/9/1715例例2-7:四位二进制乘法器的算法设计。四位二进制乘法器的
7、算法设计。根据第根据第1 1章的讨论知章的讨论知,乘法器乘法器的运算可以分解成多次移位与相的运算可以分解成多次移位与相加运算,也就是说,通过若干次加运算,也就是说,通过若干次移位运算和加法运算的循环,就移位运算和加法运算的循环,就可以实现乘法器的功能可以实现乘法器的功能.2021/9/1716例例2-7:四位二进制乘法器的算法设计。四位二进制乘法器的算法设计。根据第根据第1 1章的讨论知章的讨论知,乘法器乘法器的运算可以分解成多次移位与相的运算可以分解成多次移位与相加运算,也就是说,通过若干次加运算,也就是说,通过若干次移位运算和加法运算的循环,就移位运算和加法运算的循环,就可以实现乘法器的功
8、能可以实现乘法器的功能.2021/9/17172.2算法结构算法结构一一.顺序算法结构顺序算法结构顺序算法是最基本的算法结构。其特点是:在执行算法的整个过顺序算法是最基本的算法结构。其特点是:在执行算法的整个过程中,同一时间只进行一种或一组相关的子运算。程中,同一时间只进行一种或一组相关的子运算。在顺序算法结构中,如果待处理数据是连续输入的数据流,含有在顺序算法结构中,如果待处理数据是连续输入的数据流,含有n个元素,若每个数据元素完成算法流程需经历个元素,若每个数据元素完成算法流程需经历L段,而每段平均时段,而每段平均时间为间为,则所需的运算时间为,则所需的运算时间为TS=n*L*顺序算法结构
9、的工作速度不高。但实现系统的硬件配置简单,成顺序算法结构的工作速度不高。但实现系统的硬件配置简单,成本较低。本较低。2021/9/1718二二.并行算法结构并行算法结构其特点是:执行算法的同一时间有多于一条路径在进行运算,而其特点是:执行算法的同一时间有多于一条路径在进行运算,而这些同时执行的运算与操作之间几乎没有依赖关系。这些同时执行的运算与操作之间几乎没有依赖关系。在并行算法结构中,如果待处理数据是连续输入的数据流,含有在并行算法结构中,如果待处理数据是连续输入的数据流,含有n个元素,若每个数据元素完成算法流程需经历个元素,若每个数据元素完成算法流程需经历L段,而每段平均段,而每段平均时间
10、为时间为,则所需的运算时间为,则所需的运算时间为TP=n*L*其中其中L是并行算法流程经历的运算段数是并行算法流程经历的运算段数.因因L远小于远小于L,故大大提高了速度。,故大大提高了速度。2021/9/1719三三.流水线算法结构流水线算法结构流水线算法结构仅适用于连续输入的数据流。其特点是:把整个流水线算法结构仅适用于连续输入的数据流。其特点是:把整个运算过程分解成若干段,系统在同一时间可对先后输入的数据流元运算过程分解成若干段,系统在同一时间可对先后输入的数据流元素进行不同段的运算。素进行不同段的运算。例如:求例如:求Z=AB+C2021/9/1720在流水线算法结构中,如果待处理数据的
11、连续输入的数据流含有在流水线算法结构中,如果待处理数据的连续输入的数据流含有n个元素,每个数据元素完成算法流程需经历个元素,每个数据元素完成算法流程需经历L段,而每段平均时间段,而每段平均时间为为,则所需的运算时间为,则所需的运算时间为T=L*+(n-1)*流水线算法结构的数据处理效率最高。但它要求流水线算法结构的数据处理效率最高。但它要求:(1)数据流必须连续输入数据流必须连续输入;(2)各处理段的硬件完全独立各处理段的硬件完全独立(不合用不合用);(3)各段的处理时间基本相等。各段的处理时间基本相等。Pentium处理器和最新的处理器和最新的DSP等控制器均采用了流水线结构等控制器均采用了
12、流水线结构,以最以最大限度地提高处理速度大限度地提高处理速度.2021/9/17212.3硬件实现概述硬件实现概述(1)用市售标准的)用市售标准的SSI、MSI和和LSI构成构成,这是最经典的方法。这是最经典的方法。(2)将整个系统配置在一片或数片)将整个系统配置在一片或数片PLD芯片内芯片内,特点是价廉、运特点是价廉、运行速度高、体积小、易于修改设计等。行速度高、体积小、易于修改设计等。(3)研制相应的)研制相应的ASIC,构成单片系统,构成单片系统,在大批量产品中在大批量产品中,应用愈应用愈来愈多。来愈多。(4)以微控制器)以微控制器(嵌入式嵌入式CPU、DSP、单片机等、单片机等为核心、
13、辅以为核心、辅以必要的辅助器件,在软件控制下实现系统功能。特点是价格便宜,必要的辅助器件,在软件控制下实现系统功能。特点是价格便宜,实现方便,适用于处理速度要求不高的场合,也得到广泛应用。实现方便,适用于处理速度要求不高的场合,也得到广泛应用。2021/9/17222.4数据处理单元设计数据处理单元设计一一.器件选择器件选择1、易于控制、易于控制各受控电路的控制方式和控制信号要尽可能简单,从而使产生这各受控电路的控制方式和控制信号要尽可能简单,从而使产生这些控制信号的逻辑也趋简单,以便于实现。些控制信号的逻辑也趋简单,以便于实现。2、满足非逻辑约束的要求、满足非逻辑约束的要求(1)性能因素)性
14、能因素系统性能除了前述的逻辑功能外,还有许多非逻辑因素影响着系系统性能除了前述的逻辑功能外,还有许多非逻辑因素影响着系统的性能。统的性能。a.运行速度运行速度;b.可靠性可靠性(延迟、功耗、电平匹配等延迟、功耗、电平匹配等);c.可测试性。可测试性。2021/9/1723(2)物理因素)物理因素a.器件的温度范围器件的温度范围b.工作电源的电压范围工作电源的电压范围(3)经济因素)经济因素(成本成本)包括设计成本、制造成本、维护成本和运行成本等。包括设计成本、制造成本、维护成本和运行成本等。2021/9/1724二二.设计步骤设计步骤1、组成数据处理单元逻辑框图、组成数据处理单元逻辑框图根据系
15、统算法和结构选择方案,用抽象的逻辑模块组成数据处理根据系统算法和结构选择方案,用抽象的逻辑模块组成数据处理单元逻辑框图。单元逻辑框图。2、构成数据处理单元详细逻辑电路图、构成数据处理单元详细逻辑电路图选择具体型号的集成器件实现第选择具体型号的集成器件实现第1步中的抽象模块,且应力求器件步中的抽象模块,且应力求器件数少,由此得出数据处理单元详细逻辑电路图。明确它们和控制器数少,由此得出数据处理单元详细逻辑电路图。明确它们和控制器之间交换信息的全部特征,包括信号名称、有效作用电平或有效作之间交换信息的全部特征,包括信号名称、有效作用电平或有效作用沿等。用沿等。3、确定控制信号时序、确定控制信号时序
16、在明确各控制信号的基础上,对它们进行排序,列出控制信号排在明确各控制信号的基础上,对它们进行排序,列出控制信号排序表,从而归纳并确定控制信号时序,作为对控制单元设计的技术序表,从而归纳并确定控制信号时序,作为对控制单元设计的技术要求,使系统正确执行算法流程。要求,使系统正确执行算法流程。2021/9/1725三三.设计举例设计举例例例2-8:按照本章例按照本章例2-6所设计的倒数所设计的倒数变换器算法流程图,设计其数据处变换器算法流程图,设计其数据处理单元。理单元。2021/9/1726为实现倒数变换器各子运算,需要为实现倒数变换器各子运算,需要5个存储器,且应分别由相应的个存储器,且应分别由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 设计 PLD 应用 第二
限制150内