简单微处理器的设计_第1页
简单微处理器的设计_第2页
简单微处理器的设计_第3页
简单微处理器的设计_第4页
简单微处理器的设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

长沙理工大学计算机组成原理课程设计报告简单微处理器的设计李江江学 院 计算机与通信工程 专 业 计算机科学与技术 班 级 085010502 学 号 200550080225 学生姓名 李江江 指导教师 肖晓丽 课程成绩 完成日期 2008 年 1 月 18 日 课程设计任务书计算机与通信工程学院 计算机科学与技术专业 课程名称 计算机组成原理课程设计时间 20072008 学年第一学期1920 周学生姓名 李江江 指导老师 肖晓丽题 目 简单微处理器的设计主要内容:本课程设计要求采用 EDA 技术设计简单微处理器。系统设计要求采用自顶向下的设计方法。它要求完成数的输入,数的比较,数的交换和结果输出四部分。系统实现采用硬件描述语言 VHDL 把系统电路按模块化方式进行设计,然后进行编程、时序仿真并分析。要求:(1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。 。(3)学按要求编写课程设计报告书,能正确阐述设计和实验结果。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课程设计报告。(2)课程设计附件(主要是源程序) 。课程设计成绩评定学 院 计算机通信工程 专 业 计算机科学与技术 班 级 计算机 05-02 班 学 号 200550080225 学生姓名 李江江 指导教师 肖晓丽 课程成绩 完成日期 2008 年 1 月 18 日 指导教师对学生在课程设计中的评价评 分 项 目 优 良 中 及 格 不 及 格课程设计中的创造性成果学生掌握课程内容的程度课 程 设 计 完 成 情 况课 程 设 计 动 手 能 力文 字 表 达学 习 态 度规 范 要 求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日简单微处理器的设计学生:李江江 指导老师:肖晓丽摘要:本课程设计采用 EDA 技术设计简单微处理器。系统设计采用自顶向下的设计方法。它由数的输入,数的比较,数的交换和结果输出四部分组成。系统实现采用硬件描述语言 VHDL 把系统电路按模块化方式进行设计,然后进行编程、时序仿真并分析。系统结构简单,使用方便,功能齐全,精度高,具有一定的应用价值。关键词:处理器;输入;比较;交换目录1 引 言 .11.1 课题设计的背景、目的 .11.2 课程设计的内容 12 EDA、VHDL 简介 32.1 EDA 简介 .32.2 VHDL 简介 3VHDL 语言的特点 .3VHDL 的设计流程 .43 简单微处理器的设计过程 53.1 设计规划 .53.2 各模块设计及相应程序 .54 系统仿真 91.数的输入. 92 数的比较。 .93 交换两个数。 104 结果输出(从小到大). .10结束语 .11致 谢 12参考文献 .13附 录 14李江江 简单微处理器的设计 第 1 页 共 25 页 -1-1 引 言随着社会的发展,科学技术也在不断的进步。特别是计算机产业,可以说是日新月异,而处理器,作为计算机中的一个重要部分,其性能从很大程度上决定了计算机的性能。本设计介绍的简单微处理器,要求具有以下验证程序所要求的功能:输入包含10个整数(无符号数)的数组M,按从小到大的顺序输出这10个数。1.1课题设计的背景、目的微处理器技术的发展是与微电子技术即大规模集成电路技术的发展分不开的。微电子技术以每 18 个月集成度提高一倍的速度迅速发展。20 世纪 80 年代初,主要是 16位微处理器 8086/8088。1985 年推出了 80386 微处理器,完成了 16 位体系结构向 32 位体系结构的转变。1989 年 80486 出现了。80486 的设计目标是提高指令执行速度和支持多处理器系统。80486 在芯片内部增加一个 8KB 的高速缓冲存储器(cache),还增加了相当于 80387 的浮点部件(FPU),在基本指令的实现上,采用硬布线逻辑而不是微程序技术。1993 年 3 月,Intel 公司推出了第一代“ 奔腾 ”微处理器(Pentium),微处理器技术发展进入了一个新的阶段。到目前为止, “奔腾”已有四代产品。 “奔腾”的设计思想是把如何提高微处理器内部指令执行的并行性作为主导。指令执行的并行性越好,微处理器的性能就越高。本次设计的目的就是了解并掌握 VHDL 硬件描述语言的设计方法和思想,通过学习的 VHDL 语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL 基本单元电路的综合设计应用。通过对实用电子称的设计,巩固和综合运用所学课程,理论联系实际,提高 IC 设计能力,提高分析、解决计算机技术实际问题的独立工作能力。通过课程设计深入理解 VHDL 语言的精髓,达到课程设计的目标。1.2 课程设计的内容本设计主要介绍的设计一台简单微处理器,要求具有以下验证程序所要求的功能:输入包含 10 个整数(无符号数)的数组 M,按从小到大的顺序输出这 10 个数。( 1 )程序开始及输入 10 个数据。( 2 )数的比较。李江江 简单微处理器的设计 第 2 页 共 25 页 -2-( 3 )交换两个数。( 4 )结果输出(从小到大) 。2 EDA、VHDL 简介2.1 EDA 简介EDA 是 Electronic Design Automation(电子设计自动化)的缩写,EDA 技术是 20 世纪 90年代初以来迅速发展起来的现代电子工程领域的一门新技术。它可以编程逻辑器件(PLD)为载体,以计算机为工作平台,以 EDA 工具软件为开发环境,以硬件描述语言(HDL )作为电子系统功能描述方式,以电子系统设计为应用方向的电子产品自动化设计过程。2.2VHDL 简介VHDL 的英文全名是 Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于 1982 年。1987 年底,VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言 。自 IEEE 公布了 VHDL 的标准版本,IEEE-1076(简称 87 版)之后,各 EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。此后VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL,即 IEEE 标准的 1076-1993 版本, (简称 93 版) 。现在,VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL 于 Verilog 语言将承担起大部分的数字系统设计任务。2.3VHDL 语言的特点VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。应用 VHDL 进行工程设计的优点是多方面的。李江江 简单微处理器的设计 第 3 页 共 25 页 -3-(1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动的把 VHDL 描述设计转变成门级网表。(5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.4VHDL 的设计流程它主要包括以下几个步骤:1.设计规范的定义这个有点象系统的设计的总体规划,就是要明确这个系统有哪些设计要求,和你要想到达的目标。2.采用 VHDL 进行设计描述这部分包括设计规划和程序的编写。设计规划主要包括设计方式的选择及是否进行模块划分。设计方式一般包括直接设计,自顶向下和自底向下设计,这个和其他软件语言差不多。最重要还是模块划分,这个和设计者的设计水平有很大关系。 完成规划设计后,就可以编写个模块的 VHDL 程序了,最后将各模块的 VHDL 程序综合起来就完成了整个设计的 VHDL 描述.3.VHDL 程序仿真这个过程和其他软件语言没什么区别。4.综合、优化和布局布线综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是一组逻辑方程;优化,这个主要是为了提高程序的执行效率及减少资源的利用;布局布线,指的是将逻辑关系转化成电路连接的方式。5.后仿真。李江江 简单微处理器的设计 第 4 页 共 25 页 -4-这个与 VHDL 程序仿真不同,这个不仅是对逻辑方面的验证,还要进行时序功能验证。6.器件编程3 简单微处理器的设计过程3.1 设计规划计算器通过简单的数字键盘输入操作数,其中所键入的数据将被暂存在移位寄存器中,然后根据运算符执行产生不同的操作结果,所获得的运算结果再通过译码电路转移到七段显示器输出。整个微处理器的工作原理图如图 3.11 所示。图 3.1 微处理器的工作原理图3.2 各模块设计及相应程序本系统设计了 10 条指令:IN1(输入到目的寄存器),MOV(将一个数送入目的寄存器),MOV1(将源寄存器中的数据存储到目的寄存器所指向的地址单元),MOV2(将源寄存器所指向的地址单元中的数送入目的寄存器), OUT1(输出),CMP(将目的寄存器和源寄存器所指向的地址单元中的数据进行比较),DEC(将目的寄存器中的数据自减一),INC(将目的寄存器中的数据自加一),JMP(无条件跳转),JB(小于跳转),下表列出了每条指令的格式、汇编符号和指令功能。李江江 简单微处理器的设计 第 5 页 共 25 页 -5-表 3.2 指令系统格式表助记符号 指令格式 功 能IN1 Rd 1 0 0 0 Rd (SW)-RdMOV im Rd 1 0 0 1 Rdim(im)RdMOV1 Rs Rd 1 0 1 0 Rs Rd (Rs)-RdMOV2 Rs Rd 1 0 1 1 Rs Rd (Rs)RdOUT1 Rd 1 1 0 0 Rs (Rs)LEDCMP Rs Rd 1 1 0 1 Rs Rd (Rs)-(Rd),锁存 CY 和 ZIDEC Rd 1 1 1 0 Rd (Rd)-1RdINC Rd 1 1 1 1 Rd (Rd)+1RdJMP addr0 1 1 0 addraddr-PCJB addr0 1 1 1 addr若小于,则 addr-PC关键程序数的选择模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX5 ISPORT(R0_B,R1_B,R2_B,R3_B,ALU_B:IN STD_LOGIC;R0_IN,R1_IN,R2_IN,R3_IN,ALU_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);MUX5OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX5;ARCHITECTURE A OF MUX5 ISBEGINPROCESS(ALU_B,R3_B,R2_B,R1_B,R0_B)BEGIN李江江 简单微处理器的设计 第 6 页 共 25 页 -6-IF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=1 AND R0_B=0) THENMUX5OUTR2 则跳转到交换,否则顺序执行。李江江 简单微处理器的设计 第 9 页 共 25 页 -9-图 4.2 数的比较4.3 交换两个数。如图 4.3,由于 R3 种的数 25 大于 R2 中的数 15,则进行交换。使 R2 每次存入最大的值后,R3 继续读入 R1 地址的值继续进行比较。图 4.3 交换两个数4.4 结果输出图 4.4 中的 R0 控制循环, R1 与用自增, R2 用于输出寄存器.结果从 QD 输出。图中刚好从最小的数 06 开始输出。李江江 简单微处理器的设计 第 10 页 共 25 页 -10-图 4.4 结果输出李江江 简单微处理器的设计 第 11 页 共 25 页 -11-结束语我在老师的细心指导和同学们的耐心帮助之下成功完成了本次实验,并能得到预期的实验结果。在这段时间内,我努力学习了计算机系统结构,VHDL 等相关的各项知识,也查阅不少资料,并能够将课堂上所学的知识运用于实际的设计中,能够很好的进行理论联系实际进行开发。通过解决这次设计和设计中遇到的问题,也积累了一定的经验。对以后从事集成电路设计工作会有一定的帮助。在应用 VHDL 的过程中让我真正领会到了其并行运行与其他软件(C 语言)顺序执行的差别及其在电路设计上的优越性。李江江 简单微处理器的设计 第 12 页 共 25 页 -12-致 谢本课程设计在选题和设计过程中得到了肖晓丽老师的悉心指导,肖老师多次询问课程设计进程,并多次指导我对课程设计进行修改,帮助我完善了该课程设计。在此对肖老师表示衷心的感谢。还要感谢寝室的同学们,谢谢你们对我技术和精神上的帮助,谢谢你们。李江江 简单微处理器的设计 第 13 页 共 25 页 -13-参考文献1 黄仁欣.EDA 技术实用教程.北京:清华大学出版社,20062 黄志鹏,付丽琴.可编程逻辑器件开发技术 MAX+pius.北京:国防工业出版社,20053潘松.VHDL 实用教程M.成都:电子科技大学出版社,20004 谭会生.EDA 技术基础.长沙:湖南大学出版社,20045 杨刚,龙海燕.现代电子技术VHDL 与数字系统设计.北京.电子工业出版社,2004 李江江 简单微处理器的设计 第 14 页 共 25 页 -14-附 录程序清单:1 ALU 子模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ALU ISPORT(AC, DR: IN STD_LOGIC_VECTOR(7 DOWNTO 0);S1, S0: IN STD_LOGIC;BCDOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);CY,ZI: OUT STD_LOGIC);END ALU;ARCHITECTURE A OF ALU ISSIGNAL AA,BB,TEMP: STD_LOGIC_VECTOR(8 DOWNTO 0);BEGINPROCESS(S1,S0) BEGINIF(S1=0 AND S0=0) THENBCDOUT PCELSEQOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT NULL;END CASE;END IF;END PROCESS;END A;6.RAM 子模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY RAM ISPORT(WR,CS:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0);END RAMARCHITECTURE A OF RAM ISTYPE MEMORY IS ARRAY(0 TO 31) OF STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CS,WR)VARIABLE MEM: MEMORY;BEGIN李江江 简单微处理器的设计 第 22 页 共 25 页 -22-IF (CS=0) THEN IF (WR=0) THENMEM(CONV_INTEGER(ADDR(4 DOWNTO 0):=DIN;ELSIF(WR=1) THENDOUT = MEM(CONV_INTEGER(ADDR(4 DOWNTO 0);END IF;END IF;END PROCESS;END A;7 选择对 ROM 或者 RAM 进行操作的二选一选择器子模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX2_2 ISPORT(R_R:IN STD_LOGIC;ROM_IN,RAM_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);MUX2_2OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX2_2;ARCHITECTURE A OF MUX2_2 ISBEGINPROCESS(R_R,ROM_IN,RAM_IN)BEGINIF(R_R=0)THENMUX2_2OUT=ROM_IN;ELSEMUX2_2OUT=RAM_IN;END IF;END PROCESS;END A;李江江 简单微处理器的设计 第 23 页 共 25 页 -23-8.五选一选择器子模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX5 ISPORT(R0_B,R1_B,R2_B,R3_B,ALU_B:IN STD_LOGIC;R0_IN,R1_IN,R2_IN,R3_IN,ALU_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);MUX5OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX5;ARCHITECTURE A OF MUX5 ISBEGINPROCESS(ALU_B,R3_B,R2_B,R1_B,R0_B)BEGINIF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=1 AND R0_B=0) THENMUX5OUT=R0_IN;ELSIF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=0 AND R0_B=1) THENMUX5OUT=R1_IN;ELSIF(ALU_B=1 AND R3_B=1 AND R2_B=0 AND R1_B=1 AND R0_B=1) THENMUX5OUT=R2_IN;ELSIF(ALU_B=1 AND R3_B=0 AND R2_B=1 AND R1_B=1 AND R0_B=1) THENMUX5OUT=R3_IN;ELSIF(ALU_B=0 AND R3_B=1

温馨提示

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

评论

0/150

提交评论