
简单微处理器的设计 摘要:本课程设计采用EDA技术设计简单微处理器。系统设计采用自顶向下的设计方 法。它由数的输入,数的比较,数的交换和结果输出四部分组成。系统实现采用硬件 描述语言VHDL把系统电路按模块化方式进行设计,然后进行编程、时序仿真并分 析。系统结构简单,使用方便,功能齐全,精度高,具有一定的应用价值。 关键词: 处理器; 输入; 比较; 交换 目录 1引 言 错误!未指定书签 1.1课题设计的背景、目的 错误!未指定书签 1.2 课程设计的内容 错误!未指定书签 2 EDA、VHDLW介 错误!未指定书签 EDA简介 错误!未指定书签 VHDL简介 错误!未指定书签 VHDL语言的特点 错误!未指定书签 VHD啲设计流程 错误!未指定书签 3简单微处理器的设计过程 错误!未指定书签 3.1设计规划 错误!未指定书签 3.2各模块设计及相应程序 错误!未指定书签 4系统仿真 错误!未指定书签 数的输入 错误!未指定书签 2数的比较。 错误!未定义书签 3交换两个数。 错误!未指定书签 4结果输出(从小到大) 错误!未指定书签 结束语 错误!未指定书签 致 谢 错误!未指定书签 参考文献 错误!未指定书签 附 录 错误!未指定书签 引 言 随着社会的发展,科学技术也在不断的进步。特别是计算机产业,可以说是日新 月异,而处理器,作为计算机中的一个重要部分,其性能从很大程度上决定了计算机 的性能。本设计介绍的简单微处理器,要求具有以下验证程序所要求的功能:输入包 含10个整数(无符号数)的数组 M按从小到大的顺序输出这10个数。 课题设计的背景、目的 微处理器技术的发展是与微电子技术即大规模集成电路技术的发展分不开的。微 电子技术以每 1 8个月集成度提高一倍的速度迅速发展。 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语言的精髓,达到课程设计的目标。 课程设计的内容 本设计主要介绍的设计一台简单微处理器,要求具有以下验证程序所要求的功 能:输入包含10个整数(无符号数)的数组 M按从小到大的顺序输出这10个数。 ( 1 ) 程序开始及输入 10 个数据。 ( 2 ) 数的比较。 ( 3 ) 交换两个数。 ( 4 ) 结果输出(从小到大)。 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 版)。现在,VHDLffi Verilog作为IEEE的工业标准硬件描述语言,又得到众多 EDA公 司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新 的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。 2.3VHDL 语言的特点 VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个 电路模块或一个系统)分成外部(或称可是部分 , 及端口 )和内部(或称不可视部 分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面 后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体 分成内外部分的概念是 VHDLS统设计的基本点。应用 VHDLS行工程设计的优点是多 方面的。 (1) 与其他的硬件描述语言相比,VHDLM有更强的行为描述能力,从而决定了他 成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结 构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计 系统的功能可行性,随时可对设计进行仿线) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和 已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚 至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可 以利用EDA工具进行逻辑综合和优化,并自动的把 VHDL苗述设计转变成门级网表。 (5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管 理最终设计实现的目标器件是什么,而进行独立的设计。 2.4VHDL的设计流程 它主要包括以下几个步骤: 设计规范的定义 这个有点象系统的设计的总体规划,就是要明确这个系统有哪些设计要求,和你 要想到达的目标。 采用VHDLS行设计描述 这部分包括设计规划和程序的编写。设计规划主要包括设计方式的选择及是否进 行模块划分。设计方式一般包括直接设计,自顶向下和自底向下设计,这个和其他软 件语言差不多。最重要还是模块划分,这个和设计者的设计水平有很大关系。 完成规 划设计后,就可以编写个模块的 VHDI程序了,最后将各模块的 VHDI程序综合起来就 完成了整个设计的VHDIL苗述. VHDL程序仿真 这个过程和其他软件语言没什么区别。 综合、优化和布局布线 综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是 一组逻辑方程;优化,这个主要是为了提高程序的执行效率及减少资源的利用;布局 布线,指的是将逻辑关系转化成电路连接的方式。 后仿真。 这个与VHDI程序仿真不同,这个不仅是对逻辑方面的验证,还要进行时序功能 验证。 器件编程 简单微处理器的设计过程 3.1 设计规划 计算器通过简单的数字键盘输入操作数,其中所键入的数据将被暂存在移位寄存 器中,然后根据运算符执行产生不同的操作结果,所获得的运算结果再通过译码电路 转移到七段显示器输出。整个微处理器的工作原理图如图 3.11所示。 图3.1微处理器的工作原理图 3.2各模块设计及相应程序 本系统设计了 10条指令:IN1(输入到目的寄存器),MOV(将一个数送入目的寄存 器),MOV1(将源寄存器中的数据存储到目的寄存器所指向的地址单元), MOV2(将 源寄存器所指向的地址单元中的数送入目的寄存器), OUT1(输出),CMP(将目的寄 存器和源寄存器所指向的地址单元中的数据进行比较), DEC(将目的寄存器中的数据 自减一),INC (将目的寄存器中的数据自加一),JMP(无条件跳转),JB (小于跳 转),下表列出了每条指令的格式、汇编符号和指令功能。 表3.2指令系统格式表 助记符号 1 指令格式 功 能 IN1 Rd 10 0 0 x x Rd (SW)-Rd MOV im Rd 10 0 1 x x Rd im (im) — Rd MOV1 Rs [Rd] 10 10 Rs Rd (Rs)-[Rd] MOV2 [Rs] Rd 10 11 Rs Rd ([Rs]) — Rd OUT1 Rd 1 1 0 0 Rs x x (Rs) —LED CMP Rs Rd 110 1 Rs Rd (Rs)-(Rd), 锁存CY和 ZI DEC Rd 1110 x x Rd (Rd)-1 — Rd INC Rd 1 1 1 1 x x Rd (Rd)+1 — Rd JMP addr 0110 xxxx addr addr-PC JB addr 0111 xxxx addr 若小于,贝U addr-PC 关键程序 数的选择模块 LIBRAR Y IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX5 IS PORT( R0_B,R1_B,R2_B,R3_B,ALU_B:IN STD_LOGIC; R0_IN,R1」N,R2」N,R3_IN,ALU」N:IN STD_L0GIC_VECT0R(7 DOWNTO 0); MUX5OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END MUX5; ARCHITECTURE A OF MUX5 IS BEGIN PROCESS(ALU_B,R3_B,R2_B,R1_B,R0_B) BEGIN IF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=1 AND R0_B=0) THEN MUX5OUTV二R0_IN; ELSIF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=0 AND R0_B=1) THEN MUX5OUT=R1_IN; ELSIF(ALU_B=1 AND R3_B=1 AND R2_B=0 AND R1_B=1 AND R0_B=1) THEN MUX5OUT=R2_IN; ELSIF(ALU_B=1AND R3_B=0AND R2_B=1 AND R1_B=1 ELSIF(ALU_B=1 AND R3_B=0 AND R2_B=1 AND R1_B=1 AND R0_B=1) THEN MUX5OUT=R3_IN; ELSIF(ALU_B=0AND R3_B=1AND R2_B=1AND R1 B=1 ELSIF(ALU_B=0 AND R3_B=1 AND R2_B=1 AND R1 B=1 AND R0_B=1) THEN MUX50UTV二ALU_IN; ELSE MUX5OUT=ALU_IN; END IF; END PROCESS; END A; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY FEN2 IS PORT( MUX5_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); LED_B,WR: IN STD_LOGIC; OUT_MUX3,OUT_PUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END FEN2; ARCHITECTURE A OF FEN2 IS BEGIN PROCESS(LED_B) BEGIN IF(LED_B=0 AND WR=O) THEN OUT_PUT=MUX5_IN; OUT_MUX3 ELSE OUT_MUX3=MUX5_IN; END IF; END PROCESS; END A; LIBRAR Y IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX3 IS PORT( SW_B,CS:IN STD_LOGIC; FEN2_IN,MUX2_2IN,SW_IN:IN STD_L0GIC_VECT0R(7 DOWNTO 0); MUX3OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END MUX3; ARCHITECTURE A OF MUX3 IS BEGIN PROCESS(SW_B,CS) BEGIN IF(SW_B=0 AND CS=1) THEN MUX3OUT=SW_IN; ELSIF(SW_B=1 AND CS=O) THEN MUX3OUT=MUX2_2IN; ELSIF(SW_B=0 AND CS=0) THEN MUX3OUT=FEN2_IN; ELSE END IF; END PROCESS; END A; 4系统仿线数的输入 以下仿线, 87)。程 序开始及输入10个数据?图4.1中的R0控制循环,R1与用自增,R2用于保存输入的 数并送到与R1对应地址的RAM中 . 图4.1程序开始及输入 4.2数的比较 如图4.2所示,R0存放外循环的比较次数,R1存放内循环的指针。R2存放每次比 较的大数,3存放与R2比较的下一个数。如果R3R2则跳转到交换,否则顺序执行。 图4.2数的比较 4.3交换两个数。 如图4.3,由于R3种的数25大于R2中的数15,则进行交换。使R2每次存入最大的 值后,R3继续读入R1地址的值继续进行比较。 图4.3交换两个数 4.4结果输出 图4.4中的R0控制循环,R1与用自增,R2用于输出寄存器.结果从QD输出。图 中刚好从最小的数06开始输出。 图4.4结果输出 结束语 我在老师的细心指导和同学们的耐心帮助之下成功完成了本次实验,并能得到预期的实验结果。在这段时间内,我努力学习了计算机系统结构, VHDL等相关的各项知 识,也查阅不少资料,并能够将课堂上所学的知识运用于实际的设计中,能够很好的 进行理论联系实际进行开发。通过解决这次设计和设计中遇到的问题,也积累了一定 的经验。对以后从事集成电路设计工作会有一定的帮助。在应用 VHDL勺过程中让我真 正领会到了其并行运行与其他软件(C语言)顺序执行的差别及其在电路设计上的优越 性。 致谢 本课程设计在选题和设计过程中得到了肖晓丽老师的悉心指导,肖老师多次询问 课程设计进程,并多次指导我对课程设计进行修改,帮助我完善了该课程设计。在此 对肖老师表示衷心的感
绵阳市三台县2025届三年级数学第二学期期末模拟试题(含答案).docx
绵阳市三台县2025届四年级数学下学期期末模拟试题(含答案解析).docx
绵阳市三台县2025届四年级数学下学期期末模拟试题(含答案).docx
绵阳市三台县2025届四年级数学第一学期阶段模拟试题(含答案).docx
绵阳市三台县2025届四年级数学第二学期期中模拟试题(含答案解析).docx
绵阳市三台县2025届四年级数学第一学期期中模拟试题含答案解析.docx
张义敬_太极拳理传线年副主任医师(副高)-针灸学(副高)考试历年高频考点参考题库专家版答案.docx
2025-2026学年浙江省杭州市六年级数学小升初分班摸底标准卷B3(含答案详解、评分标准与学生作答区).docx
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档pg电子控股有限公司下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者
Copyright © 2026 pg电子模拟器股份有限公司 版权所有