- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前言(绪论)
算术逻辑单元(Arithmetic Logic Unit, ALU)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由And Gate 和Or Gate构成的算术逻辑单元,主要功能是进行二进制的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以补数的形式来表示。此算术逻辑单元能构完成带进位的八位数的加减运算和四位数的乘法和除法的运算。本文是带进位的ALU设计,用VerilogHDL语言编写,并可以在FPGA上实现。
EDA技术和Verilog HDL语言的简介
EDA技术简介
EDA是电子设计自动化(Electron Design Automation)的缩写,是在20世纪90年代初,从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展起来的。
EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
Verilog HDL语言的简介
Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑 功能。 Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建 模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。
实现工具与总体方案的设计
通过查阅大量相关技术资料,并结合自己的实际知识,我主要提出了使用FPGA的方案来实现系统功能。下面我将首先对这这种方案的组成框图和实现原理分别进行说明,然后阐述我最终选择方案的原因。
ALU原理分析
根据本实验的设计要求ALU具有以下功能:
(1)带进位的加、减、乘、除四则运算。
(2)数据传送、移位、判断和程序转移等功能。
由于ALU是中央处理器(CPU)的重要组成部分,所以对ALU的面积、功耗、指令执行时间和稳定性都有很强的要求,这样就对设计ALU器件就有特高的要求。
用FPGA实现ALU的设计
在现代电子系统中,数字系统所占的比例越来越大。现代电子系统发展的趋势是数字化和集成化,CPLD/FPGA作为可编程ASIC器件,在数字系统设计中发挥着重要的作用。与传统的可编程器件相比,FPGA采用了类似门阵列的通用结构,规模可以做的较大,可实现的功能更强,设计的灵活性更大。且FPGA的容量越来越大,它所提供的门数从几百门到上百万门,可以满足不同的需要。因此用FPGA来实现ALU的功能不会受到FPGA门数的限制。用FPGA实现的ALU有很多优点:
(1)编程方式简便先进。
(2)高速 FPGA的时钟延迟可达纳秒级,结合其并行工作方式在超高速应用领域和实时测控方面有非常广阔的应用前景。
(3)高可靠性 表现在几乎可将整个系统下载于同一芯片中从而大大缩小了体积易于管理和屏蔽。
(4)开发工具和设计语言标准化开发周期短。
(5)功能强大应用广阔 FPGA可供选择范围很大,可根据不同的应用选用不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。
(6)易学易用开发便捷 FPGA应用的学习不需太多的预备知识,只要具有通常的数字电路和计算机编程基础知识,就足以在短期内掌握基本的设计方法和开发技巧。
ALU的各模块的具体设计
ALU模块的功能是按照控制模块给出的指令,对来自数据存储器、程序存储器、累加器ACC和程序状态字的数据进行算术、逻辑或位运算。ALU模块可以直接或间接的执行很多指令,如加、减、乘、除等算术运算指令,逻辑与、或、异或等逻辑运算指令以及移位操作指令。ALU模块执行的指令有很多,除去上述的算术运算、逻辑运算和环移指令外,还包括条件转移指令中的比较条件转移指令CJNE和减1条件转移指令DJNZ。这种设计方法主要考虑比较条件转移指令CJNE设计上的方便与规范性;而减1条件转移指令DJNZ的指令操作需要进行减1操作,正好可以利用ALU模块的相应算术运算来进行,因此可通过ALU模块间接实现的;其余的很多指令则由ALU模块直接实现,这些指令包括算术逻辑运算指令、逻辑运
文档评论(0)