基于Quartus_II的微程序控制简_....doc_第1页
基于Quartus_II的微程序控制简_....doc_第2页
基于Quartus_II的微程序控制简_....doc_第3页
基于Quartus_II的微程序控制简_....doc_第4页
基于Quartus_II的微程序控制简_....doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

基于Quartus II的微程序控制简易计算机的设计顾 晖,王礼春,成 耀(南通大学计算机科学与技术学院,江苏 南通226019)【摘 要】 本文借助于Quartus II软件在计算机上仿真设计了一台微程序控制的简易计算机,通过介绍电路仿真的主要流程,我们可以加深对计算机系统各模块的工作原理及相互联系的认识。【关键词】 Quartus II EDA 微程序控制 计算机0 引言Quartus II是由美国Altera公司开发的,是一款功能比较强的EDA工具软件,它的优势主要体现在其功能齐全,简单易用1。我们借助Quartus II6.0现有的器件,综合设计了一个简易计算机系统,并使用Quartus II6.0完成仿真2,通过仿真波形展示该系统指令的执行流程,以及微指令的控制方法。1 简易计算机系统的体系结构及功能模块设计一台微程序控制的简易计算机系统包含以下几个模块3:图(1) 微程序控制的简易计算机系统结构示意图a) 运算模块,由ALU (两片74181),数据寄存器DR1,DR2(两片74273)以及数据缓冲器ALU_BUF (一片74244)构成,完成DR1与DR2的各种运算;b) 存储模块,由RAM(一片lpm_ram_dp0),RAM_BUF(一片74273),AR(一片74273)构成,由AR提供地址,完成RAM 的存取数据操作;c) 程序计数器模块,由PC(两片74161),PC_BUF(一片74244)构成,完成保存指令地址,以及提供RAM存取操作所需地址(包含存取数据与指令);d) 微程序控制模块,由IR(一片74273),微存储器(一片lpm_rom0),指令译码器(三片74273),以及一片74138(完成组合译码功能)构成,完成系统的控制功能;e) 输入模块,由IN_BUF(一片74244)构成,完成输入端IN0IN7的数据输入功能;f) 时序电路,由集成计数器(一片74161)及三八译码器(一片74138)构成,可产生时序信号。微程序控制的简易计算机系统结构示意图请参考图(1)。1.1 时序电路3 4时序电路见图(1.1)。各个端口功能如下:a) R_CLK,时序电路的原始时钟,用来产生三个连续的时钟脉冲IR_CP,ROM_CP,TR_CP;b) START,启动键,低电平时有效;c) IR_CP,一个微指令周期的第一个上升沿,为指令寄存器IR的时钟信号;d) ROM_CP,一个微指令周期的第二个上升沿,为微存储器ROM及地址寄存器AR共用的时钟信号;e) TR_CP,一个微指令周期的第三个上升沿,为指令译码器,数据寄存器DR1、DR2,寄存器R0及RAM存储器共用的时钟信号。说明 :该时序电路利用集成计数器74161的计数循环特性,通过选择三八译码器74138来产生三个连续的脉冲信号,以形成一个微指令周期。因本系统只是设计简易计算机系统,所以未设计RESET键。1.2 微程序控制器模块3 4控制器模块译码后输出的控制信号见图(1.2)。各控制端功能如下:a) 05号控制端,输出下一条微指令在微存储器中的地址;b) 6号控制端LDR0,R0寄存器的时钟使能信号,高电平时有效;c) 7号控制端,指示是否有下一条微指令,若有则执行下一条微指令,若无,则执行下一条指令;d) 810号控制端,采取组合译码方式,分别用来选择控制端PC_BUF , ALU_BUF,IN_BUF,RM_BUF,以及R0寄存器的输出使能端,均为低电平时有效,当组合译码输出为000时表示不选择任何控制端;e) 11号控制端LDRM,RAM存取操作时钟使能信号;f) 12号控制端LDAR,AR送地址操作的时钟使能信号;g) 13号控制端LDDR2,数据寄存器DR2的时钟使能信号,上升沿到来时触发;h) 14号控制端LDDR1,数据寄存器DR1的时钟使能信号,上升沿到来时触发;i) 15号控制端LDPC,程序计数器PC的时钟使能信号,上升沿到来时触发;j) 16号控制端LOAD,程序计数器PC的同步并行置数端,低电平有效,若要完成同步并行置数,必须要维持此信号到程序计数器PC的时钟信号上升沿到来之后;k) 17号控制端W,RAM的读写控制端,高电平时为写,低电平时为读;l) 18号控制端CN0,运算器的低位进位端。低电平为有进位,高电平时为无进位(注:只有在算术运算时是有效的);m) 19号控制端M,高电平时控制运算器执行算术运算,低电平时控制运算器执行逻辑运算; n) 2023号控制端S0S3,组合控制运算器执行不同的运算,如:1001时可以执行加(在19M号控制端为低电平,18号控制端CN0为高电平时有效)。说明:微程序的输出控制端口(除六条微地址接口外)均是与其它模块相连接的控制端口,因此对其他模块的控制端口不再作进一步的阐述。1.3 运算器模块4 5运算器模块的控制端口有:M,CN0,S0S3,N_AU,N_IN,详细说明请见控制器模块,模块结构请见图(1.3)。1.4 存储器模块存储器模块的结构请见图(1.4),其各个控制端口已在控制器模块中作了详细说明。1.5 数据显示灯2 4为了调试时的方便,在设计过程中添加了一些数据显示灯,如下所示: a) DR1_OUT0DR1_OUT7,数据寄存器DR1的显示灯; b) DR2_OUT0DR2_OUT7, 数据寄存器DR2的显示灯;c) IR0IR7,指令寄存器IR的显示灯;d) BUS0BUS7,总线的数据显示灯;e) TR_OUT0TR_OUT23,指示当前译码后的微控制信号的显示灯;f) CN8_ALU,运算器的最高位进位端。2 简易计算机系统的仿真实现4 62.1 工程的建立 a) 在Quartus 环境下,打开菜单File,选择子菜单New Project Wizard后,按照向导窗口的提示,在窗口中正确输入有关的路径名和项目名称后,按下“ Finish”按钮,即可完成项目的新建工作;b) 创建一个.dbf文件:选择FileNew,打开“新建”窗口:在“Device Design Files”页,选中“Block Diagram/Schematic File”项后,按下“OK”按钮即可打开原理图编辑器,绘制系统的总体结构图,参图1.11.5;c) 由于该系统用到存储器,因而还需分别创建一个24位的和一个8位的.hex(或.mif)文件。2.2 编写指令与微码系统运行必然需要指令,由于该系统是由微程序控制的,所以还需要编写微码。a) 对8位的.hex(或.mif)RAM存储器编写程序即指令,各条指令在微指令存储器中如图(2),这里编写了最常用的五条指令;b) 对24位的.hex(或.mif)ROM存储器编写微码,控制各个模块执行不同的操作,五条指令的微码如图(3),其中前面两条为完成取指令的通用微码,即每条指令都要调用的,最后一条指令(地址为:FFH)是为初始启动时引导系统去取指令并执行后续指令服务的) 。2.3 指令的格式3该系统设计使用了五条指令,分别为输入指令IN,加法指令ADD, 写指令STA, 读指令OUT,跳转指令JMP,字长均为8位,其格式及功能如下:a) 输入指令IN:为单字长指令,其功能是将数据开关的8位数据输入到R0寄存器;b) 加法指令ADD: 为双字长指令,第一个字为操作码,第二个操作数地址,其功能是将R0寄存器中的值与内存中地址为第二个操作数的内容加起来,并将结果存入R0寄存器中;c) 写指令STA:为双字长指令,第一个字为操作码,第二个操作数地址,其功能是将R0寄存器中的值,存储到以第二个操作数为地址的内存单元中;d) 读指令OUT:为双字长指令,第一个字为操作码,第二个操作数地址,其功能是将以第二个操作数为地址的内存单元中值读到数据总线并显示;e) 跳转指令JMP:为双字长指令,第一个字为操作码,第二个操作数地址,其功能是程序无条件跳转到第二个字指定的内存单元地址。 2.4 微指令的格式 当系统建好后,微程序控制器的大部分结构也就随之确定了。 该系统采用了水平型微指令格式,微命令编码直接表示法与字段直接译码法相混合的编码方法,后续微地址由标志位判定,后续微码、后续指令自动互斥选择执行。2.5 调试并仿真4以上完成了系统的绘制及编码工作,接下来对其进行以下几步调试。a) 分别完成RAM与ROM的.hex(或.mif)文件,保存后并编译;b) 调试无错后再创建一个.vwf文件,并添加相应控制结点及数据显示灯,然后调制适当的波形(见图(2)后,再进行仿真;c) 系统的仿真波形如图(3),该图给出了系统循环执行输入指令IN,加法指令ADD,写指令STA,读指令OUT,跳转指令JMP的执行过程。3 结束语通过该系统的设计,对于较复杂的系统,常采用的方法就是将其分成各个模块来实现,这样可以很大程度上简化整个系统的设计以及实现上的难度,充分发挥了化繁为简的作用。通过使用Quartus II6.0对整个系统进行整体分析、模块设计、模块整合、编译仿真等操作,我们可以察觉Quartus II6.0充分发挥了设计上的优势,简单易用,便于整合,方便修改。参 考 文 献1覃贵礼,谭呈祥. 用Quartus II实现数字电路实验中的仿真J. 南宁师范高等专科学校学报,2005(2):71-73.2郑亚民,许敏. 基于Quartus II的带计时器功能的秒表系统设计J. 电子工程师, 2005(01):59-62.3王爱英. 计算机组成与结构M. 北京:清华大学出版社,2001.4 Altera公司. Quartus II 软件EB/OL./products/software/products/quartus2/qts-index.html, 2007-8-18/2007-8-26.5东南大学计算机学院. ALU部件 EB/OL. /people/xuzaolin/Chapter3/untitled14.html, 2007-5-11/2007-8-23.6李雪梅. 用Quartu II4.0设计数字电路过程的介绍J. 现代电子技术, 2005(06):35-38.Design of Simple Computer based on Quartus IIGu Hui,Wang Li-chun,Cheng Yao(School of Computer Science & Technology, Nantong University, Jiangsu, China 226019)Abstract: In this article, the authors use Quartus II to design a simpl

温馨提示

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

评论

0/150

提交评论