最新QuartusII设计八位加法器文档格式.docx
《最新QuartusII设计八位加法器文档格式.docx》由会员分享,可在线阅读,更多相关《最新QuartusII设计八位加法器文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
这一阶段的主要特征是以高级描述语言,系统级仿真和综合技术为特点,采用“自顶向下”的设计理念,将设计前期的许多高层次设计由EDA工具来完成[3]。
1.1.1EDA的发展
从目前的EDA技术来看,中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分的设计人员工发复杂的片上系统器件。
为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。
在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。
要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。
有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。
开展“数控化”工程和“数字化”工程。
自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。
在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。
1.1.2EDA的应用
电子EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。
利用电路仿真工具进行电路设计与仿真;
利用虚拟仪器进行产品调试;
将FPGA器件的开发应用到仪器设备中。
在产品设计与制造方面:
从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在后期的制作、电子设备的研制与生产、电路板的焊接、器件的制作过程等有重要作用。
可以说电子EDA技术已经成为电子工业领域不可缺少的技术支持[4]。
1.2硬件描述语言概述
硬件描述语言(HDL-HardwareDescriptionLanguage)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。
例如一个32位的加法器,利用图形输入软件需要输入500至1000个门,而利用VHDL语言只需要书写一行A=B+C即可,而且VHDL语言可读性强,易于修改和发现错误。
早期的硬件描述语言,如ABEL-HDL、AHDL,是由不同的EDA厂商开发的,互相不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。
为了克服以上缺陷,1985年美国国防部正式推出了VHDL(VeryHighSpeedICHardwareDescriptionLanguage)语言,1987年IEEE采纳VHDL为硬件描述语言标准(IEEESTD-1076)。
VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。
另外,VHDL还具有以下优点:
VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,只需花较少的精力用于物理实现[5]。
VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用。
VHDL的设计不依赖于特定的器件,方便了工艺的转换。
VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。
第2章QUARTUSII
2.1QUARTUSII概述
设计输入是设计者对系统要实现的逻辑功能进行描述的过程。
设计输入有多种表达方式,常用的用原理图输入、硬件描述语言输入、网表输入等。
1、原理图输入:
原理图设计输入方式是利用软件提供的各种原理图库,采用画图的方式进行设计输入。
这是一种最为简单和直观的输入方式。
原理图输入方式的效率比较低,半只用于小规模系统设计,或用于在顶层拼接各个以设计完成的电路子模块。
2、硬件描述语言输入:
这种设计输入方式是通过文本编辑器,用VHDL,Verilog或AHDL等硬件描述语言进行设计输入。
采用语言描述的有点事效率较高,结果容易仿真,信号观察方便,在不同的设计输入库之间转换方便,适用于大规模数字系统的设计。
但语言输入必须依赖综合器,只有好的综合器才能把语言综合成优化的电路。
3、网表输入:
现代可编程数字系统设计工具都提供了和它第三方EDA工具相连接的接口。
采用这种方法输入时,可以通过标准的网表把它设计工具上已经实现了的设计直接移植进来,而不必重新输入。
一般开发软件可以接受的网表有EDIF格式、VHDL格式及Verilog格式等。
在用网表输入时,必须注意在两个系统中采用库的对应关系,所有的库单元必须一一对应,才可以成功读入网表[6]。
2.2QUARTUSII建立工程项目
在QuartusII中,用户的每个独立设计都对应一个工程项目,每个工程项目可包含一个或多个设计文件。
其中一个是顶层文件,编译器是对项目中的顶层文件进行编译的,项目同时还管理编译过程中产生的各种中间文件,这些中间文件的文件名相同,但后缀名不同。
为了便于管理,对于每个新的项目应该建立一个单独的子目录。
指定项目名称的步骤如下:
1.打开QuartusII,在File菜单中选择NewProjectWizard项,将出现工程项目建立向导对话框。
如图2-1(a)所示。
2.点击“Next”,进入到如图2-1(b)所示的工程项目命名对话框,在最上面的文本输入框中输入为该项目所建的目录名,如本例为“E:
\Clock”,在中间的文本输入框中输入项目名称,本次实验为“adder”,在最下面的文本输入框中输入最顶层模块的名称“adder”。
3.点击“Next”,进入到如图2-1(c)所示的设计文件选择对话框,由于在本例中还没有任何设计文件,所以不选择任何文件。
(a)工程项目建立向导对话框图(b)工程项目命名对话框
(c)设计文件选择对话框(d)器件选择对话框
(e)第三方EDA工具选则对话框(f)”Summary”对话框
图2-1项目建立向导
4.点击“Next”,进入到如图2-1(d)所示的器件选择对话框,在“Family”下拉菜单中选择需要的器件。
5.点击“Next”进入到如图2-1(e)所示的第三方EDA工具选择对话框,在这个界面可以选择第三方的综合工具、仿真工具和时延分析工具。
由于在本例中综合、仿真和时延分析都采用QuartusII内置的工具,所以在这个页面不作任何选择。
6.点击“Next”进入到如图2-1(f)所示的“Summary”对话框,在这个窗口列出了前面所作设置的全部信息。
7.点击“Finish”完成工程项目建立过程,回到如图2-2主窗口,主窗口分为几个部分,除了菜单和工具条以外,左上有项目导航(ProjectNavigator)栏,此时在该栏能看到顶层模块的名称;
左中是处理进度栏,用于显示项目处理的进度;
下方是信息栏,用于显示项目处理过程中产生的各项信息。
项目导航栏主工作区
进度处理栏
信息栏
图2-2QuartusII主窗口界面
2.3QUARTUSII建立原理图输入文件
在QuartusII中我们可以利用BlockEditor以原理图的形式进行设计输入和编辑。
BlockEditor可以读取并编辑后缀名为”.bdf”的原理图设计文件以及在MAX+PLUSII中建立的后缀为”.gdf”的原理图输入文件。
在BlockDesignFiles的基础上还可以生成BlockSymbolFiles(.bsf),AHDLInclude文件(.inc)和HDL文件,以被其他设计文件调用。
下面介绍原理图输入的过程:
1.在File菜单中选择New项,将出现新建文件对话框,如图2-3所示。
选择“BlockDiagram/SchematicFile”项。
图2.3新建文件对话框
2.点击“OK”,在主界面中将打开如图2-4所示的“BlockEditor”窗口。
图2-4所示的“BlockEditor”包括主绘图区和主绘图工具条两部分。
主绘图区是用户绘制原理图的区域,绘图工具条包含了绘图所需要的一些工具。
主绘图区
绘图工具栏
图2.4BlockEditor主窗口
3.点击绘图工具栏上的
按钮打开如图2-5所示的元件添加窗口。
图2-5元件添加窗口
在“Libraries”栏中显示目前你已经安装的元件库,一般缺省会有megafunctions、others和primitives这三个库。
其中megafunctions是参数化模块库,包含了一些参数可调、功能复杂的高级功能模块;
others库中则包含了原来MAX+PLUSII中的部分器件库,其中包括了大部分的74系列中规模逻辑器件;
primitives库是基本库包含一些基本的逻辑器件,如各种门、触发器等。
4.在元件库中打开元件目录,选中所需要的元件,此时在右侧窗口中能即时看到该器件的外形,单击“OK”按钮,对话框关闭,此时在鼠标光标处将出现所选的元件,并随鼠标的移动而移动,在合适的位置点击鼠标左键,放置一个元件,移动鼠标,重复放置第二个元件,放置结束时点击鼠标右键选择Cancel。
5.完成元件放置后就需要连接各个器件了。
连接元器件的两个端口时,先将鼠标移到其中一个端口上,这时鼠标指示符自动变为“+”形状,然后一直按住鼠标的左键并将鼠标拖到第二个端口,放开左键,则一条连接线被画好了。
如果需要删除一根连接线,可单击这根连接线使其成高亮线,然后按键盘上的“Delete”键即可。
6.从“File”菜单下选择“Save”,出现文件保存对话框。
单击“OK”,使用默认的文件名存盘。
默认的文件名为项目顶层模块名加上“.bdf”后缀。
2.4QUARTUSII层次化项目设计
数字系统设计的一般方法是采用自底向上或自顶向下的层次化设计。
利用QuartusII提供的工具我们可以很容易的完成用层次化设计。
2.4.1底层模块符号的建立和修改
为了便于顶层模块的调用,我们首先必须将前面设计的所需电路转变成一个元件符号。
1.在所需要的底层电路图设计完成以后,在图形编辑器窗口下,执行菜单“File”下“Create/Update”子菜单下的“CreatesymbolFilesforCurrentFile”,就可以将我们自己设计的电路编译成库中的一个元件;
2.执行菜单“File”下的“Open”项,在文件类型下拉列表框中选择“OtherSourceFiles”项,然后在文件窗口内选择刚完成编译的元件,点击“打开”按钮,打开符号编辑器窗口,在这个窗口中我们可以看到我们新建元件符号的外观。
3.和图形编辑器类似,在符号编辑器里,我们可以通过画图工具对符号进行一些必要的修改,以满足我们的需要。
2.4.2建立顶层设计文件
在完成模块符号生成后,我们可以建立顶层文件来调用这个符号,以构成完整的系统。
新建一个空白的图形文件,保存为“Clock.bdf”。
打开元件添加窗口。
可以注意到和以前不同的是在“libraries”栏中,多出了一个“project”目录如图2-6,在这个目录下,可以看到我们自己做的元件。
图2-6元件添加窗口
在绘图区内放置若干元件,经过连接后,完成我们需要的顶层文件。
假设我们前面我们指定的项目顶层文件为“Counter60.bdf”,而现在这个项目的顶层文件是“Clock.bdf”,所以必须重新设置。
在主窗口的“ProjectNavigator”栏中,打开“File”项,在“DeviceDesignFiles”目录中选择“Clock.bdf”点击鼠标右键,在右键菜单,选择“SetasTop_LeverEntity”项,将“Clock.bdf”指定为项目顶层文件如图2-7
编译完成后,在主窗口的“ProjectNavigator”栏中,打开“Hierarchy”项显示整个项目的设计层次,如图2-8所示。
图2-7设置顶层项目文件图2-8显示项目设计层次
第3章8位加法器设计
3.18位加法器
3.1.1原理及功能说明
8位加法器是由8个一位的全加器串联构成,运算时,低位的数相加运算求得和与进位,将和输出,进位传给上一位全加器。
以此类推。
最终实现将2组8位二进制数进行求和运算。
3.1.2设计思路
全加器
进位进位进位进位进位进位进位
图3-18位加法器数据流
3.2设计过程
3.2.1半加器、
原理图设计如图3-2
图3-2半加器原理图
半加器由一个二位输入与门、一个非门和一个二位输入与非门如图连接构成。
将原理图保存好后进行仿真,仿真波形图如图3-3。
图3-3半加器波形图
通过波形图可以确认,半加器无误。
为了能够简化全加器原理图,将半加器进行编译,形成元件”h_adder”。
3.2.2全加器
全加器的原理图如图3-4
图3-4全加器原理图
全加器由两个半加器、一个或门、三个输入端、两个输出端构成。
全加器的波形图如图3-5
图3-5全加器波形图
通过波形图可以确认,全加器无误。
为了能够简化8位全加器原理图,将全加器进行编译,形成元件”f_adder”。
3.2.38位全加器
8位全加器的原理图如图3-6
图3-68位全加器原理图
将8个一位全加器分别串联起来,低位的进位输出到高位的输入,并将该位的结果输出。
最终输出8位结果和一位最高进位(忽略)。
8位全加器仿真图如图3-7
图3-78位全加器波形图
同过观察波形图可以看出,8位全加器的设计无误。
至此,8位全加器完成。
参考文献
[1]王振宇.电子设计自动化(EDA).北京:
电子工业出版社,2007.
[2]郑家龙,王小海,章安元.集成电子技术基础教程.北京:
高等教育出版社,2002.
[3]宋万杰,罗丰,吴顺君.CPLD技术及其应用.西安:
西安电子科技大学出版社,1999.
[4]刘明业,将敬旗,刁岚松等译.硬件描述语言Verilog.北京:
清华大学出版社,2001.
[5]王金明,杨吉斌.数字系统设计与VerilogHDL.北京:
电子工业出版社,2002.
[6]AlteraCorporation,“QuartusIIHelpVersion2.0”.
结论
通过此次课程设计,让我对EDA这门科学有了一个初步的了解,并且能够应用以前学到的知识进行简单的硬件设计。
初步的学会了使用QuartusⅡ软件,明白了EDA层次设计的方法。
层次设计给我们提供了一种“自顶向下”的全新的设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。
在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。
由于设计的主要仿真和调试过程是在高层次上完成的,这有利于早期发现结构设计上的错误,避免设计工作的浪费,提高了设计的一次成功率。
此次课程设计是应用原理图输入法设计8位全加器,在课程设计时遇到了很多困难,因为从没有接触过EDA课程,所以很多内容都不了解,只能借来书籍自己一点一点的摸索。
最后在老师的帮助下,完成了8位全加器的设计。
一、简答题:
(3X10)
1.教师专业发展的内容
2.教师专业发展的阶段
3.教师专业发展的途径
4.教育研究的基本步骤
5.简述教育与政治经济发展的关系
6.简述全面发展的内容
7.如何运用记忆规律,促进知识保持
8.简述影响问题解决的因素
9.简述马斯洛需要层次理论
10.简述四种不同气质类型的特征,并针对不同气质类型如何指导
11.影响课程开发的主要因素
12.简述新课改下教师教学观的改变
13.简述新课改结构的主要内容
14.人的身心发展规律及其对教育的影响
15.小学生心理发展的特点
16.简述学生学习的特点
17.建构主义学习观
18.简述德育过程的基本规律
19.说服教育法的含义和要求
20.简述美育的任务
21.班集体的基本特征
22.班主任如何组织和培养班集体
23.小学班主任应该具备的基本素养
24.先进生、中等生和后进生各有什么样的心理特点?
班主任应该如何进行个别教育
25.小学教学的基本任务
26.简述教学课程的基本规律
27.讲授法的基本要求
28.教学实施的环节
29.简述上好一堂课的标准