毕业设计论文简易计算器的PLD实现.doc_第1页
毕业设计论文简易计算器的PLD实现.doc_第2页
毕业设计论文简易计算器的PLD实现.doc_第3页
毕业设计论文简易计算器的PLD实现.doc_第4页
毕业设计论文简易计算器的PLD实现.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

毕毕业业设设计计(论论文文) 题目:题目: 简易计算器的简易计算器的 pld 实现实现 本科毕业设计(论文)本科毕业设计(论文) 诚诚 信信 承承 诺诺 书书 本人郑重声明:所呈交的毕业设计(论文) 简易计算机的 pld 实现 是本人在导师的指导下独立进行研究所取得的成果,除了在毕 业设计(论文)中特别加以标注引用、表示致谢的内容外,本毕业设计 (论文)不包含任何其他个人、集体已发表或撰写的成果作品。 班 级: 学 号: 作者姓名: 年 月 日 i xx 大大学学 xx 学学院院 机机 电电 系系 电电子子信信息息工工程程 专专业业 毕毕 业业 设设 计计论论 文文 任任 务务 书书 一、题目及专题:一、题目及专题: 、题目 简易计算器的 pld 实现 、专题 二、课题来源及选题依据二、课题来源及选题依据 随着基于 pld 的 eda 技术的发展和应用领域的扩大与深入,eda 技术 在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。随着技 术市场和人才市场对 eda 的需求不断提高,本毕业设计课题就围绕此中心展 开工作。 三、本设计(论文或其他)应达到的要求:三、本设计(论文或其他)应达到的要求: 1两个无符号的 8 位二进制的相加; 2两个无符号的 8 位二进制的相减(被减数=减数); 3两个无符号的 4 位二进制的相乘; 四、接受任务学生:四、接受任务学生: 班班 姓名姓名 五、开始及完成日期:五、开始及完成日期: 自自 年年 月月 日日 至至 年年 月月 日日 ii 六、设计(论文)指导(或顾问):六、设计(论文)指导(或顾问): 指导教师指导教师 签名签名 签名签名 签名签名 教教研研室室主主任任 学科组组长研究所所长学科组组长研究所所长 签名签名 系主任系主任 签名签名 xxxx 年年 xx 月月 xx 日日 iii 摘摘 要要 电子设计自动化(eda)的实现是与 cpld/fpga 技术的迅速发展息息相关的。 cpld/fpga 是 80 年代中后期出现的,其特点是具有用户可编程的特性。利用 pld/fpga,电子系统设计工程师可以在实验室中设计出专用 ic,实现系统的集成,并且 具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改, 极大地提高了电子系统的灵活性和通用能力。 近年来,电子技术飞速发展,数字电路中 pld(可编程逻辑器件)是目前应用最灵活 的器件,而 max + plus(复阵列矩阵及可编程逻辑用户系统)是专为开发 74 等系列器 件的软件中最成熟,功能最全面,适用范围非常广泛的软件之一。本次设计主要采用 74 系列器件,在 max + plus中完成电路的设计和完善,并在此软件中进行仿真,设计 者可以直观地测试其逻辑功能及性能指标。 关键词:关键词:自动化;可编程逻辑器件;复阵列矩阵及可编程逻辑用户系统 iv abstract electronic design automation(eda) realization and the fast development of cpld/ fpga technique are vitally related. cpld/fpga arises from the middle and later stage of 80 age, whose feature is having user programmable character. using cpld/fpga, electronic system design engineers can design dedicated ic in the laboratory so that realize systematic integration, and it has static repeatedly programmable and online dynamic rebuilded character, and makes the function of hardware can amend by programming like software, which improves the flexibility and universal ability of electronic system vastly. in recent years, electronic technique has developed fast, in digital circuit pld(programmable logic device) application is the most flexible device now, but max + plus(plural array matrix and programmable logic user system)is one of the maturest, the most overall functional software whose suitable range is very widespread. this design mainly uses 74 series of device to complete the design and improvement of circuit in max + plus,and simulates in this software, the designer can test its logic function and performance index ocularly. key words: automation; programmable logic device; plural array matrix and programmable logic user system v 目目 录录 1 绪论1 1.2 pld 的发展史1 1.3 pld 的分类.2 1.4 各类 pld 的结构及特点.2 1.4.1 pal 器件3 1.4.2gal 器件3 1.4.3 fpga.3 1.5 pld 设计步骤3 1.5.1 设计构思4 1.5.2 选择器件型号4 1.5.3 列写源文件.4 1.5.4 对器件编程.4 1.6 maxplus软件相关介绍.4 1.7 本文的目的5 2 分析与设计6 2.1 课题内容.6 2.2 总体设计.6 2.2.1 总体设计思路6 vi 2.2.2 总体设计框图6 2.3 单元电路设计7 2.3.1 输入部分7 2.3.2 加/减法器部分.11 2.3.3 乘法器部分.17 2.3.4 显示输出部分18 2.4 整体电路的设计.18 2.5 vhdl 语言21 3 结论与展望23 3.1 结论23 3.2 不足之处及对未来的展望.23 致 谢24 参考文献25 附 录26 简易计算机的 pld 实现 1 1 绪论绪论 当今世界,科学技术飞速发展,电子产品日新月异,新的器件不断涌现。仅就逻辑 器件这一小小的“家族”而言,短短儿十年的时间就己经发生了翻天覆地的变化,从每 片只有儿十个组件的小规模逻辑集成电路发展到在一块不到几个mm2的芯片上就拥有十 几万、几十万甚至更多组件的大规模和超大规模集成电路,而且器件的性能始终在飞速 提高,而价格却在急剧下降。与此同时,大批新结构、新工艺、新功能的新型产品也在 不断投放市场。可编程逻辑器件(pld)就是逻辑器件这一“家族”中的一个别具特色的 新成员。 1.1 pld概论概论 在微处理器及内存等方面,已有了超大规模集成电路(vlsi) ,在逻辑器件方面出现 了专用集成电路 asic 芯片,作为 asic 一个分支的可编程逻辑器(pld)是近几年发展 起来的一种实用硬件技术。它属于集成电路的一种,具有集成度高、成本低、设计灵活 和保密性好等特点,现已广泛应用于计算机、通信、信号处理、工业控制等方面。 在我国随着改革开放的步伐加快和经济建设的迅速发展,对pld器件的需求已越来越 大。pld几乎能满足数字系统和自动控制系统等各方面的要求,小至编码器,译码器,计 数器以及寄存器等各种组合电路和时序电路;大至微处理器系统、存储控制、图形图像 处理系统、总线接口、通信、外围设备、工业控制以及军用系统等,pld都显示出良好的 适应性。我国asic的设计和生产能力都比较薄弱,而绝大多数电子产品的密度和速度不 是太高,批量也比较小。因此,广泛使用pld器件是非常适合提高我国电子产品性能和竞 争能力的主要技术措施之一,应当大力普及推广。 1.2 pld的发展史的发展史 历史上,可编程逻辑器件经历了从prom、p la、p al、g al、e pld、c pld和 fpga等的发展过程,在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进 和提高。 可编程逻辑器件大致的演变过程如下: 1.七十年代,熔丝编程的prom和pal器件是最早的可编程逻辑器件。 2.七十年代末,amd公司开始推出pal器件。 3.八十年代初,lattice公司发明可电擦写的、比pal使用更灵活的gal器件。 4.八十年代中期,xilinx公司提出现场可编程概念,同时生产了世界上第一片fpga器 件。同一时期,altera公司推出epld器件,较gal器件有更多的集成度,可以用紫外线 或电擦除。 xx 大学学士学位论文 2 5.八十年代末,lattice公司又提出在系统可编程技术,并且推出了一系列具备在系统 可编程能力的cpld器件。 6.进入九十年代后,可编程逻辑集成电路技术进入飞速发展时期。 1.3 pld 的分类的分类 可编程逻辑器件种类较多,工艺上采用cmos, ttl , ecl技术,并不断向更高速、更 高密度、更强功能、更灵活的方向发展。可编程逻辑器件pld主要有以下几种: 可编程只读存储器prom (programmable read only memory) ; 可编程逻辑数组pla (programmable logic array); 可编程数组逻辑pal (programmable array logic); 通用数组逻辑 gal (generic array logic) ; 现场可编程门阵列fpga(field programmable gate array); 其它可编程逻辑器件,如可编程逻辑时序机pls、可编程多路转接器pmux、可编程 二极管矩阵pdm等。 它们之间的关系可见图1.1: 图1.1 几种pld的相互关系 集成度是集成电路的一项重要指标,如果从集成度上分类,可分为低密度可编程逻 辑器件(ldpld)和高密度可编程逻辑器件(ldpld)。历史上,gal22vio是简单pld和复 杂pld的分水岭,一般也按照gal22vio芯片的容量区分为ldpld和hdpld. cal22vio 的集成度根据制造商的不同,大致在500门/750门之ifb1。如果按照这个标准,prom, pla, pal, gal器件属于低密度可编程逻辑器件,而epld, cpld和fpga属于高密度可编 程逻辑器件, 简易计算机的 pld 实现 3 1.4 各类各类pld的结构及特点的结构及特点 1.4.1 pal器件器件 pal是一种现场可编程的阵列逻辑器件,其内部由“与”阵列和“或”阵列两部分组 成,“与”阵列的输出是“或”阵列的输入信号,“与”阵列可编程而“或”阵列固定。 pal器件在逻辑设计中具有以下优点: 可编程取代传统的逻辑器件,减少器件数目至少四倍,从而节省空间;加快和简化了 原始样机设计和电路布线过程,采用ttl,ecl,cmos三种不同工艺制造,满足不同要求, 利于提高系统速度,具有可编程三态门;可由prom编程器编程,特殊措施防止非法复制, 即加密pal器件,将保密熔丝烧断后,不能读出内部阵列码点。 可是pal器件的输出方式是由器件类别决定的,不可以编程组态,并且只有cmos工 艺的pal器件才可采用紫外线或电擦除。 1.4.2gal器件器件 gal器件是在pal基础上发展起来的,其结构仍是可编程的“与”阵列驱动固定的 “或”阵列,只是所有gal器件的输出端都有输出逻辑宏单元olmc (output logic macro cell)的结构,正是这个结构决定了gal器件可重组态的功能。 gal器件继承了pal可编程的特点,同时还具有自己独特的优点:gal器件采用高速 电可擦除cmos工艺制造,可最大程度地提供可测试功能以及生产工艺质量,它的随时可 擦除性最适合样机的研制和错误的修改;gal器件的cmos低功耗使系统的温度低、高性 能持久,并使得电路设计可以有较高的功能集成度,从而芯片数、印制板尺寸大大减小, gal器件速度不低于除ecl电路之外的任何工艺生产的器件速度,gal器件的输出逻辑 宏单元olmc利于用户按需要对输出组态以实现所要求的功能和结构,gal器件具有保密 性。 其缺点是:集成度不高(含200-300个门),1/0管脚数少。 1.4.3 fpga fpga是门阵列技术和可编程逻辑器件技术发展的结果,目前有xilinx, altera, actel、sign.tics四大公司的产品,他们分别采用不同的体系结构、工艺技术和编程方法, 其中xilinx公司的可编程逻辑单元阵列lca (logic cell array)是目前fpga市场上的主流产 品。 fpga的结构类似于通常的门阵列结构,其中心部分是由可编程的逻辑单元块 clb(configurable logic blocks)组成的矩阵区,芯片四周为可编程输入输出块iob (input / out-put blocks),在clb行列之间以及clb和lob之间为可编程的互连资源icr xx 大学学士学位论文 4 (interconnect resource)。 1.5 pld设计步骤设计步骤 pld就其设计方法而言,借助于高级设计语言,比中小规模的逻辑电路设计要简单灵 活得多。设计的产品结构紧凑、体积小、可靠性高,所以,pld是研制新产品和改造旧设 备的最佳选择器件。 1.5.1 设计构思设计构思 将所要设计的逻辑问题变换成设计文木。逻辑描述可采用真值表。逻辑方程以及状 态图等形式。只要用其中的一种方式表示就可以了,不必全部列出,用哪种方式简单就 用哪种。所得到的逻辑函数不必化简,留给计算机去完成。这一步的关键就是要求正确 地表示出逻辑函数的输出与输入的逻辑关系。 1.5.2 选择器件型号选择器件型号 根据设计文本的要求选择合适的器件型号,主要注意器件输出端和输入端的个数以 及输出端的性质(组合输出还是寄存器输出以及输出极性等)是否满足要求。 1.5.3 列写源文件列写源文件 将设计文本按照所应用的设计语言的语句和格式写成源文件,上机进行化简,仿真 与测试。在这里可以反复修改源文件,直到满意为止。必要时还可以更改器件型号。 1.5.4 对器件编程对器件编程 将计算机生成的编程檔下载到编程器对器件编程。在这时所选择的器件,是你最乏 设计器件,除了与源文件所要求的型号相同外,还要考虑到其它技术条件是否满足要求。 比如转换速度,功率损耗,温度以及电气特性等。可以查阅器件手册,选择所要求的不 同档次的器件。 以上设计步骤,并不是不可改变的。当设计水平提高后,可以融会贯通。在设计构 思时可以直接用设计语言的语句和格式,写成源文件。将减少好多重复性工作。1 1.6 maxplus软件相关介绍软件相关介绍 传统的数字电路实验设计一般采用从局部到整体 的方式,由一些功能单一的器件加 上一定的外围电路构成模块,再由这些模块进一步形成各种功能电路。基本器件是各种 简易计算机的 pld 实现 5 标准芯片,如 74 系列 ttl) 1000/2000 系列(com s)芯片,实验时只能根据需要从中选择 最合适的,再按照事先设计好的电路搭成,不但实验成本高,灵活性也很小,复杂的电 路设计就更困难了。 近年来,电子技术飞速发展,新的电子器件也层出不穷,数字电路中 pld 可编程序 逻辑部件)是目前应用最灵活的器件,而 max + plus复阵列矩阵及可编程逻辑用户系 统)是专为开发这一系列器件的软件中最成熟,功能最全面,适用范围非常广泛的软件之 一,是广大数字系统设计工程师得力的开发工具。 max + plus是美国 alte。公司研制的一种软件开发系统,它为用户开发、使用该 公司生产的 cpld 器件提供一个基于计算机的软件开发与操作平台。 max + plus由逻辑设计输入、设计处理、设计校验、下载编程四大部分组成。其 主要功能与特点为: (1)设计输入、处理、编译、校验、仿真、下载全部集成在统一的开发环境中,易学 易用。 (2)设计环境与芯片或结构无关,简化了开发、设计过程。 (3)有丰富的模块化设计工具和器件库。 (4)支持硬件描述语言(ahdl, vhdl 等)。 (5)提供 megaco 系统级功能。 (6)具有内核开放功能,允许用户添加宏函数。 用软件 max + plus设计电路的一般过程如图 1.2: 图 1.2 max + plus设计电路的流程图 次化设计是指对于一个系统设计任务,将任务层层分解,在各个层次上分别设计的 方法。在 max + plus中,可利用层次化方法来实现数字系统自顶向下的设计。一般 在电路的具体实现时,先组建低层设计,再进行顶层设计。 使用 max + plus进行设计一般包括设计输入、项目编译处理、分配 i,b 管脚、项 目波形仿真、定时分析和程序下载六个阶段。2 1.7 本文的目的本文的目的 本论文主要讨论的是可编程逻辑器件的设计,在总结了前人的工作的基础之上,本 文工作主要有如下几个方面: 第一,在查阅了大量有关的中英文文献并深刻理解有关内容的基础之上,对pld设计 有了一个全面深刻的认识,能够独立完成简单的数字系统设计,对于eda技术有了相关 xx 大学学士学位论文 6 的了解,以此为后继的工作打下了牢固的基础。 第二,完成课题简易计算器的 pld 实现,完成逻辑电路的设计,详细介绍各部 分单元电路的作用,介绍整体电路的设计。 第三,使用 maxplus软件实现电路的仿真,实现相关的波形,从而可以验证设 计的正确性与否。 2 分析与设计分析与设计 2.1 课题内容课题内容 简易计算器的pld实现 设计要求: 1两个无符号的8位二进制的相加。 2两个无符号的8位二进制的相减(被减的=减的)。 3两个无符号的4位二进制的相乘。 2.2 总体设计总体设计 2.2.1 总体设计思路总体设计思路 对于计算器的实现可以考虑分成如下三个主要部分: 1.输入存储部分 该部分用于存储数据以便于下一步的运行,考虑使用寄存器。 2计算部分 设计的核心部分。 两个数字之间的运算无论是加、减、乘,目前在数字计算机中 都是化做若干步加法运算进行的。因此,该部分主要依靠使用加法器实现各个部分的运 算。至于具体如何实现,下一节会做具体介绍。 3输出显示部分 输出显示部分用发光二级管来实现指示二进制的高低电平 2.2.2 总体设计框图总体设计框图 简易计算机的 pld 实现 7 设计总框图如图 2.1 所示 图 2.1 简易计算器设计总框图 2.3 单元电路设计单元电路设计 2.3.1 输入部分输入部分 输入部分的关键即是寄存器的选择。8 位无符号的加、减法和 4 位无符号的乘、除法 的实现需要寄存器。寄存器是一种用于暂存数据和运算结果的一种时序电路,它是计算 机系统或其它数字系统中除计数器之外使用最多的时序逻辑电路,其分为并入/并出寄存 器、串入/串出、串入并出、并入串出等多种寄存器,也有一些寄存器包含了上面的几种 寄存器的功能。寄存器是由若干个正沿 d 触发器构成的一次能存储多位二进制代码的时 序逻辑电路。它具有接收数据、存放数据或传送数据的功能。这里采用 8 位移位寄存器 74ls198 和 4 位移位寄存器 74ls194。因为此部分只需要寄存功能,故其产生移位作用的 引脚不接或者直接接地即可。这样 74ls198 和 74ls194 就只有寄存的功能了。因为 74ls198 和 74ls194 具有保持功能,当输入数据时,同时会给其脉冲,这样数据就进入 了芯片。当输入结束时,脉冲也同时消失,这样数据就保持在了芯片中,形成了寄存作 用。 xx 大学学士学位论文 8 图 2.2 74194 引脚图 图 2.3 74198 引脚图 74ls194: 74ls194 引脚图如图 2.2,它是具有左移、右移、清零、数据并入、并出、 串入、串出等多种功能的 4 位双向移位寄存器,a、b、c、d 为并行输入端, qa、qb、qc、qd为并行输出端,slsi 为左移串行输入端,srsi 为右移串行输入端, 、为操作模式控制端,clrn 为直接无条件清零端,clk 为时钟脉冲输入端,、 1 s 0 s 1 s 和 clrn 端的控制作用如表 2-1。 0 s 表 2-1 74ls194 的控制端作用表 输 入 输 出 clrclk 1 s 0 s l s r s 1n a q 1n b q 1n c q 1n d q 功能说明 0 1 1 1 1 1 1 01 01 10 10 1 1 0 0 0 1 0 1 0 0 1 n b q n b q a n a q 0 n a q n a q n c q n c q b n b q 0 n b q n b q n d q n d q c n c q 0 n c q n c q 0 1 d n d q 异步清 0 右移 右移 左移 左移 并行输入 保持 简易计算机的 pld 实现 9 74ls198:74ls198 引脚图如图2.3,它是具有左移、右移、清零、数据并入、并出、 串入、串出等多种功能的 4 位双向移位寄存器,a、b、c、d、e、f、g、h 为并行输入端, qa、qb、qc、qd、qe、qf、qg、qh为并行输出端,slsi 为左移串行输入端,srsi 为右 移串行输入端,、为操作模式控制端,clrn 为直接无条件清零端,clk 为时钟脉 1 s 0 s 冲输入端,、和 clrn 端的控制作用如上表 2-1。 1 s 0 s 以下是本次设计的输入储存部分电路图(图 2.4)以及仿真图(图 2.5、图 2.6): 图 2.4 存储部分电路图 仿真:在 a 端和 b 端分别输入 00010010 和 00110101 或者在 c 端和 d 端分别输入 xx 大学学士学位论文 10 0011 和 1010。 图 2.5 存储部分 4 位寄存器仿真图 通过仿真可以得出:a、b 端输入分别为 00010010 和 00110101,输出分别为 00010010 和 00110101。 图 2.6 存储部分 8 位寄存器仿真图 简易计算机的 pld 实现 11 通过仿真可已得出:c、d 端输入分别为 0011 和 1010,输出分别为 0011 和 1010。 2.3.2 加加/减法器部分减法器部分 加法器是构成算术运算器的基本单元,是数字计算机的重要逻辑部件。 1.半加器 半加器是一种能对两个1位二进制数(不考虑来自低位的进位)进行相加运算而求得 “和”及向相邻高位“进位”的逻辑电路。 根据半加器的逻辑功能,其真值表如表2-2: 表2-2 半加器真值表 输入输出 a bs co 0 00 0 0 11 0 1 01 0 1 10 1 a、b为两个加数,s为相加的和,co为向相邻高位的进位。由真值表,可以得到公 式2.1: babas (2.1)abco 若采用异或门和与门实现, 则半加器的逻辑图如图2.7所示: 图 2.7 半加器逻辑图 若采用与非门实现,且输入无反变量,则逻辑图为图2.8: xx 大学学士学位论文 12 图 2.8 半加器逻辑图 半加器的符号如图 2.9: 图 2.9 半加器符号 2.全加器 全加器是一种能对两个一位二进制数相加且考虑来自低位的进位位(相当于三个数 相加),求出“和”及向相邻高位“进位”的逻辑电路。 根据全加器的逻辑功能,其真值表如表2-3: 表2-3 全加器真值表 输 入输 出 ci a bs co 0 0 00 0 0 0 11 0 0 1 01 0 0 1 10 1 1 0 01 0 1 0 10 1 1 1 00 1 1 1 11 1 a、b为两个加数,ci为来自低位进位, s为相加的和,co为向相邻高位的进位。由 真值表得表2-4和公式2.2: 表2-4 卡诺图 简易计算机的 pld 实现 13 ciabbciacibacibas (2.2)ciabcibaco 3. 串行进位加法器(行波进位加法器) 两个多位数相加,除最低位外,每一位都必须使用全加器。若将低位全加器的进位 输出端co接到高位全加器的进位输入端ci,则可以构成多位串行进位加法器。 图2.10是一个4位串行加法器: 图 2.10 4 位串行加法器 串行加法器的优点是电路结构简单,缺点是运算速度慢。如上例,在最不利情况下, 做一次加法运算需4个全加器的传输延迟时间。这种加法器只用于对运算速度要求不高的 场合。 下图 2.11 在本次设计里采用的加法器为 74ls283 图 2.11 74283 引脚图 74ls283:74ls283 引脚图如图 2.10,是 4 位二进制加法器,cin 是进位输入端,a1、 a2、 a3、a4为被加数输入端, b1、b2、b3、b4为加数输入端, xx 大学学士学位论文 14 sum1、sum2、sum3、sum4 为输出端,cout 为进位输出端。 表2-5 为74ls283 功能表: 表 2-5 74283 功能表 输 入输 出 abco c1 lllll llhhl lhlhl lhhlh hllhl hlhlh hhllh hhhhh 要实现八位无符号的加法的话,只需将两片 74ls283 相连就可以了。两个二进制数 的相减,即是加法减数的补码,而补码等于反码加“1”,由此可以使用加法、减法两种 功能。 首先要实现反码求法:当输入为“0”时,取原码;输入为“1”时,取反码,于是 可以用异或门来实现。 同时当输入为“1”时,ci=1,从而实现反码加“1”等于补码逻辑。 其电路图如图 2.12: 简易计算机的 pld 实现 15 图 2.12 加/减法器电路图 以下是本次设计的加法运算电路图(图 2.13)以及仿真图(图 2.14): 图 2.13 加法运算电路图 xx 大学学士学位论文 16 m=0 时为加法,仿真:00001010+00001011=000010101。 图 2.14 加法电路仿真图 以下是本次设计的减法运算电路图(图 2.15)以及仿真图(图 2.16): 图 2.15 减法电路电路图 简易计算机的 pld 实现 17 m=1 时是减法,仿真:0000101100000101=00000110。 图 2.16 减法电路仿真图 2.3.3 乘法器部分乘法器部分 在计算机中,根据公式 23 可以将乘法运算分解为加法运算来实现,例如输入信号 a=a3a2a1a0,b=b3b2b1b0,a、b 都是 4 位二进制数,m 是输出的乘积信号。 m=ab ab=b0a20+b1a21+b2a22+b3a23=m (2.3) 上述运算过程中,a2i可用 a 的左移 i 位来实现因此,乘法运算就转变为被乘数 a 左移及部分乘积求和的运算过程。于是我选用的 4 位二进制乘法器是由 4 个 4 位 2 进制 加法器组成,这里的加法器我选择 74ls283,乘法器的电路图如图 2.17: xx 大学学士学位论文 18 图 2.17 乘法器电路图 在告诉 4 位乘法器中,器件 74ls283 在加/减法器部分已经详细介绍,根据上述乘法 运算公式可得乘法运算的电路图如图 2.18: 图 2.18 乘法运算电路图 仿真图如图 2.19:10111101=10001111。 简易计算机的 pld 实现 19 图 2.19 乘法运算仿真图 2.3.4 显示输出部分显示输出部分 显示部分选用 led 发光二极管,y1 、y2 、y 3 、y4 、y 5、 y 6 、y 7 、y 8、 y 9 从低位到高位表示输出结果,亮为高电平表示 1,不亮时为低电平表示 0。 2.4 整体电路的设计整体电路的设计 整体电路的设计就是将上面各个部分的单元电路进行相连,注意各个高低电平之间 的相连。对计算器的输入输出端口进行设计,输入位分别选用 8 位寄存器和 4 位寄存器, 输出端口 y1 y 9按从低位到高位以发光二级管显示结果,二极管亮为高电平表示 1,不 亮为低电平表示 0。 在设计时不能急于求成,应该将其划分为各个单元电路进行设计然后将设计出的单 元电路进行相连。首先进行加减法的设计,因为加减法是最基本的计算,而且加减法操 作的显示过程也具有典型的代表意义,乘法只是内部的计算过程不同,在显示上和加减 法是一致的。 当数据输入时通过高低电平判断运算是加、减法还是乘、法,m2=1 且 m1=o 时电路 进行加法运算,m2=1 且 m1=1 时电路进行减法运算,m2=0 时电路进行乘法运算,最后译 码显示结果。 电路图见下图 2.20: xx 大学学士学位论文 20 图 2.20 简易计算机总电路图 为了验证总电路图的正确性,对总电路图的各种运算进行仿真: m2=1 且 m1=o=加法:00000101+00001001=00001110,如图 2.21: 简易计算机的 pld 实现 21 图 2.21 加法运算仿真图 m2=1 且 m1=1=减法:00001001-00000011=00000110,如图 2.22: 图 2.22 减法运算仿真图 m2=0=乘法:1011 1101=10001111,如图 2.23: xx 大学学士学位论文 22 图 2.23 乘法运算仿真图 2.5 vhdl 语言语言 use ieee.std_logic_1164.all; entity shifter is port(data:in std_logic_vector(7 downto 0); clk:in std_logic; shift_left:in std_logic; shift_right:in std_logic; reset:in std_logic; mode:in std_logic_vector(1 downto 0); qout:buffer std_logic_vector(7 downto 0); end shifter; architecture art of shifter is begin process begin wait until(rising_edge(clk); if(reset=1)then qoutqoutqoutqoutnull; end case; end if; end process; end art; 移位寄存器仿真图如图 2.24: 图 2.24 74194 仿真图 xx 大学学士学位论文 24 3 结论与展望结论与展望 3.1 结论结论 通过多次的仿真,最终确定电路图的正确性,它能够完成本次设计的要求,实现加、 减、乘等简单的运算,并且正确的显示结果。 3.2 不足之处及对未来的展望不足之处及对未来的展望 这次设计的最大不足之处就是在于输入和输出端的设计过于简单,其实在刚开始的 设计思路中,输入端和输出端都设想以 10 进制输入输出的,输出部分选用 7447 七段译 码器,但是设计到总图阶段才发现问题,七段译码器能显示的 09 无法满足计算器输出 的需要,而当时以我掌握的知识在经过一番努力后无法解决这个问题,所以才选用了简 单的二进制输入输出,我希望在将来我经过知识的积累一定能够完成当初的设想,设计 出一个完善的,实用的简易计算器。 简易计算机的 pld 实现 25 致致 谢谢 这次的毕业论文设计,使我学会了如何通过各个途径,包括图书馆、书店和互联网 来查找自己所需要的数据,学到一些以前不知道的知识,扩大了知识面,使我的自学能 力有了进一步的提高。通过这次的论文设计,使我在如何做一篇正式的论文,如何以科 学严谨的态度来研究课题方面有了一定的了解,为我以后在工作和深入研究方面打下了 坚实的基础。 这次毕业论文设计,使我认识到加强与老师之间的交流的重要性。在这里,我要衷 心地感谢我的指导老师孙蕾老师,在我设计的过程中,她对我进行了十分耐心的辅导, 提供了丰富的知识,在我遇到困难的时候给与了适量的提示与鼓励,并对我提出的问题 给与了详尽的解答。不但帮助我顺利的完成了论文,而且使我对自己更有信心,能更好 的面对以后工作生活的中的挑战,最后,我还要感谢四年来的老师和同学们,是他们给 了我支持,能使我顺利地完成了四年的大学学业。 xx 大学学士学位论文 26 参考文献参考文献 1 谭会生,张昌凡.eda 技术及应用m.西安:西安电子科技大学出版社,2001:174-197. 2 齐洪喜,陆颖.vhdl 电路设计与应用实践教程m.北京:清华大学出版社,2004:57-83. 3 蒋璇,臧纯华.数字系统设计与 pld 应用m.北京:电子工业出版社,2005:8-41. 4 阎石.数字电子技术基础.北京:高等教育出版社m,1999:322-380. 5 沈嗣昌.数字系统设计基础.北京:机械工业出版社m,1996:13-35. 6 路而红,高献伟,洗立勤.电子设计自动化应用技术m.北京:北京希望电子出版社,2000.326-337. 7 (美)stefan sjoholm 著.边计年,薛宏熙译.用 vhdl 设计电子线路m.北京:清华大学出版社,2000:185- 193. 8 ieee standard vhdl language reference manualj. london:ieee press,1987.34-52. 9 lattice inc. data book lattice semiconductor incorporation remondm.

温馨提示

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

评论

0/150

提交评论