




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计 算 机 组 成 原 理 课 程 设 计 报 告 书 题目:设计逻辑电路控制器 CPU(含至少 3条指令 院 系:计算机科学与工程学院专业班级:学 号:学生姓名:指导教师:2015年 12 月 15 日 安徽理工大学课程设计(论文任务书 2015年 12月 11 日安徽理工大学课程设计(论文成绩评定表 摘 要本次计算机组成原理课程设计课题是逻辑电路控制器 CPU 的设计。 利用 maxplus 来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟, 设计控制器 CPU 的逻辑电路图, 用逻辑电路图实现了一系列的指令功能, 最终达到将 理论与实践相联系。 本次设计在 max
2、plus 中完成存数据、 取数据、 加指令的 CPU 程序, 用电路图实现了相关功能,设计 maxplus 的指令系统(包括存数据、取数据、加指令 的 CPU 程序,形成具有一定功能的完整的电路图。关键词:maxplus 、全加器、寄存器、逻辑电路图目 录1. 实验软件 maxplus . 6 1.1Maxplus 简介 . 61.2 maxplus的使用说明 . 62. 设计目标 . 93. 系统设计 . 9 3.1 四位二进制加法器 . . 9 3.2 寄存器 . 10 3.3计数器 . 10 3.4 微指令集电路图设计 . . 11 3.5微指令集设计 . 123.6 CPU程序设计流程
3、图 . . 134. 程序实现 . 13 4.1 仿真电路图 . 13 4.2 仿真结果 . 14 总结与体会 . 16 参考文献 . 171. 实验软件 maxplus1.1Maxplus 简介Altera 公司的 MAX+PLUS的全称是 Multiply Array matrix and Programmable Logic User System。 MAX+PLUS支持所有的 CPLD 和 25万门以内的 FLEX 和 ACEX 系 列 FPGA 。它集设计输入、编译、仿真、综合、编程(配置于一体,带有丰富的设 计库, 并有详细的联机帮助功能, 且许多操作与 Windows 下的操作方
4、法完全一样, 是 一个集成化的、易学易用的 PLD 开发平台。用 MAX+PLUS进行设计的一般过程,设 计输入、编译、功能仿真、设计实现、时序仿真、下载、硬件检查,在对上述过程中 有错误的进行设计修改。1.2 maxplus的使用说明逻辑设计的输入:指定项目名称,在“ File ”菜单中选择 Project Name 打开 “ Project Name ”对话框;选择适当的驱动器和目录,然后键入项目名;点击“ OK ”。 建立原理图设计文件,第一步打开原理图编辑器,在管理器窗口的“ File ”菜单中 选择“ New ”;选择“ Graphic Editor File ”和“ .gdf ”项
5、;点击“ OK ”。第二步输 入元件和模块,原理图编辑窗口空白处双击鼠标左键或者在“ Symbol ”菜单中选择 “ Enter Symbol ”,便打开了“ Enter Symbol ”对话框;选择适当的库及所需的器件 (模块;点击“确定”。第三步放置输入、输出引脚,在“ Symbol Name”框中键 入 input 或 output 。第四步连线,将电路图中的两个端口相连,将鼠标指向一个端 口,鼠标箭头会自动变成“ +”;一直按住鼠标左键拖至另一个端口;放开左键,则 会在两个端口间产生一根连线。 输入 /输出引脚和内部连线命名, 输入 /输出引脚命名 的方法是在引脚的“ PIN-NAME
6、 ”位置双击鼠标左键,然后键入信号名。内部连线的命 名方法是:选中连线, 然后键入信号名。 第六步保存文件, 在 “ File ” 菜单中选择 “ Save As ”(若该文件已有,则选“ Save ”或在工具栏点击按钮,如是第一次保存,需输 入文件名。 建立一个默认的符号文件, 在层次化设计中, 如果当前编辑的文件不是顶 层文件, 则往往需要为其产生一个符号, 将其打包成一个模块, 以便在上层电路设计 时加以引用。建立一个符号文件的方法是,在“ File ”菜单中选择“ Create DefaultSymbol ”项即可。编译网表提取:MAX+PLUS的编译器包括两大功能:编译和设计实现。
7、编译的作 用是检查设计输入中有无描述性错误,若无描述性错误,则提取出电路网表 (Netlist ;若有描述性错误,则给出出错信息(包括出错位置、错误性质,并 有联机帮助功能帮助用户改正错误。运行编译器的方法是,在“ MAX+PLUS”菜单中 选“ Compiler ”选项或直接在工具栏中点击按钮。启动编译器后首先进行“编译与电 路网表提取” 工作。 做完这一工作后编译器便停下来等待用户的指示。 如果编译中未 发现错误, 则可以接着做 “设计实现” 的工作。 设计实现包括数据库生成器 (Database Builder 、逻辑综合器(Logic Synthesizer、逻辑划分器(Partiti
8、oner 、设 配器(Fitter 、时序仿真网表文件提取器(Timing SNF Extractor 和编程数据汇 编器(Assembler 等步骤。选项设置,编译器有很多选项设置,但并不是每一项 都需要用户去设置,有些设置编译器可自动选择(如器件选择、引脚分配等,而其 他的设置往往有默认值。在“ Assign ”菜单中选“ Device ”项,然后选择器件的系列 和型号,型号可设为“ Auto ”,编译器自动选择;器件引脚分配,在原理图编辑窗口 中, 选中某个输入或输出信号, 按鼠标右键, 在弹出菜单中选 “ Pin/Location/Chip” , 然后选引脚号。运行“设计实现”,按上述
9、方法做好必要的设置后,在编译器窗口 中按“ Start ”就可以连续执行后续的设计步骤,产生的数据文件的扩展名会出现在 各个执行框的下方。仿真验证:仿真分功能仿真和时序仿真两种, 两种仿真的做法是一样的, 由编译 时生成的仿真网表文件类型决定仿真的类型。 仿真过程分三步, 首先要建立波形文件, 确定需要观察的信号, 设计输入波形, 设定一些时间和显示参数。 其次才是运行仿真 程序。最后是根据仿真结果(波形分析电路功能正确与否。建立波形文件,第一 步打开原理图编辑器,在管理器窗口的“ File ”菜单中选择“ New ”或直接在工具栏 上点击按钮,打开“ New ”列表框;选择“ Wavefor
10、m Editor File”和“ .scf ”项, 按“ OK ”。第二步设定时间参数,从“ File ”菜单中选择“ End Time ”项,键入仿真 结束时间,按“ OK ”;在“ Options ”菜单中选择“ Grid Time ”项,键入时间显示网 格间距,按“ OK ”。第三步确定需观察的信号,在“ Node ”菜单中或在波形图编辑窗 口空白处单击鼠标右键选择“ Enter Nodes From SNF” (SNF指仿真网表文件 项,打 开 “ Enter Nodes From SNF ” 对话框; 在 “ Type ” 框中选择信号类别, 最常用的是 “ Input ” 和 “
11、Output ” (输入、 输出 ; 点 “ List ” 按钮, 将所选类别的所有信号均列于 “ AvailableNodes & Groups ”框;从“ Available Nodes & Groups ”框中选择信号,然后按“ =>” 箭头,使所选信号名进入“ Selected Nodes & Groups”框;选择“ OK ”,所选信号 将出现在波形图编辑窗口中; 根据需要编辑输入波形, 编辑窗口左侧一列按钮非常有 用;在“ File ”菜单中选择“ Save As”或在工具栏点击按钮,如是第一次保存,需 输入文件名。运行仿真程序,在“ MAX+PLUS
12、”菜单中选“ Simulator ”选项或直 接在工具栏中点击按钮,出现仿真对话框;按“ Start ”开始仿真;仿真结果后,按 “ Open SCF”,在波形编辑窗口中将显示出仿真结果(波形。仿真结果分析。 底层图编辑:通过底层图编辑器可以观察和控制底层(物理设计的细节,细节 包括两个内容:引脚分配和逻辑单元分配, 打开底层图编辑器的方法是, 在 “ MAX+PLUS”菜单中选“ Floorplan Editor ”选项或直接在工具栏中点击按钮。器件外观视 图,在底层图编辑界面下,从“ Layout ”菜单中选择“ Device View”就可以显示出 器件的所有引脚及其功能。如果在“ La
13、uout ”菜单中选择“ Last Compilation Floorplan ”或点击底层图编辑窗口左侧的相应按钮,则显示最新一次经过编译的引 脚分配情况。已分配过的引脚呈彩色,未分配过的引脚呈白色。如果在“ Layout ”菜 单中选择 “ Current Assignment Floorplan ” 或点击底层图编辑窗口左侧的相应按钮, 就可以重新进行引脚分配。 但是, 重新分配的结果必须经过编译才能生效。 器件内 部视图,在底层图编辑界面下,从“ Layout ”菜单中选择“ LAB View ”就可以显示出 器件的所有逻辑单元和引脚。如果在“ Layout ”菜单中选择“ Last
14、Compilation Floorplan ”或点击底层图编辑窗口左侧的相应按钮,则显示最新一次经过编译的逻 辑单元和引脚分配情况。 已分配过的单元及引脚呈彩色, 未分配过的单元及引脚呈白 色。如果在“ Layout ”菜单中选择“ Current Assignments Floorplan”或点击底层 图编辑窗口左侧的相应按钮, 就可以对逻辑单元和引脚进行重新分配。 但是, 重新分 配的结果必须经过编译才能生效。下载:经过编译和设计实现后生成 3个不同用途的编程文件:*.POF、 *.SOF、 *.JED。 *.POF文件用于 Classic 与 MAX 系列 CPLD 的编程。 *.SOF
15、文件用于对 FLEX 系列 FPGA 进行直接配置。 打开编程窗口, 在 “ MAX+PLUS” 菜单中选 “ Programmer ” 选项或直接在工具栏中点击按钮。硬件连接,在编程界面下,从“ Options ”菜单 中选择“ Hardware Setup”;在“ Hardware Setup”对话框中选择“ ByteBlaster ” 或“ BitBlaster ”;用下载电缆将 PC 机并口(若选“ ByteBlaster ”或串口(若选 “ BitBlaster ”与电路板上的 PLD 连接起来(通过接插件。请注意:这一步工作最好在关断 PC 机和电路板电源的情况下进行,可以在开机前
16、预先接好。选择编程 文件,缺省情况下,编程文件已根据当前项目名选好,并显示在编程窗口的右上角。 如果发现文件名不对,可在“ File ”菜单中点“ Select Programming File”项进行 选择。下载,在编程窗口中按“ Program ”(对 CPLD 或配置用 EPROM ,此时文件为 *.POF或“ Configure ”(对 FPGA ,此时文件为 *.SOF。2. 设计目标本课程设计要求实现机器指令要求实现指令:LD (取数, ST (存数, ADD (算术加法 ; 利用 maxplus 对于设计的微指令集用电路图进行实现, 并分析结果是 否正确,3. 系统设计3.1 四
17、位二进制加法器全加器是用门电路实现两个二进制数相加并求出和的组成和电路的数字电路。 除 本位两个数相加外, 还要加上从低位来的进位数。 被加数 Ai 加数 Bi 从低位向本位进 位 Ci-1作为电路的输入,全加和 Si 与向高位的进位 Ci 作为电路的输出。能实现全 加运算功能的电路称为全加电路。 全加器的逻辑功能表如表 1所列。 本次课程设计中 的四位二进制加法器是由四个全加器组成,一位加法器逻辑电路图如图 1所示。 表 1 全加器的逻辑功能表图 1 74183一位全加器3.2 寄存器寄存器是 CPU 的组成部分, 寄存器是有限存储容量的高速存储部件, 它们可用来 暂存指令、数据和地址。在
18、CPU 的控制部件中,包含的寄存器有指令寄存器(IR 和 程序计数器(PC 。在 CPU 的算术及逻辑部件中,包含的寄存器有累加器(ACC 。 本次设计采用的 74373M 寄存器逻辑电路图如图 2所示。 图 2 74373M寄存器3.3计数器计数是一种最简单基本的运算, 计数器就是实现这种运算的逻辑电路, 计数器在 数字系统中主要是对脉冲个数进行计数,以实现测量、计数、和控制的功能,同时兼 有分频功能, 计数器是由基本的计数单元和一些控制门所组成, 计数单元则由一系列 具有存储信息功能的各类触发器构成, 这些触发器有 RS 触发器、 T 触发器、 D 触发器 及 JK 触发器等。计数器在数字
19、系统中应用广泛,如在电子计算机的控制器中对指令 地址进行计数, 以便顺序取出下一条指令, 在运算器中作乘法、 除法运算时记下加法、 减法次数,又如在数字仪器中对脉冲的计数等等。本次设计将两个计数器组合成一个控制器,采用两个 D 触发器构成一个二位二 进制计数器,寄存器逻辑电路图连接如下图 3 所示, k 为时钟输入端, Q1、 Q2为两 位的二进制输出。 图 3 7474计数器3.4 微指令集电路图设计微指令电路图由一个 74183四位全加器, 12个 74373M 寄存器,一个 7474计数 器, 4个控制加减法的异或门组成。 b0、 b1、 b2、 b3为四位被减数由低到高的四个输 入端,
20、 a0、 a1、 a2、 a3为减数的四个输入端, s0、 s1、 s2、 s3为四个输出端。 m 为加 减法控制端, 分别与减数的四个输入端进行异或操作并分别输入到四个全加器的输入 端 A , k 为计数器的时钟输入端。四位被减数输入端的四个寄存器的存数据控制端 G 端连接到计数器的 Q1输出端, 四位减数输入端的四个寄存器的存数据控制端 G 和四位差的输出端的四个寄存器的 村数据控制端 G 串联连接到计数器的 Q2端口。寄存器的 OEN 端均接地。实现控制 器 CPU 逻辑电路图如图 4 所示。 图 4 指令集电路图3.5微指令集设计本次实验能实现简单的四位二进制剪发算术运算 S=B +
21、A, 本次试验采用了一 个三位微指令,如下表 2所示表 2 三位微指令表 3.6 CPU程序设计流程图图 5 CPU程序设计流程图4. 程序实现4.1 仿真电路图按照系统分析中得到的指令集,在 maxplus 实验软件中新建指令系统,生成 .gdf 文件。在 maxplus 实验软件中新建 .gdf 文件 , 画出电路图,进行“ Compiler ”编译, 图 6 对电路图进行仿真4.2 仿真结果编译过后进行仿真 Simulator, 设置 m 为持续高电平 0, k 端为时钟信号 clock 。 B 、 A 端设置了三组四位二进制数据。(1 S=B+A=0001 + 0010=0011 图 7 仿真结果(1(2 S=B+A=0001+0011 =0100运算仿真结果如下图 8所示。 图 8 仿真结果(2(3 S=B+A =0111+0110= 1101运算仿真结果如下图 9所示。 图 9 仿真结果(3通过 maxplus 的“ Sim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025室内设计与装修施工合同协议
- 2025合同终止与解除劳动合同证明
- 鱼类组织胚胎学知到课后答案智慧树章节测试答案2025年春信阳农林学院
- 2025民间抵押房产借款合同样本
- 2025家居纺织品购销合同
- 2024年盘州市市属事业单位考试真题
- 2024年南安市市属事业单位考试真题
- 2024年安徽理工技师学院专任教师招聘真题
- 公路护栏工程合同范本
- 劳动合同备案书(2025年版)
- 钢结构廊架工程施工方案
- 战略合作管理制度
- 高考数学一轮复习:导数中的隐零点问题 高阶拓展 专项练习(学生版+解析)
- 2023年北京市初三二模数学试题汇编:新定义(第28题)
- 大学班干部的培训课件
- 统编版小学语文五年级下册第二单元快乐读书吧整本书阅读课《西游记》课件
- 项目二 物流基本功能活动管理
- 融资借款合同协议书范本(2024版)
- 2024年湖南省高中学业水平合格性考试英语试卷真题(含答案详解)
- 铝型材质检规程
- 智能云服务交付工程师认证考试题库(网大版)-中(多选题)
评论
0/150
提交评论