为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 组成原理-逻辑电路控制器CPU的设计分解

组成原理-逻辑电路控制器CPU的设计分解

2017-12-20 14页 doc 140KB 13阅读

用户头像

is_637320

暂无简介

举报
组成原理-逻辑电路控制器CPU的设计分解组成原理-逻辑电路控制器CPU的设计分解 摘 要 本次计算机组成原理课程设计课题是逻辑电路控制器CPU的设计。利用maxplus来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,设计控制器CPU的逻辑电路图,用逻辑电路图实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计在maxplus中完成存数据、取数据、加指令的CPU程序,用电路图实现了相关功能,设计maxplus的指令系统(包括存数据、取数据、加指令的CPU程序),形成具有一定功能的完整的电路图。 关键词:maxplus、全加器、寄...
组成原理-逻辑电路控制器CPU的设计分解
组成原理-逻辑电路控制器CPU的分解 摘 要 本次计算机组成原理课程设计课是逻辑电路控制器CPU的设计。利用maxplus来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,设计控制器CPU的逻辑电路图,用逻辑电路图实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计在maxplus中完成存数据、取数据、加指令的CPU程序,用电路图实现了相关功能,设计maxplus的指令系统(包括存数据、取数据、加指令的CPU程序),形成具有一定功能的完整的电路图。 关键词:maxplus、全加器、寄存器、逻辑电路图 目 录 1.实验软件maxplus ...................................................... 0 1.1 maxplus简介 .................................................... 0 1.2 maxplus的使用说明 .............................................. 0 2.设计目标 ............................................................. 3 ............................. 3 3.系统设计 ................................ 3.1 四位二进制加法器 ................................................ 3 3.2 寄存器 .......................................................... 4 .......................... 5 3.3计数器 ................................ 3.4 微指令集电路图设计 .............................................. 6 3.5 CPU程序设计流程图 .............................................. 7 4.程序实现 ............................................................. 7 4.1 仿真电路图 ...................................................... 7 4.2 仿真结果 ........................................................ 8 5.总结与体会 .......................................................... 10 参考文献 .............................................................. 10 1.实验软件maxplus 1.1 maxplus简介 Altera公司的MAX+PLUS?的全称是Multiply Array matrix and Programmable Logic User System。MAX+PLUS?支持所有的CPLD和25万门以内的FLEX和ACEX系列FPGA。它集设计输入、编译、仿真、综合、编程(配置)于一体,带有丰富的设计库,并有详细的联机帮助功能,且许多操作与Windows下的操作方法完全一样,是一个集成化的、易学易用的PLD开发平台。用MAX+PLUS?进行设计的一般过程,设计输入、编译、功能仿真、设计实现、时序仿真、下载、硬件检查,在对上述过程中有错误的进行设计修改。 1.2 maxplus的使用说明 逻辑设计的输入:?指定项目名称,在“File”菜单中选择Project?Name打开“Project Name”对话框;选择适当的驱动器和目录,然后键入项目名;点击“OK”。?建立原理图设计文件,第一步打开原理图编辑器,在管理器窗口的“File”菜单中选择“New”;选择“Graphic Editor File”和“.gdf”项;点击“OK”。第二步输入元件和模块,原理图编辑窗口空白处双击鼠标左键或者在“Symbol”菜单中选择“Enter Symbol”,便打开了“Enter Symbol”对话框;选择适当的库及所需的器件(模块);点击“确定”。第三步放置输入、输出引脚,在“Symbol Name”框中键入input或output。第四步连线,将电路图中的两个端口相连,将鼠标指向一个端口,鼠标箭头会自动变成“+”;一直按住鼠标左键拖至另一个端口;放开左键,则会在两个端口间产生一根连线。输入/输出引脚和内部连线命名,输入/输出引脚命名的方法是在引脚的“PIN-NAME”位置双击鼠标左键,然后键入信号名。内部连线的命名方法是:选中连线,然后键入信号名。第六步保存文件,在“File”菜单中选择“Save As”(若该文件已有,则选“Save”)或在工具栏点击按钮,如是第一次保存,需输入文件名。建立一个默认的符号文件,在层次化设计中,如果当前编辑的文件不是顶层文件,则往往需要为其产生一个符号,将其打包成一个模块,以便在上层电路设计 0 时加以引用。建立一个符号文件的方法是,在“File”菜单中选择“Create Default Symbol”项即可。 编译网表提取:MAX+PLUS?的编译器包括两大功能:编译和设计实现。编译的作用是检查设计输入中有无描述性错误,若无描述性错误,则提取出电路网表(Netlist);若有描述性错误,则给出出错信息(包括出错位置、错误性质),并有联机帮助功能帮助用户改正错误。运行编译器的方法是,在“MAX+PLUS?”菜单中选“Compiler”选项或直接在工具栏中点击按钮。启动编译器后首先进行“编译与电路网表提取”工作。做完这一工作后编译器便停下来等待用户的指示。如果编译中未发现错误,则可以接着做“设计实现”的工作。设计实现包括数据库生成器(Database Builder)、逻辑综合器(Logic Synthesizer)、逻辑划分器(Partitioner)、设配器(Fitter)、时序仿真网表文件提取器(Timing SNF Extractor)和编程数据汇编器(Assembler)等步骤。?选项设置,编译器有很多选项设置,但并不是每一项都需要用户去设置,有些设置编译器可自动选择(如器件选择、引脚分配等),而其他的设置往往有默认值。在“Assign”菜单中选“Device”项,然后选择器件的系列和型号,型号可设为“Auto”,编译器自动选择;器件引脚分配,在原理图编辑窗口中,选中某个输入或输出信号,按鼠标右键,在弹出菜单中选“Pin/Location/Chip”,然后选引脚号。?运行“设计实现”,按上述方法做好必要的设置后,在编译器窗口中按“Start”就可以连续执行后续的设计步骤,产生的数据文件的扩展名会出现在各个执行框的下方。 仿真验证:仿真分功能仿真和时序仿真两种,两种仿真的做法是一样的,由编译时生成的仿真网表文件类型决定仿真的类型。仿真过程分三步,首先要建立波形文件,确定需要观察的信号,设计输入波形,设定一些时间和显示参数。其次才是运行仿真程序。最后是根据仿真结果(波形)分析电路功能正确与否。?建立波形文件,第一步打开原理图编辑器,在管理器窗口的“File”菜单中选择“New”或直接在工具栏上点击按钮,打开“New”列表框;选择“Waveform Editor File”和“.scf”项,按“OK”。第二步设定时间参数,从“File”菜单中选择“End Time”项,键入仿真结束时间,按“OK”;在“Options”菜单中选择“Grid Time”项,键入时间显示网格间距,按“OK”。第三步确定需观察的信号,在“Node”菜单中或在波形图编辑窗口空白处单击鼠标右键选择“Enter Nodes From SNF”(SNF指仿真网表文件)项,打开“Enter Nodes From SNF”对话框;在“Type”框中选择信号类别,最常用的是“Input” 1 和“Output”(输入、输出);点“List”按钮,将所选类别的所有信号均列于“Available Nodes & Groups”框;从“Available Nodes & Groups”框中选择信号,然后按“=>”箭头,使所选信号名进入“Selected Nodes & Groups”框;选择“OK”,所选信号将出现在波形图编辑窗口中;根据需要编辑输入波形,编辑窗口左侧一列按钮非常有用;在“File”菜单中选择“Save As”或在工具栏点击按钮,如是第一次保存,需输入文件名。?运行仿真程序,在“MAX+PLUS?”菜单中选“Simulator”选项或直接在工具栏中点击按钮,出现仿真对话框;按“Start”开始仿真;仿真结果后,按“Open SCF”,在波形编辑窗口中将显示出仿真结果(波形)。?仿真结果分析。 底层图编辑:通过底层图编辑器可以观察和控制底层(物理)设计的细节,细节包括两个内容:引脚分配和逻辑单元分配,打开底层图编辑器的方法是,在“MAX+PLUS?”菜单中选“Floorplan Editor”选项或直接在工具栏中点击按钮。?器件外观视图,在底层图编辑界面下,从“Layout”菜单中选择“Device View”就可以显示出器件的所有引脚及其功能。如果在“Lauout”菜单中选择“Last Compilation Floorplan”或点击底层图编辑窗口左侧的相应按钮,则显示最新一次经过编译的引脚分配情况。已分配过的引脚呈彩色,未分配过的引脚呈白色。如果在“Layout”菜单中选择“Current Assignment Floorplan”或点击底层图编辑窗口左侧的相应按钮,就可以重新进行引脚分配。但是,重新分配的结果必须经过编译才能生效。?器件内部视图,在底层图编辑界面下,从“Layout”菜单中选择“LAB View”就可以显示出器件的所有逻辑单元和引脚。如果在“Layout”菜单中选择“Last Compilation Floorplan”或点击底层图编辑窗口左侧的相应按钮,则显示最新一次经过编译的逻辑单元和引脚分配情况。已分配过的单元及引脚呈彩色,未分配过的单元及引脚呈白色。如果在“Layout”菜单中选择“Current Assignments Floorplan”或点击底层图编辑窗口左侧的相应按钮,就可以对逻辑单元和引脚进行重新分配。但是,重新分配的结果必须经过编译才能生效。 下载:经过编译和设计实现后生成3个不同用途的编程文件:*.POF、*.SOF、*.JED。*.POF文件用于Classic与MAX系列CPLD的编程。*.SOF文件用于对FLEX系列FPGA进行直接配置。?打开编程窗口,在“MAX+PLUS?”菜单中选“Programmer”选项或直接在工具栏中点击按钮。?硬件连接,在编程界面下,从“Options”菜单中选择“Hardware Setup”;在“Hardware Setup”对话框中选择“ByteBlaster”或“BitBlaster”;用下载电缆将PC机并口(若选“ByteBlaster”)或串口(若选 2 “BitBlaster”)与电路板上的PLD连接起来(通过接插件)。请注意:这一步工作最好在关断PC机和电路板电源的情况下进行,可以在开机前预先接好。?选择编程文件,缺省情况下,编程文件已根据当前项目名选好,并显示在编程窗口的右上角。如果发现文件名不对,可在“File”菜单中点“Select Programming File”项进行选择。?下载,在编程窗口中按“Program”(对CPLD或配置用EPROM,此时文件为*.POF)或“Configure”(对FPGA,此时文件为*.SOF)。 2.设计目标 本课程设计要求实现机器指令要求实现指令:LD(取数),ST(存数),ADD(算术加法);利用maxplus对于设计的微指令集用电路图进行实现,并分析结果是否正确, 3.系统设计 3.1 四位二进制加法器 全加器是用门电路实现两个二进制数相加并求出和的组成和电路的数字电路。除本位两个数相加外,还要加上从低位来的进位数。被加数Ai加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。能实现全加运算功能的电路称为全加电路。全加器的逻辑功能表如表1所列。本次课程设计中的四位二进制加法器是由四个全加器组成,四位加法器逻辑电路图如图1所示。 信号输入端 信号输出端 Ai Bi Ci Si C0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 表1 全加器的逻辑功能表 3 图1 74183四位全加器 3.2 寄存器 寄存器是CPU的组成部分,寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和地址。在CPU的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在CPU的算术及逻辑部件中,包含的寄存器有累加器(ACC)。本次设计采用的74373M寄存器逻辑电路图如图2所示。 图2 74373M寄存器 4 3.3计数器 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲个数进行计数,以实现测量、计数、和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。 本次设计将两个计数器组合成一个控制器,采用两个D触发器构成一个二位二进制计数器,寄存器逻辑电路图连接如下图3 所示,k为时钟输入端,Q1、Q2为两位的二进制输出。 图3 7474计数器 5 3.4 微指令集电路图设计 微指令电路图由一个74183四位全加器,12个74373M寄存器,一个7474计数器,4个控制的异或门组成。b0、b1、b2、b3为四位被减数由低到高的四个输 a1、a2、a3为减数的四个输入端,s0、s1、s2、s3为四个输出端。m为加入端,a0、 减法控制端,分别与减数的四个输入端进行异或操作并分别输入到四个全加器的输入端A,k为计数器的时钟输入端。 四位被减数输入端的四个寄存器的存数据控制端G端连接到计数器的Q1输出端,四位减数输入端的四个寄存器的存数据控制端G和四位差的输出端的四个寄存器的村数据控制端G串联连接到计数器的Q2端口。寄存器的OEN端均接地。实现控制器CPU逻辑电路图如图4 所示。 图4 指令集电路图 6 3.5 CPU程序设计流程图 开始 设计程序指令 集 设计取数,存 数,算数加法 建立 画出电路图 编译 Maxplus进行仿 真 结束 图5 CPU程序设计流程图 4.程序实现 4.1 仿真电路图 按照系统分析中得到的指令集,在maxplus实验软件中新建指令系统,生成.gdf 文件。在maxplus实验软件中新建.gdf文件,画出电路图,进行“Compiler”编译, 进行仿真操作如图6所示。 7 图6 对电路图进行仿真 4.2 仿真结果 编译过后进行仿真Simulator,设置m为持续高电平0,k端为时钟信号clock。 B、A端设置了三组四位二进制数据。 (1) S=B-A=0001 + 0010=0011 运算仿真结果如下图7所示,观察仿真结果S端s3s2s1s0为结果的反码0010,在加0001得到正确结果0011。 图7 仿真结果(1) 8 (2)S=B+A=0001+0011 =0100 运算仿真结果如下图8所示,观察仿真结果S端s3s2s1s0为结果的反码0011,在加0001得到正确结果0100。 图8 仿真结果(2) (3)S=B+A =0111+0110= 1101 运算仿真结果如下图8所示,观察仿真结果S端s3s2s1s0为结果的反码1100,在加 0001得到正确结果1101。 图7 仿真之后结果 通过maxplus的“Simulator”进行仿真微程序指令系统,执行程序电路图,验证设计的指令集是否存在不当之处。 9 5.总结与体会 本次课程设计要求我们设计逻辑电路的控制器CPU,在maxplus中设计电路图(包括算术加,存数据,取数据指令),设计的目的是让我们增加自己的动手能力,真正的达到理论与实际的结合。由于自己对计算机硬件知识了解的并不是非常透彻,对maxplus的操作并不是很熟悉,在刚开始设计感觉到无从下手,只能够由网上的简单例子进行相关的试验,并查阅相关资料漫漫的由浅入深达到设计的目的。 经过本次逻辑电路控制器CPU的课程设计,更加明白理论与实际相结合得重要性,因为有时并不是具备了理论知识动手能力就会强,当真正动起手来发现自己需要学得知识还是很多的,在以后的学习中,自己一定会加强理论与实际的结合,让自己符合新型社会所需要的全面发展人才的新。 经过为期四周的课程设计,我发现整个研究过程中存在着很多问题。当初拿到课程设计题目的时候由于只是掌握了基础理论的知识,缺乏动手实践的能力,开始的时候自己并没有很好的设计思路,在通过和小组成员的探讨以及查阅相关资料之后,发现有时候能从网上的资料学习到很多新的知识。更多时候是在你不懂的地方,和同学讨论研究之后突然发现问题不是那么困难解决,换种思路和同学交流一下就可以收获到不同的思想。 在此次的设计中,非常感谢老师对我们的帮助和指导。虽然在部分过程还不够完善,希望能得到老师的继续指导;在设计的过程中,由于和同学的交流沟通解决了不少难题,更加懂得小组合作的重要性。 参考文献 [1]计算机组成原理实验指导书. 王诚,宋佳兴,董长洪编著. 清华大学出版社,2002. [2]《计算机组成原理》学习指导与训练 . 旷海兰等编著. 中国水利水电出版社, 2004. [3]计算机原理与设计. 宋焕章 张春元 王保恒. 长沙:国防科技大学出版社, 2000. [4] 白中英(计算机组成原理(第二版)(北京:科学出版社,1998 10 书中横卧着整个过去的灵魂——卡莱尔 人的影响短暂而微弱,书的影响则广泛而深远——普希金 人离开了书,如同离开空气一样不能生活——科洛廖夫 书不仅是生活,而且是现在、过去和未来文化生活的源泉 ——库法耶夫 书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者———史美尔斯 书籍便是这种改造灵魂的工具。人类所需要的,是富有启发性的养料。而阅读,则正是这种养料———雨果
/
本文档为【组成原理-逻辑电路控制器CPU的设计分解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索