EDA课程设计---简易计算器设计.doc_第1页
EDA课程设计---简易计算器设计.doc_第2页
EDA课程设计---简易计算器设计.doc_第3页
EDA课程设计---简易计算器设计.doc_第4页
EDA课程设计---简易计算器设计.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

唐 山 学 院 EDA技术 课 程 设 计 题 目 简易计算器设计 系 (部) 信息工程系 班 级 11通信本1 姓 名 杨明兴 学 号 4110214135 指导教师 申彦春、任丽棉 2013 年 9 月 2 日至 9 月 6 日 共 1 周EDA技术 课程设计任务书一、设计题目、内容及要求 设计题目:简易计算器设计内容及要求:(1)基本设计内容1:设计简易通用型计算器,完成对数据通路的架构,控制模块和运算器模块的设计,可进行加减乘除的基本运算。(2)基本设计内容2:加入动态数码管显示驱动(3)进阶设计内容:对矩阵键盘的驱动,得到矩阵键盘的扫描码和去抖动后的过滤码(4)进阶设计内容:实现二进制转BCD码模块的设计,以显示十进制运算(5)进阶设计内容:实现FSMD的总体架构,并对其FSM的设计。设计要求:(1)根据任务要求确定电路各功能模块; (2)写出设计程序;(3)分析时序仿真结果; (4)提交设计总结。二、设计原始资料 Quartus软件;EDA实验箱;计算机一台;三、要求的设计成果(课程设计说明书、设计实物、图纸等)课程设计说明书1份,不少于2000字,应包含设计原理分析、相关软件介绍、仿真波形分析,实验箱下载验证等。四、进程安排周1-周3: 查阅资料,上机编写并调试设计程序;周4:整理、撰写说明书;周5:课程设计答辩并提交设计说明书。五、主要参考资料1.夏宇闻.甘伟Verilog HDL入门.北京航空航天大学出版社,2013.12.潘松,黄继业.EDA技术实用教程(第二版).科学出版社,2005.23.焦素敏.EDA应用技术.清华大学出版社,2002.4指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日目录1 引言12 设计题目内容及要求32.1设计题目:简易计算器的设计32.2内容及要求32.3设计原理32.3.1 FSM模块32.3.2 Filter模块42.3.3 ALU模块52.3.4 OP模块52.3.5扫描键盘模块62.3.6电路全模块连接图73电路仿真83.1仿真原件Quartus II的简介83.1.1 Quartus II功能83.1.2 Quartus II的其他特性93.1.3 Quartus II的操作页面93.2电路总体电路图123.3仿真波形134 设计总结14参考文献151 引言FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点.系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所FPGA可以完成所需要的逻辑功能。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,但是功耗较低。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的,EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。在集成电路设计(特别是超大规模集成电路的计算机辅助设计)的电子设计自动化领域中,Verilog是一种硬件描述语言,可以用它来对电子系统进行描述。Verilog是电气电子工程师学会(IEEE)标准之一。Verilog能够在多种抽象级别对数字逻辑系统进行描述:既可以在晶体管级、逻辑门级进行描述,也可以在寄存器传输级对电路信号在寄存器之间的传输情况进行描述.除了对电路的逻辑功能进行描述,Verilog代码还能够被用于逻辑仿真、逻辑综合,其中后者可以把寄存器传输级的Verilog代码转换为逻辑门级的网表,从而方便在现场可编程逻辑门阵列上实现硬件电路,或者让硬件厂商制造具体的专用集成电路。设计人员还可以利用Verilog的扩展部分Verilog-AMS进行模拟电路和混合信号集成电路的设计。VHDL是由美国国防部主持研发的硬件描述语言,成为了第一个成为电气电子工程师学会标准的硬件描述语言,美国政府相关的项目都是基于VHDL;而Verilog由民间商业公司的私有产品发展为IEEE标准的,因此在商用领域的市场占有量更大,设计人员和支持资源比VHDL更广。在美国大约有10万设计人员、200所大学教授采用Verilog硬件描述语言.Verilog和VHDL作为业界广泛认可、同为电气电子工程师学会标准的硬件描述语言,有着各自的特点。VHDL的设计之初就更加针对标准化进行设计,Verilog则具有简明、高效的代码风格。两种语言都能够在多个抽象层次对数字电路建模,并且可以与验证、仿真、综合工具协同工作。其中,Verilog的逻辑门级、晶体管级级电路描述能力更强,VHDL不具备这样低级的描述能力,但是另一方面,VHDL的系统级抽象描述能力则比Verilog强。另外,由于Verilog与C语言在语法上有相似之处,因此具有C语言基础的设计人员更容易掌握它,而VHDL设计人员需要具有Ada语言编程基础,并且学习周期比Verilog更长。相关学术文献显示,在美国的高级数字系统设计领域,Verilog和VHDL的使用比率大约分别为80%和20%,这项比率在日本和台湾地区和美国相似。随着Verilog-A被合并到Verilog标准之中,而该部分后来成为了Verilog-AMS的一部分,该语言增加了对模拟电子系统的描述能力,因此它在混合信号集成电路中有着更广泛的应用。计算器是现代生活中长用的生活小工具,利用自己所学的知识设计一个简易的计算器不仅具有实际价值,而且是对为期一周对EAD学习的运用,是对数字电路知识的运用,真正把EDA和数电用于实战,可以巩固对两门功课的认识。同时加强对Quartus II的熟练操作,锻炼自己独立编写代码的能力与技巧,学会自我调试。2 设计题目内容及要求2.1设计题目:简易计算器的设计2.2内容及要求要求设计一简易的计算器,实现十进制数之间的加减乘除也能算,具体要求是:以12+34=46为例,当按下数字键1时显示器上显示出数字1,接着我们继续按下数字键2,屏幕上显示出12,紧接着我们输入运算符+,屏幕仍然显示12,当我们输入数字3时,屏幕上显示3,然后我们按下数字键4,屏幕显示34,直到我们按下=键,计算器为我们完成运算并在屏幕上显示出46.此时,如果我们继续输入运算符,比如说*,屏幕仍然显示46,我们继续输入3,此时屏幕显示3,当我们按下=后,计算器再次为我们完成计算,并在显示器上显示138.2.3设计原理2.3.1 FSM模块FSM在整个电路中起到中枢神经的作用,是整个电路的司令部,由它给op1、op2、alu分配指令。简易计算器的状态转移图如图2-1所示,fsm模块如图2-2所示。电路复位时op1和op2都全部清零,并且没有操作符的输入,即op1_add=0,op1_clear=0,op1_load=0,op2_load=0,oprand=0.电路进入状态s0,当无按键时即sc=NO时保持s0原状态不变,如果有0到9之间的数字键按下时电路进入状态s1,此时op1不在有输入,即op1_add=0,直到进入状态s2,此时便描述了从按键被按下到按键再次弹起时的全过程。当没有输入时状态s2继续保持,如果继续有操作符或者操作码输入时,op1_add=0,并由此进入状态s0.在s0状态下如果输入的是操作符+、*、/、=,状态进入s3则状态机FSM会把数据同时写入到op1和op2,即oprand=sc,op1_load=1,op2_load=1,而此时转入下一状态s4,该过程中op1和op2不再接受数据,即op1_add=0,op2_load=0.如果没有操作符或者操作码的输入状态s4继续保持,否则进入状态s5.在s5状态下没有输入时状态保持不变,当再次有数字输入时op1清零,进入状态s6,在s6状态下无条件转向状态s1.至此整个电路进到循环状态之中。sc=NO op1_add=0方案二:RST op1_add =0op1_clear =0op1_load= 0op2_load =0operand =”=”sc=NOsc!=NOS2S1S0RSTsc=0.9 op1_add=1* op1_add=0* op1_clear=0op1_add=1sc=”+-x/=” operand=scop1_load=1op2_load=1sc=NOsc=NOS6S5S4S3sc=0.9 op1_clear=1Sc!=NO * op1_add=0op2_load=0sc=0.9 op1_clear=1 图2-1 fsm状态转移图 图2-2 fsm模块2.3.2 Filter模块在按键的过程中信号会不可避免的产生毛刺,这可能会影响到我们输入的准确性,所以我们在扫描键盘的后面紧接着加入了键盘去抖模块fiter.键盘去抖电路模型如图2-3所示,Filter的状态转移图如图2-4所示:图2-3 键盘去抖电路scancode=scscancode!=sc & count =MC count=0sc=scancodescancode=sc count=0RST count=0sc =no图2-4 Filter状态转移图2.3.3 ALU模块Alu(arithmetic logical unit)是算术与逻辑单元,即运算器。它由与门和或门组成,主要负责所有数学与逻辑功能。其模块电路图如图2-5所示。图2-5 ALU模块2.3.4 OP模块OP模块是操作数寄存处,这里用到了op1、op2两个操作数。来自键盘扫描并经去抖后的信号被分配在这里。比如进行12+34=46的操作运算,输入的1首先寄存到op1中,实际上op1中初始值为0,op1进行的是*10+sc的运算,接着输入2,1*10+2=12,当按下操作符+时,op1、op2同时被赋予值12,接着输入3,op1此时先被清零,接着接受来自filter的输入3,实际上它再次完成了*10+sc的运算,输入4后它运行3*10+4的运算,于是op1此时存入了34,当我们再次按下=,运算结果46就被同时写入到了op1、op2.其模块图如图2-6,图2-7所示。图2-6 OP模块图2-6 OP模块2.3.5扫描键盘模块扫描键盘顾名思义是用来输入的,扫描键盘由四行列垂直交叉相成,行row为高电平,列col为低电平,按下哪个键后,该位置的行列导通,行电位被拉低,于是可以表示出哪个键被输入了。扫描键盘的模块电路图如图2-7所示。图2-7扫描键盘模块2.3.6电路全模块连接图为了得到整体性的概念,我们截取了电路的全模块连接图,它由六个模块组成:scankeys、filter、op1、op2、alu、fsm模块,如图2-8所示。图2-8全模块连接图3电路仿真3.1仿真原件Quartus II的简介Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。3.1.1 Quartus II功能Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件 3.1.2 Quartus II的其他特性 DSP Builder 12.0新的数字信号处理(DSP)支持通过系统控制台,与MATLAB的DDR存储器进行通信,并具有新的浮点功能,提高了设计效能,以及DSP效率。 经过改进的视频和图像处理(VIP)套装以及视频接口IP通过具有边缘自适应算法的Scaler II MegaCore功能以及新的Avalon-Streaming (Avalon-ST)视频监视和跟踪系统IP内核,简化了视频处理应用的开发。增强收发器设计和验证更新了Arria V FPGA的收发器工具包支持,进一步提高收发器数据速率(对于Stratix V FPGA,高达14.1 Gbps)。3.1.3 Quartus II的操作页面Quartus II的启动页面如图3-1所示。Quartus II的新工程向导页面如图3-2所示。Quartus II的建立原理图页面如图3-3所示。Quartus II的代码输入页面如图3-4所示。Quartus II的仿真页面如图3-1所示。图3-1 启动页面图3-2 新工程向导图3-3建立原理框图

温馨提示

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

评论

0/150

提交评论