您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子信息综合实践实习报告
电子信息综合实践报告8位运算器电路设计北华大学电气信息工程学院1目录1、实习目的……………………………………………………22、运算器的国内外发展………………………………………33、FPGA的发展…………………………………………………34、运算器的设计原理…………………………………………75、运算器源程序………………………………………………136、结果分析……………………………………………………227、总结及心得体会……………………………………………222一、实习目的综合电子系统实习是电子信息类专业学生了解电子系统设计实现过程,培养实践动手能力的实践性教学环节,是电子信息工程等理工科专业学生一门必修的实践性课程。通过学习和实践,可以让学生进一步接触电路板及电子产品的生产实际,了解电子工艺生产线的流程和基本管理知识,使学生通过设计一个课题,巩固和加深在“FPGA技术”等课程中所学到的理论知识和实验技能,掌握常用电子电路中的一般分析和设计方法,熟悉VHDL和其他开发软件的使用方法,提高电子电路的分析、设计和实验能力,为以后从事生产和科研工作打下一定的基础,为今后专业实验,毕业设计准备必要的编程知识和操作技能。同时培养学生严谨的工作作风,养成良好的工作习惯,它是基本技能和知识的入门向导,又是创新实践和创新精神的启蒙。综合电子系统实习对训练我们基本操作技能,提高我们实际动手能力是难得的一次好机会。二、运算器的国内外发展(1)国外情况在国外,电子计算器在集成电路发明后,只用短短几年时间就完成了技术飞跃,经过激烈的市场竞争,现在的计算器技术己经相当3成熟。计算器已慢慢地脱离原来的―辅助计算工具‖的功能定位,正向着多功能化、可编程化方向发展,在各个领域都得到了广泛的应用。用计算器不仅可以实现各种各样复杂的数学计算还可以用来编制、运行程序,甚至解方程组,图形计算器还可以进行图形处理。计算器内置的软件允许用户进行类似于对计算机的文件和目录管理等操作,允许用户对图形界面进行定制,同时各种新技术也被应用到计算器里使计算器功能越来越强大。可以说,计算器就是一个―微微型‖的计算机。(2)国内情况国内也有厂商利用计算器芯片开发新的产品,但对计算器技术的研究、计算器芯片的设计还处于起步阶段。计算器的主要功能还是在于―计算‖,不妨称之为―低档计算器‖。即便是对这种计算器,很多厂商也只从事计算器的组装、销售业务。一些IC设计公司、芯片提供商也开始研究计算器技术基于FPGA的计算器设计。三、FPGA的发展随着EDA技术的发展,使用硬件语言设计PLD/FPGA成为一种趋势。目前最主要的硬件描述语言是VHDL和VerilogHDL。VHDL发展的较早,语法严格,而VerilogHDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。VHDL和VerilogHDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog自由的语法也容易让少数初学者出错。国外电子专业很多会在本科阶段教授VHDL,在研究生阶段教授verilog。从国内来看,VHDL的参考书很多,4便于查找资料,而VerilogHDL的参考书相对较少,这给学习VerilogHDL带来一些困难。从EDA技术的发展上看,已出现用于CPLD/FPGA设计的硬件C语言编译软件,虽然还不成熟,应用极少,但它有可能会成为继VHDL和Verilog之后,设计大规模CPLD/FPGA的又一种手段。FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输入输出模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:ⅰ.采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。ⅱ.FPGA可做其它全定制或半定制ASIC电路的测试样片。ⅲ.FPGA内部有丰富的触发器和I/O引脚。ⅳ.FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。ⅴ.FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑5关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。与FPGA对应的还有DSP处理器,DSP处理器速度虽然很快,并对许多DSP应用来说很有用,但仍有一些应用要求性能再进一步提升,而FPGA提供了更高的性能。FPGA可以生成一个定制硬件设计,从而控制逻辑能够在硬件中实现,不必再利用精确的时钟周期来实现控制功能。此外,通过裁减硬件架构,FPGA可以提供额外的性能。如果最重要的设计考虑因素是速度,那么可以在FPGA中设计完全并行的算法处理方案。现在,许多系统已经包含了一个FPGA,用于协议转换、胶合逻辑或一些其它系统功能。如果那个FPGA没有被完全利用,那么把DSP功能加入其中可以为系统节约成本。而且如果标准发生改变,使用FPGA就不会有任何风险。FPGA的配置文件能够像软件那样升级,尽管它们必须被存储在系统的非易失性存储器中。目前的FPGA设计一般采用Top-down(自顶向下)的设计方法。先将系统划分为各个功能子模块,在系统级层次上进行行为描述,再对这些子模块进一步进行行为描述。(2)FPGA与CPLD的比较FPGA是现场可编程逻辑门阵列的简称,是电子设计的一个里程碑。CPLD是复杂可编程逻辑器件的简称。尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点ⅰ.CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换6句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。ⅱ.CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性ⅲ.在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。ⅳ.FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。ⅴ.CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂ⅵ.CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。ⅶ.在编程方式上,FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。CPLD主要是基于EEPROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。ⅷ.一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。随着FPGA门数以及性能的提高,可以将现在的许多数字电路部分下载到FPGA上,实现硬件的软件化,包括51核,DSP核以及其他的一些数字模块,到最后一个系统板子就剩下电源、7模拟电路部分,接口部分以及一块FPGA。FPGA可以说是芯片级的PCB板,在一个芯片里设计原来的电子系统的所有数字电路部分。现在也有将ARM核嵌入到FPGA里面的,比如Altera公司的Nois核。Nois是一个软核,是有软件编写的一个32位处理器,并不是硬件上存在的处理核,该核工作频率为50HZ,现在用于许多图像处理以及其他的很多网络设备。利用锁相环技术可以将频率成倍提升,一般的ARM核是将锁相环做到芯片里面的,在变成的时候可以对某个寄存器进行设置从而达到分频和倍频的目的。而将DSP核嵌入到FPGA里面去实现强大的计算功能是Altera公司近期推出的一系列芯片的一个优点。Altera公司的StratixII系列芯片采用内嵌的DSP核,但是其DSP核的计算速度比现在业界上最快的DSP芯片还要快几个数量级。四、运算器设计原理(1)加法器设计为了能够实现4位BCD码的加法运算,设计中被加数和加数都为16位二进制数,由于2个16位二进制数相加可能会产生进位,同时为了方便数码管显示,和采用了20位二进制。此外还有清零信号rst和加法使能信号add,当rst=’1’时对和进行清零,否则当add=‘1’时进行加法运算。(2)减法器设计为了实现4位BCD码的减法运算,设计中被减数和减数为16位二进制数,差为20位二进制数。输入的信号有清零信号rst、减法使能信号sub、被减数a、减数b,输出的信号有差cha和借位co。由于8两个数相减的差有可能为正数也有可能为负数,当差为负数时表现为补码的形式,必须要将负数的补码进行修正,修正时对差的低16位求补码运算,而差的正负用借位co来表示,co=‘1’表示差为负,否则为正。(3)乘法器设计乘法器设计的原理分析乘法运算的方法可以通过以下实例来说明:设被乘数A=1110,乘数B=1101,求A×B由以上实际例子可以看出,16位二进制乘法运算可以使用移位相加的方法来实现,被乘数左移16次,乘数右移16次,当时钟上升沿到来时都对乘数的最低位进行判断,如果乘数的最低位为1则乘积加上已经移位的被乘数,否则加0。乘法器电路结构框图根据乘法原理,采用移位相加的办法来实现乘法运算,如图。9(4)除法器设计此次设计的16位二进制除法器采用的是比较相减的方法,先在被除数前添加16个0,当时钟脉冲上升沿到来时将前一次高16位与除数比较,若大于或等于则将被除数的高16位减去除数,同时左移并将被除数的第1位置1,若小于则只是将被除数左移,等到下一个脉冲到来时再循环此操作,直到第16个脉冲之后停止操作。这样进行16个脉冲周期之后,被除数的高16位为余数,低16位为商。除法运算的原理可以通过以下实例来说明:设被除数A=1110,除数B=0110,求解A÷B的过程如下:除法器电路结构框图除法器电路由控制电路、比较电路、减法电路和移位电路组成。控10制电路负责产生16个脉冲的时钟信号、转载信号、运算结束信号;比较电路则是将被除数的高16位和除数进行比较,若大于或等于则great为‘1’,否则为‘0’;减法电路先判断比较电路输出的great是否为‘1’,若为‘1’则将被除数的高16位和除数相减,否则不进行运算只保存被除数的高16位;移位电路是将被除数进行左移,并对great进行判断,若为‘1’则将被除数的第一位置1。(二)键盘扫描电路设计矩阵式键盘是一种常见的输入装置,在日常生活中,矩阵式键盘在计算机、电话、手机等各式电子产品上已经被广泛应用。我们用的是一个4×4矩阵式键盘,其中数字0~9作为各种运算的数字输入键,#为清零功能键,=为运算结果键,+、-、×、÷为运算的选择键。键盘上的每一个按键其实就是一个开关,每个键都有一个上拉电阻,该按键的接点会呈现低电
本文标题:电子信息综合实践实习报告
链接地址:https://www.777doc.com/doc-2209028 .html