计算机组成原理课程设计_第1页
计算机组成原理课程设计_第2页
计算机组成原理课程设计_第3页
计算机组成原理课程设计_第4页
计算机组成原理课程设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

实用文案计算机组成原理课程设计题 目 一位全加器(QuartusllII )学 生指导教师年 级 2007级专 业 计算机科学与技术系 别 计算机系学 院 计算机信息与工程学院哈尔滨师范大学标准实用文案2010年6月目录一、课程设计要求1.1课程设计问题描述............................................................................31.2课程设计任务要求...........................................................................3二、概要设计2.1加法器的基本概念....................................................................................32.2EDA概述.......................................................................................................52.3QuartusllII软件概述...............................................................................62.4一位全加器设计流程..................................................................................62.4.1一位全加器的基本概述....................................................................62.4.2一位全加器的原理图........................................................................6三、详细设计3.1.为本项工程设计建立文件夹...................................................................................83.2输入设计项目和存盘............................................................................................11标准实用文案3.3将设计项目设置成可调用的元件 123.4设计全加器顶层文件 143.5创建工程 143.6编译前设置 .............3.7全程编译 .................3.8时序仿真 ...................四、收获及体会5.1收获及体会 18五、参考文献6.1参考文献 19六、附录7.1一位全加器代码 add.vf 20一、课 程设计要求1.1课程设计问题描述众所周知,算术逻辑单元 (ALU)既能完成算术运算也能完成逻辑运算,是微处理器芯片中的一个十分重要的部件。但从基本算术运算的实现,我们可以看到所有的加、减、乘、除运算最终都能归结为加法运算。在 ALU完成的操作中,逻辑操作是按位进行,各位之间彼此无关,不存在进位问题,这使得逻辑运算速度很快,且是一个常数, 不需进行过多的优化工作。但对于算术操作来说, 因为存在进位问题, 使得某一位计算结果的得出和所有低于它的位相关。因此,为了减少进位传输所耗的时间, 提高计算速度,人们设计了多种类型的加法器,如行波进位 (RIP))~I法器、跳跃进位加法器 (CSKA:Carry—SKipAdders) 、进位选择加法器(CSLA:Carry—SeLect Adders)、超前进位加法器 (CLA:Carry—LookaheadAdders)等。它们都是利用各位之间的状态 (进位传递函数 P、进位产生函数 G等)来预先产标准实用文案生高位的进位信号,从而减少进位从低位向高位传递的时间。要求掌握使用 Quartusll II软件对用可编程逻辑器件 PLD进行开发与设计,利用可编程逻辑器件 PLD(programmablelogicdevice)QuartusllII 软件对一位全加器的进行合理正确的设计并且进行输入信号的测试。用门电路设计一个一位二进制全加器。要求输入两个加数 ain、bin和一个低进位 cin,得出本位和 sum和向高位进位 cout。1.2课程设计任务要求全加器是一个能对两个一位二进制数及来自低位的“进位”进行相加,产生本位“和”及向高位“进位”的逻辑电路。该电路有 3个输入变量,分别是 2个加数ain、bin和1个低进位cin,2个输出变量,分别是本位 sum和向高进位 cout。在Quartusll II利用基本门电路中设计一位带进位加法器,通过该课程设计理解和掌握可编程逻辑器件 PLD的应用和设计。主要目的就是了解和学习这门新技术的原理与应用,让同学们尽快掌握使用 EDA进行设计的方法,为后续课程的学习打下良好的基础。二、概 要设计2.1 加法器的基本概念在数字电子系统领域,存在三种基本的器件类型:存储器、微处理器和逻辑器件。 存储器用来存储随机信息,如数据表或数据库的内容。 微处理器执行软件指令来完成范围广泛的任务,如运行字处理程序或视频游戏。 逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、时序和控制操作、以及系统运行所需要的所有其它功能。加法器是微处理器中最基本、 最重要的模块,不仅在ALU、乘法器、除法器中均包含加法器模块,而程序指针 PC的自加、跳转指令的目标地址计算以及访存地址的获得也需要加标准实用文案法器来完成。从指令执行频率上看 ,算术逻辑单元、程序计数器、协处理器是 CPU中使用频率最多的模块。加法器是为了实现加法的, 即是产生数的和的装置。 加数和被加数为输入, 和数与进位为输出的装置为半加器。 若加数、被加数与低位的进位数为输入, 而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。对于 1位的二进制加法,相关的有五个的量:被加数 ain,被加数 bin,前一位的进位 cin,此位二数相加的和sum,此位二数相加产生的进位 cout。前三个量为输入量,后两个量为输出量,五个量均为1位。2.2EDA 概述EDA是电子设计自动化( Electronic Design Automation )的缩写,在 20世纪90年代初从计算机辅助设计( CAD)、计算机辅助制造( CAM)、计算机辅助测试( CAT)和计算机辅助工程( CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、 工具等方面进行了彻底的变革,取得了巨大成功。 在电子技术设计领域,可编程逻辑器件(如 CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。 这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了 EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在 EDA软件平台上,用硬件描述语言 HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和标准实用文案仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成, 并可以将电子产品从电路设计、 性能分析到设计出 IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有 EDA的应用。目前 EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。 例如在飞机制造过程中, 从设计、性能测试及特性分析直到飞行模拟,都可能涉及到 EDA技术。2.3QuartusllII 软件概述2.4 一位全加器设计流程 一位全加器的基本概述全加器是一个能对两个一位二进制数及来自低位的“进位”进行相加,产生本位“和”及向高位“进位”的逻辑电路。该电路有 3个输入变量,分别是 2个加数ain、bin和1个低进位cin,2个输出变量,分别是本位 sum和向高进位 cout。一位全加器 (FA)的逻辑表达式为:sum=ain⊕bin⊕cincout=ainbin +bincin +aincin其中 ain,bin 为要相加的数, cin为进位输入; sum 为和,cout 是进位输出; 一位全加器的原理图根据一位全加器的运算法则可得知一位全加器的真值表, 通过真值表可写出输出函数表达式:标准实用文案sum=ain⊕bin⊕cincout=ainbin +bincin +aincin由以上表达式可得出相应的逻辑电路如图所示。三、详细设计3.1为本项工程设计建立文件夹为本项设计的文件夹取名为杨雪婷路径为 杨雪婷3.2 输入设计项目和存盘原理图编辑输入流程如下:(1)打开QuartusII,选菜单File—>New,在弹出的对话框中选择 DeviceDesignFiles 页的原理图文件编辑输入项 BlockDiagram/SchematicFile,按OK按钮后将打开原理图编辑窗口。(2)在编辑窗口中的任何一个位置上右击鼠标,将出现快捷菜单,选择其中的输入元件项 Insert—>Symbol,于是将弹出输入元件的对话框。(3)单击按钮“⋯”,找到基本元件库路径项,选中需要的元件,单击“打开”按钮,此元件即显示在窗口中,然后单击Symbol窗口的OK按钮,即可将元件and2、not、xnor 和输入输出引脚 input 和output 分别调入原理图编辑窗口中。然后分别在input 和output 的PINNAME 上双击使其标准实用文案变黑色,再用键盘分别输入各引脚名: a,b,co,so(4)选择菜单File—>SaveAs,选择刚才为自己的工程建立的目录杨雪婷yangxueting ,将已设计好的原理图文件取名为 yangxueting1( 注意默认的后缀是.bdf),并存盘在此文件夹内。3.3将设计项目设置成可调用的元件为了构成全加器的顶层设计,必须将以上设计的半加器yangxueting1.bdf 设置成可调用的元件。在打开半加器原理图文件yangxueting1.bdf 的情况下,选择菜单File—>Create/Update —>CreateSymbolFileforCurrentFile 项,即可将当前文件yangxueting.bdf 变成一个文件符号存盘,以待在高层次设计中调用。半加器yangxueting2.bdf3.4设计全加器顶层文件为了建立全加器的顶层文件,必须再打开一个原理图编辑窗口,方法同前,即再次选择菜单 File—>New—>BlockDiagram/SchematicFile 。在新打开的原理图编辑窗口双击鼠标, 选择yangxueting1.bdf 元件所在的路径 杨雪婷yangxueting ,调出元件,并连接好全加器电路图。标准实用文案全加器yangxueting1.bdf3.5 创建工程在此要利用NewProjectWizard 工具选项创建此设计工程,即令顶层设计yangxueting.vhd 为工程,并设定此工程的一些相关信息,如工程名、目标器件、综合器、仿真器等。打开建立新工程管理窗口。选择File—>New Project Wizard 命令,即弹出“工程设置”对话框(如图所示标准实用文案将设计文件加入工程单击下方的Next按钮,在弹出的对话框中单击 File栏的按钮,将与工程相关的所有文件加入进此工程。方法有两种:①单击 AddAll 按钮,将设定的工程目录中的所有文件加入到工程文件栏中;②单击“ Add⋯”按钮,从工程目录中选出相关的文件(如图所示)。选择仿真器和综合器类型单击Next 按钮,在弹出的窗口选择仿真器和综合器类型,在此都选择默认项“NONE”。选择目标芯片单击Next按钮,选择目标芯片。首先在Family栏选芯片系列,在此选Cyclone系列,并在此栏下单击 Yes按钮,即选择一确定目标器件。再次单击Next按钮,标准实用文案选择此系列的具体芯片 EP1C12Q240C8。分别选择Package为PQFP;Pin为和Speed为8(如图所示)。工具设置单击Next按钮后,弹出的下一个窗口是 EDA工具设置窗口:EDAToolSettings。此窗口有三项选择:① EDAdesignentry/synthesistool, 用于选择输入的类型和综合工具;② EDAsimulationtool, 用于选择仿真工具;③EDAtiminganalysistool, 用于选择时序分析工具。结束设置。再单击Next按钮后即弹出“工程设计统计”窗口,最后点击 Finish按钮,即已设定好此工程。3.6编译前设置选择FPGA目标芯片。步骤:选择Assignments 菜单中的Settings 项,在弹出的对话框中选择Category 项下Device。首先选择目标芯片为 EP1C12Q240C8。标准实用文案选择配置器件的工作方式。单击Device&PinOptions 按钮,进入选择窗口,这将弹出 Device&PinOptions 窗口,首先选择General项(如图所示)。(3)选择配置器件和编程方式选中Configuration 页,在下方的Generatecompressedbitstreams 处选择打钩,就能产生于 EPCS的POF压缩配置文件。标准实用文案在Configuration选项页,选择配置器件为EPCS1,其配置模式可选择ActiveSerial。选择目标器件闲置引脚的状态。选择窗口的UnusedPins 项,此页中可根据实际需要选择目标器件闲置引脚的状态,可选择为输入状态;或输出状态;或输出不定状态;或不做任何选择。3.7全程编译选择Processing 菜单的StartCompilation 项,启动全程编译3.8时序仿真(1)打开波形编辑器。选择菜单 File中的New 项,在New 窗口中选择 Other Files中的Vector标准实用文案WaveformFile, 单击OK按钮,即出现空白的波形编辑器(2)设置仿真时间区域。对于时序仿真来说,将仿真时间轴设置在一个合理的时间区域上十分重要。通常设置的时间按范围在数十微妙内。在 Edit菜单中选择EndTime 项,在弹出的窗口中的Time栏处输入50,单位选“us”,整个仿真域的时间即设定为 50us,单击OK按钮,结束设置。(3)波形文件存盘。选择File中的Saveas项,命名为yangxueting.vwf 的波形文件存入文件夹杨雪婷\yangxueting 中。(4)将工程yangxueting 的端口信号节点选入波形编辑器方法是首先选择 View菜单中Utility Windows 项的Node Finder选项。在弹出的对话框中选 Pin:all,然后单击List按钮,于是在下方的 NodesFound 窗口中出现设计中的 yangxueting 工程的所有端口引脚名。(5)编辑输入波形单击时钟信号使之变成蓝色条,再单击左列的时钟设置键,在 Clock窗口中设置时钟周期。标准实用文案(6)仿真器参数设置。选择菜单Assignment 中的Settings,在Settings 窗口下选择Category—>SimulatorSettings ,在右侧的Simulationmode 项下选择Timing,即选择时序仿真,并选择仿真激励文件名 yangxueting.vwf 。选择SimulationOptions 栏,确认选定Simulationcoveragereporting ;毛刺检测Glitchdetection 为1ns宽度;选中Runsimulationuntilallvectorstimuliareused全程仿真。启动仿真器。菜单Processing 项下选择StartSimulation ,直到Simulationwassuccessful,标准实用文案仿真结束。观察仿真结果。五、收获及体会本设计主要设计一位加法器,然而计算机内部都是多位加法器。只是从简单层面上设计加法器的功能,而没有考虑到加法器的性能从上选择实验。虽然在设计上没有实现,但是我们在理论上分析和讨论不同的加法器选择不同门电路在性能的差别。从而得知在不同的计算机内部会采用不同的加法器机制,在具体设计时需要根据具体的应用环境和实现工艺确定采用哪一种加法器。加法器的性能可以从延迟、功耗、面积等方面进行分析。具体分析的方法有三种:是通过门级模拟器来估算加法器的性能;二是采用标准单元库对每种加法器进行逻辑综合和布局布线来设计电路,然后从版图中反提取电路参数,针对其参数进行电路的模拟,从中得出各种加法器的比较结果;三是通过物理实现在芯片上实现各种加法器,然后通过实际测量进行比较。逐位进位加法器,在每一位的计算时,都在等待前一位的进位。那么不妨预先考虑进位输入的所有可能,对于二进制加法来说,就是0与1两种可能,并提前计算出若干位针对这两种可能性的结果。等到前一位的进位来到时,可以通过一个双路开关选出输出结果。这就是进位选择加法器的思想。可编程逻辑的价值在于其缩短电子产品制造商开发周期,以及帮助他们更快地将产品推向市场的能力。随着PLD供应商继续致力于在可编程逻辑器件中集成更多的功能、降低其标准实用文案成本并提高能够节约时间的IP核心的可用性,可编程逻辑一定会在数字设计人员中进一步普及开来。培养学生正确的设计思想, 理论联系实际的学习态度; 培养学生综合运用所学计算机组成原理知识,分析和解决工程技术问题的能力。 训练提高学生查阅资料, 运用计算机辅助工具绘制原理图,阅读原理图以及对原理图进行功能模拟的能力; 提高学生对计算机的各组成部分的理解,进一步深入认识计算机系统,强化学生的系统意识;提高学生的动手能力。PLD是电子设计领域中最具活力和发展前途的一项技术。 PLD能完成任何数字器件的功能,上至高性能 CPU,下至简单的 TTL74序列电路,都可以用 PLD来实现。在 PCB完成以后,还可以利用 PLD的在线修改功能,随时修改设计而不必改动硬件电路。 PLD技术在20 世纪 90 年代以后得到飞速的发展,同时也大大推动了 EDA软件和硬件描述语言(HDL)的进步。PLD设计依靠功能强大的电子计算机, 在EDA工具软件平台上, 对以硬件描述语言 (HDL)为系统逻辑描述手段完成的设计文件,并自动地完成逻辑编译、化简、分割、综合、优化、仿真,直至下载到可编程逻辑器件 FPGA/CPLD,实现既定的电子电路设计功能。硬件描述语言在 PLD设计中占据极其重要的位置,目前国际上流行的硬件描述语言主要有VHDL和VerilogHDL 。六、参考文献参考文献[1]计算机组成原理课程设计.山东大学出版社.刘荣兴,王祖强,殷晓峰.[2005].[2]数字逻辑(第二版).华中科技大学出版社.欧阳星明.[2008].[3]32位并行乘法器的研究与设计[D].西安微电子技术研究所.许琪.[2002].[4]计算机组成原理(第二版).高等教育出版社.唐朔飞.[2005]..标准实用文案[6]PLD 逻辑设计实务.清华大学出版社.邱耀煌 [2002] .[7]ComputerArchitectureAQuantitativeApproach .Znd,Edition.(eBook).七、附录一位全加器原理生成代码HEADER{VERSION=1;TIME_UNIT=ns;DATA_OFFSET=0.0;DATA_DURATION=50000.0;SIMULATION_TIME=0.0;GRID_PHASE=0.0;GRID_PERIOD=10.0;GRID_DUTY_CYCLE=50;}SIGNAL("bin"){VALUE_TYPE=NINE_LEVEL_BIT;SIGNAL_TYPE=SINGLE_BIT;WIDTH=1;LSB_INDEX=-1;标准实用文案DIRECTION=INPUT;PARENT="";}SIGNAL("cin"){VALUE_TYPE=NINE_LEVEL_BIT;SIGNAL_TYPE=SINGLE_BIT;WIDTH=1;LSB_INDEX=-1;DIRECTION=INPUT;PARENT="";}SIGNAL("cout"){VALUE_TYPE=NINE_LEVEL_BIT;SIGNAL_TYPE=SINGLE_BIT;WIDTH=1;LSB_INDEX=-1;DIRECTION=OUTPUT;PARENT="";}SIGNAL("sum")标准实用文案{VALUE_TYPE=NINE_LEVEL_BIT;SIGNAL_TYPE=SINGLE_BIT;WIDTH=1;LSB_INDEX=-1;DIRECTION=OUTPUT;PARENT="";}SIGNAL("ain"){VALUE_TYPE=NINE_LEVEL_BIT;SIGNAL_TYPE=SINGLE_BIT;WIDTH=1;LSB_INDEX=-1;DIRECTION=INPUT;PARENT="";}TRANSITION_LIST("bin"){NODE{REPEAT=1;标准实用文案NODE{REPEAT=5000;LEVEL0FOR5.0;LEVEL1FOR5.0;}}}

温馨提示

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

评论

0/150

提交评论