组成原理-逻辑电路控制器CPU的设计_第1页
组成原理-逻辑电路控制器CPU的设计_第2页
组成原理-逻辑电路控制器CPU的设计_第3页
组成原理-逻辑电路控制器CPU的设计_第4页
组成原理-逻辑电路控制器CPU的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要本次计算机组成原理课程设计课题是逻辑电路控制器CPU勺设计。利用maxplus来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,设计控制器CPU勺逻辑电路图,用逻辑电路图实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计在maxplus中完成存数据、取数据、加指令的CPU?序,用电路图实现了相关功能,设计maxplus的指令系统(包括存数据、取数据、加指令的CPUS序),形成具有一定功能的完整的电路图。关键词:maxplus、全加器、寄存器、逻辑电路图1. 实验软件maxplus11.1 maxplus简介11.2 maxplus的使用说明12. 设计目标

2、43. 系统设计43.1 四位二进制加法器43.2 寄存器53.3 计数器63.4 微指令集电路图设计73.5 CPU程序设计流程图84. 程序实现84.1 仿真电路图84.2 仿真结果95. 总结与体会11参考文献111 .实验软件maxplus1.1 maxplus简介Altera公司的MAX+PLUS的全称是MultiplyArraymatrixandProgrammableLogicUserSystem。MAX+PLUS支持所有的CPLDff口25万门以内的FLEX和ACEXg列FPGA它集设计输入、编译、仿真、综合、编程(配置)于一体,带有丰富的设计库,并有详细的联机帮助功能,且许多

3、操作与Windows下的操作方法完全一样,是一个集成化的、易学易用的PLD开发平台。用MAX+PLUS进行设计的一般过程,设计输入、编译、功能仿真、设计实现、时序仿真、下载、硬件检查,在对上述过程中有错误的进行设计修改。1.2 maxplus的使用说明逻辑设计的输入:指定项目名称,在“File”菜单中选择Project-Name丁开“ProjectName对话框;选择适当的驱动器和目录,然后键入项目名;点击“OK。建立原理图设计文件,第一步打开原理图编辑器,在管理器窗口的“File”菜单中选择“NeW;选择“GraphicEditorFile和“.gdf”项;点击“OK。第二步输入元件和模块,

4、原理图编辑窗口空白处双击鼠标左键或者在“Symbol”菜单中选择“EnterSymbol”,便打开了“EnterSymbol对话框;选择适当的库及所需的器件(模块);点击“确定”。第三步放置输入、输出弓I脚,在“SymbolName'框中键入input或output。第四步连线,将电路图中的两个端口相连,将鼠标指向一个端口,鼠标箭头会自动变成“+”;一直按住鼠标左键拖至另一个端口;放开左键,则会在两个端口间产生一根连线。输入/输出引脚和内部连线命名,输入/输出引脚命名的方法是在引脚的“PIN-NAME位置双击鼠标左键,然后键入信号名。内部连线的命名方法是:选中连线,然后键入信号名。第六

5、步保存文件,在“File”菜单中选择“SaveAs”(若该文件已有,则选“Save”)或在工具栏点击按钮,如是第一次保存,需输入文件名。建立一个默认的符号文件,在层次化设计中,如果当前编辑的文件不是顶层文件,则往往需要为其产生一个符号,将其打包成一个模块,以便在上层电路设计1时加以引用。建立一个符号文件的方法是,在“File ”菜单中选择“Create DefaultSymbol”项即可。编译网表提取:MAX+PLUS的编译器包括两大功能:编译和设计实现。编译的作用是检查设计输入中有无描述性错误,若无描述性错误,则提取出电路网表(Netlist);若有描述性错误,则给出出错信息(包括出错位置、

6、错误性质),并有联机帮助功能帮助用户改正错误。运行编译器的方法是,在“MAX+PLUS”菜单中选“Compiler”选项或直接在工具栏中点击按钮。启动编译器后首先进行“编译与电路网表提取”工作。做完这一工作后编译器便停下来等待用户的指示。如果编译中未发现错误,则可以接着做“设计实现”的工作。设计实现包括数据库生成器(DatabaseBuilder)、逻辑综合器(LogicSynthesizer)、逻辑划分器(Partitioner)、设配器(Fitter)、时序仿真网表文件提取器(TimingSNFExtractor)和编程数据汇编器(Assembler)等步骤。选项设置,编译器有很多选项设置

7、,但并不是每一项都需要用户去设置,有些设置编译器可自动选择(如器件选择、引脚分配等),而其他的设置往往有默认值。在“Assign”菜单中选“Device”项,然后选择器件的系列和型号,型号可设为“Auto”,编译器自动选择;器件引脚分配,在原理图编辑窗口中,选中某个输入或输出信号,按鼠标右键,在弹出菜单中选“Pin/Location/Chip”,然后选引脚号。运行“设计实现”,按上述方法做好必要的设置后,在编译器窗口中按“Start”就可以连续执行后续的设计步骤,产生的数据文件的扩展名会出现在各个执行框的下方。仿真验证:仿真分功能仿真和时序仿真两种,两种仿真的做法是一样的,由编译时生成的仿真网

8、表文件类型决定仿真的类型。仿真过程分三步,首先要建立波形文件,确定需要观察的信号,设计输入波形,设定一些时间和显示参数。其次才是运行仿真程序。最后是根据仿真结果(波形)分析电路功能正确与否。建立波形文件,第一步打开原理图编辑器,在管理器窗口的“File”菜单中选择“Nevv或直接在工具栏上点击按钮,打开“NeW列表框;选择“WaveformEditorFile”和“.scf”项,按“OKo第二步设定时间参数,从“File”菜单中选择“EndTime”项,键入仿真结束时间,按“OK;在“Options”菜单中选择“GridTime”项,键入时间显示网格间距,按“OK。第三步确定需观察的信号,在“

9、Node'菜单中或在波形图编辑窗口空白处单击鼠标右键选择“EnterNodesFromSNF"(SNF指仿真网表文件)项,打开“EnterNodesFromSNF对话框;在“Type”框中选择信号类别,最常用的是“Input”2和“Output"(输入、输出);点“List”按钮,将所选类别的所有信号均列于“AvailableNodes&Groups”框;从“AvailableNodes&Groups”框中选择信号,然后按“二”箭头,使所选信号名进入“SelectedNodes&Groups”框;选择“OK,所选信号将出现在波形图编辑窗口中;

10、根据需要编辑输入波形,编辑窗口左侧一列按钮非常有用;在“File”菜单中选择“SaveAs”或在工具栏点击按钮,如是第一次保存,需输入文件名。运行仿真程序,在“MAX+PLUS”菜单中选“Simulator”选项或直接在工具栏中点击按钮,出现仿真对话框;按“Start”开始仿真;仿真结果后,按“OpenSCF,在波形编辑窗口中将显示出仿真结果(波形)。仿真结果分析。底层图编辑:通过底层图编辑器可以观察和控制底层(物理)设计的细节,细节包括两个内容:引脚分配和逻辑单元分配,打开底层图编辑器的方法是,在“MAX+PLUSH”菜单中选“FloorplanEditor选项或直接在工具栏中点击按钮。器件

11、外观视图,在底层图编辑界面下,从“Layout”菜单中选择“DeviceView”就可以显示出器件的所有引脚及其功能。如果在“Lauout”菜单中选择“LastCompilationFloorplan”或点击底层图编辑窗口左侧的相应按钮,则显示最新一次经过编译的引脚分配情况。已分配过的引脚呈彩色,未分配过的引脚呈白色。如果在“Layout”菜单中选择“CurrentAssignmentFloorplan”或点击底层图编辑窗口左侧的相应按钮,就可以重新进行引脚分配。但是,重新分配的结果必须经过编译才能生效。器件内部视图,在底层图编辑界面下,从“Layout”菜单中选择“LABView”就可以显示

12、出器件的所有逻辑单元和引脚。如果在“Layout”菜单中选择“LastCompilationFloorplan”或点击底层图编辑窗口左侧的相应按钮,则显示最新一次经过编译的逻辑单元和引脚分配情况。已分配过的单元及引脚呈彩色,未分配过的单元及引脚呈白色。如果在“Layout”菜单中选择“CurrentAssignmentsFloorplan”或点击底层图编辑窗口左侧的相应按钮,就可以对逻辑单元和引脚进行重新分配。但是,重新分配的结果必须经过编译才能生效。下载:经过编译和设计实现后生成3个不同用途的编程文件:*.POF、*.SOF、*JED。*.POF文件用于Classic与MAXS列CPLD的编

13、程。*SOF文件用于对FLEX系列FPGAS行直接配置。打开编程窗口,在“MAX+PLUS”菜单中选“Programmer'选项或直接在工具栏中点击按钮。硬件连接,在编程界面下,从“Options”菜单中选择“HardwareSetup”;在“HardwareSetup”对话框中选择“ByteBlaster”或“BitBlaster;用下载电缆将PCM并口(若选“ByteBlaster)或串口(若选“BitBlaster”)与电路板上的PLD连接起来(通过接插件)。请注意:这一步工作最好在关断PC机和电路板电源的情况下进行,可以在开机前预先接好。选择编程文件,缺省情况下,编程文件已根据

14、当前项目名选好,并显示在编程窗口的右上角。如果发现文件名不对,可在“File”菜单中点“SelectProgrammingFile”项进行选择。下载,在编程窗口中按“Program"(对CPLDE配置用EPROM此时文件为*.POF)或“Configure"(对FPGA此时文件为*SOF)。2 .设计目标本课程设计要求实现机器指令要求实现指令:LD(取数),ST(存数),ADD(算术加法);利用maxplus对于设计的微指令集用电路图进行实现,并分析结果是否正确,3 .系统设计3.1 四位二进制加法器全加器是用门电路实现两个二进制数相加并求出和的组成和电路的数字电路。除本位

15、两个数相加外,还要加上从低位来的进位数。被加数Ai加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。能实现全加运算功能的电路称为全加电路。全加器的逻辑功能表如表1所列。本次课程设计中的四位二进制加法器是由四个全加器组成,四位加法器逻辑电路图如图1所示信号输入端信号输出端AiBiCiSiC00000000110010101001001101101011100111111表1全加器的逻辑功能表l£I+pluj11-dlproc-Eis门】.。1,411。1"?立心则-74I-F30.(df-GiafJiicfditoilM 脚"

16、;1“ n Ei1% E»wXiihVR U'Jli Li QpRiwi-寸川厂用小口 sq占 二尸 好 心"国鼻血金面国工ia,& w器昔±*二I二案U£>-|iLu 1.* 本墙lfi= >D J tfStEW*,cpfdUJS-BINGLE:IMHFZ,I&旦LTERRCdRPOFRXIOWMfliK+PLUSIIMRCROIIHILHIInrJ1E:D=p17-J1图174183四位全加器3.2 寄存器二冈它们可用来(IR)和ACC 。l£I+pluj 11 - dlproc-Eis 门】.。1,41

17、1。1"?立心则-74H3as rdf - GiafJiic fditoilM 脚"1“ n Ei1%XiihVR U'Jli Li QpRiwi-寸川厂用小点。岳曰 好&廖aJSd密国片国曲& 建/烹.,-国寄存器是CPU勺组成部分,寄存器是有限存储容量的高速存储部件,暂存指令、数据和地址。在CPU勺控制部件中,包含的寄存器有指令寄存器程序计数器(P。在CPU的算术及逻辑部件中,包含的寄存器有累加器(本次设计采用的74373M寄存器逻辑电路图如图2所示。6图274373M寄存器3.3计数器计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路

18、,计数器在数字系统中主要是对脉冲个数进行计数,以实现测量、计数、和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。本次设计将两个计数器组合成一个控制器,采用两个D触发器构成一个二位二进制计数器,寄存器逻辑电路图连接如下图3所示,k为时钟输入端,Q1、Q2为两位的二进制输出图37474计

19、数器73.4 微指令集电路图设计微指令电路图由一个74183四位全加器,12个74373M寄存器,一个7474计数器,4个控制加减法的异或门组成。b0、bl、b2、b3为四位被减数由低到高的四个输入端,a0、al、a2、a3为减数的四个输入端,s0、si、s2、s3为四个输出端。m为加减法控制端,分别与减数的四个输入端进行异或操作并分别输入到四个全加器的输入端A,k为计数器的时钟输入端。四位被减数输入端的四个寄存器的存数据控制端G端连接到计数器的Q1输出端,四位减数输入端的四个寄存器的存数据控制端G和四位差的输出端的四个寄存器的村数据控制端G串联连接到计数器的Q2端口。寄存器的OEN端均接地。

20、实现控制器CPU逻辑电路图如图4所示。图4指令集电路图"' lJLE4plUJ 11 - Ci tpFQC-E BA n itf tflJi - ivt r. fdf - Qi Edlldlll&11 ill 4i I聚Ulili li si Qplavm file KiLr-3 M吕Q岳Jt电 f 第心显哥曰04百国盘O偷目汽名烹"4 -31 I*二I 二塞弊斗3.5 CPU程序设计流程图图5CPU程序设计流程图4.程序实现4.1 仿真电路图按照系统分析中得到的指令集,在maxplus实验软件中新建指令系统,生成.gdf文件。在maxplus实验软件中新建

21、.gdf文件,画出电路图,进行“Compiler”编译,进行仿真操作如图6所示。图6对电路图进行仿真4.2 仿真结果编译过后进行仿真Simulator,设置m为持续高电平0,k端为时钟信号clock。BA端设置了三组四位二进制数据。(1) S=B-A=0001+0010=0011运算仿真结果如下图7所示,观察仿真结果S端s3s2s1s0为结果的反码0010,在加0001得到正确结果0011。图7仿真结果(1)(2) S=B+A=0001+0011=0100运算仿真结果如下图8所示,观察仿真结果S端s3s2s1s0为结果的反码0011,在加0001得到正确结果0100AK IisItie IC

22、d: pr r u f 1.1 nEhYtlt vw h. EdT 1 j?nf nca UIlI ar5 |lXIjiliii TT E¥ |ii L in,工L Jfaiii pa UlabiilLal Q>l irim,卜cU H W,卜 口占鼻后 心用事工A W E H ”.就/if 一眨qfl iJni En: |'l flui-iOOOrr,MUX5® 5WOn,a»OhF白A茏 IfJFLJE 作周 MGErV*TM f IJ.HEuipi-. n12图8仿真结果(2)(3) S=B+A=0111+0110=1101运算仿真结果如下图8所示,观察仿真结果S端s3s2s1s0为结果的反码1100,在加0001得到正确结果1101图7仿真之后结果通过maxplus的“Simulator”进行仿真微程序指令系统,执行程序电路图,验证设计的指令集是否存在不当之处。5.总结与体会本

温馨提示

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

评论

0/150

提交评论