EDA课程设计简易计算器设计.docx

上传人:b****7 文档编号:8712214 上传时间:2023-02-01 格式:DOCX 页数:15 大小:708.87KB
下载 相关 举报
EDA课程设计简易计算器设计.docx_第1页
第1页 / 共15页
EDA课程设计简易计算器设计.docx_第2页
第2页 / 共15页
EDA课程设计简易计算器设计.docx_第3页
第3页 / 共15页
EDA课程设计简易计算器设计.docx_第4页
第4页 / 共15页
EDA课程设计简易计算器设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

EDA课程设计简易计算器设计.docx

《EDA课程设计简易计算器设计.docx》由会员分享,可在线阅读,更多相关《EDA课程设计简易计算器设计.docx(15页珍藏版)》请在冰豆网上搜索。

EDA课程设计简易计算器设计.docx

EDA课程设计简易计算器设计

唐山学院

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].夏宇闻.甘伟《VerilogHDL入门》.北京航空航天大学出版社,2013.1

[2].潘松,黄继业.《EDA技术实用教程》(第二版).科学出版社,2005.2

[3].焦素敏.《EDA应用技术》.清华大学出版社,2002.4

指导教师(签名):

教研室主任(签名):

课程设计成绩评定表

出勤

情况

出勤天数

缺勤天数

出勤情况及设计过程表现(20分)

课设答辩(20分)

设计成果(60分)

总成绩(100分)

提问

(答辩)

问题

情况

 

 

指导教师签名:

年月日

 

1引言

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点.系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。

一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所FPGA可以完成所需要的逻辑功能。

FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,但是功耗较低。

但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

厂商也可能会提供便宜的但是编辑能力差的FPGA。

因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在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和数电用于实战,可以巩固对两门功课的认识。

同时加强对QuartusII的熟练操作,锻炼自己独立编写代码的能力与技巧,学会自我调试。

 

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.1FSM模块

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.至此整个电路进到循环状态之中。

 

方案二:

 

图2-1fsm状态转移图

图2-2fsm模块

2.3.2Filter模块

在按键的过程中信号会不可避免的产生毛刺,这可能会影响到我们输入的准确性,所以我们在扫描键盘的后面紧接着加入了键盘去抖模块fiter.键盘去抖电路模型如图2-3所示,Filter的状态转移图如图2-4所示:

图2-3键盘去抖电路

 

scancode=sc

scancode!

=sc&&count

count=count+1

scancode!

=sc

count=count+1

count>=MC

count=0

sc=scancode

scancode=sc

count=0

RST

count=0

sc=no

 

图2-4Filter状态转移图

 

2.3.3ALU模块

Alu(arithmeticlogicalunit)是算术与逻辑单元,即运算器。

它由与门和或门组成,主要负责所有数学与逻辑功能。

其模块电路图如图2-5所示。

图2-5ALU模块

2.3.4OP模块

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-6OP模块

图2-6OP模块

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仿真原件QuartusII的简介

QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。

目前Altera已经停止了对MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。

Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。

AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

3.1.1QuartusII功能

QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:

可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;

芯片(电路)平面布局连线编辑;

LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;

功能强大的逻辑综合工具;

完备的电路功能仿真与时序逻辑仿真工具;

定时/时序分析与关键路径延时分析;

可使用SignalTapII逻辑分析工具进行嵌入式的逻辑分析;

支持软件源文件的添加和创建,并将它们链接起来生成编程文件;

使用组合编译方式可一次完成整体设计流程;

自动定位编译错误;

高效的期间编程与验证工具;

可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;

能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。

Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。

该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。

Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。

改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。

支持MAX7000/MAX3000等乘积项器件

3.1.2QuartusII的其他特性

DSPBuilder12.0新的数字信号处理(DSP)支持——通过系统控制台,与MATLAB的DDR存储器进行通信,并具有新的浮点功能,提高了设计效能,以及DSP效率。

经过改进的视频和图像处理(VIP)套装以及视频接口IP——通过具有边缘自适应算法的ScalerIIMegaCore功能以及新的Avalon-Streaming(Avalon-ST)视频监视和跟踪系统IP内核,简化了视频处理应用的开发。

增强收发器设计和验证——更新了ArriaVFPGA的收发器工具包支持,进一步提高收发器数据速率(对于StratixVFPGA,高达14.1Gbps)。

3.1.3QuartusII的操作页面

QuartusII的启动页面如图3-1所示。

QuartusII的新工程向导页面如图3-2所示。

QuartusII的建立原理图页面如图3-3所示。

QuartusII的代码输入页面如图3-4所示。

QuartusII的仿真页面如图3-1所示。

 

图3-1启动页面

图3-2新工程向导

图3-3建立原理框图

图3-4代码输入界面

图3-5仿真界面

3.2电路总体电路图

简易计算器的总体电路图如图3-6所示。

图3-6总体电路图

3.3仿真波形

最后的仿真波形如图3-8所示。

图3-8仿真波形

4设计总结

本次设计设计的项目是简易计算器,结构简单,清新易懂,设计流程简洁,作为课程设计的项目将其简单化这样更容易让大家对EDA课程,FPGA的理解和应用,不能对计算机有太大的要求,只是一个件的设计,一般计算器的复杂运算还是不能处理,对计算器的复杂运算还需要对知识的深入理解和扎实的掌握,只有这样才能完善计算器的功能。

简易计算器就是对大家刚刚掌握的知识进行应用,这是一个熟悉知识的过程,大家在这个过程中能够加深对电子设计的理解,和对实际应用实际操作的灵活性。

经过一周FPGA的学习,我们得到了很多的收获,老师教会了我们好多功能机的设计,编码的创建过程,之前报过计算机二级培训班,对这样的代码编写有点熟悉的感觉,但毕竟不是同一性质的学科类型,应用方式也不一样,就需要对课程的深入理解,李老师的教学方式独特,大家都能轻松的理解,李老师教学相长,能够深入了解学生不解之处,为大家排忧解难,很有大家的风度,李老师总是耐心的为大家解决各种问题,一些大家经常犯的错误,老师也都一一解答,李老师为人师表。

后面的课设,大家都在课余时间里复习,在实验室进行编程和应用,当做出结果的时候,感到十分的快乐。

申老师经常的陪伴大家也挺辛苦的,在这里感谢申老师。

虽然课程这就结束了,但不能落下这门课,这门课对电子知识的理解很有帮助,对实践应用更加清晰。

 

参考文献

[1].夏宇闻.甘伟《VerilogHDL入门》.北京航空航天大学出版社,2013.1

[2].潘松,黄继业.《EDA技术实用教程》(第二版).科学出版社,2005.2

[3].焦素敏.《EDA应用技术》.清华大学出版社,2002.4

资料仅供参考!

!

!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1