好文档 - 专业文书写作范文服务资料分享网站

基于Quartus_II的微程序控制简_...

天下 分享 时间: 加入收藏 我要投稿 点赞

基于Quartus II的微程序控制简易计算机的设计

顾 晖,王礼春,成 耀

(南通大学计算机科学与技术学院,江苏 南通226019)

【摘 要】 本文借助于Quartus II软件在计算机上仿真设计了一台微程序控制的简易计算机,通过介绍电路仿真的主要流程,我们可以加深对计算机系统各模块的工作原理及相互联系的认识。

【关键词】 Quartus II EDA 微程序控制 计算机 0 引言

Quartus II是由美国Altera公司开发的,是一款功能比较强的EDA工具软件,它的优

[1]

势主要体现在其功能齐全,简单易用。

我们借助Quartus II6.0现有的器件,综合设计了一个简易计算机系统,并使用Quartus

[2]

II6.0完成仿真,通过仿真波形展示该系统指令的执行流程,以及微指令的控制方法。 1 简易计算机系统的体系结构及功能模块设计

[3]

一台微程序控制的简易计算机系统包含以下几个模块:

CEnalu-busALU输出缓冲(74244)RAM(256x8)WEs3s2s1s0ALUmAR(74273b)LDARDR1(74273b)LDDR1DR2(74273b)LDDR2PC输出缓冲(74244)nPC-BUSPC(74163)R0(74374b)LDR0nR0-BUSLDPCLOAD输入缓冲(74244b)nsw-bus微程序控制器时序产生器数据输入IR(74273b)LDIR

图(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)构成,完成输入端IN0~IN7的数据输入功能; f) 时序电路,由集成计数器(一片74161)及三八译码器(一片74138)构成,可产生时序信号。

微程序控制的简易计算机系统结构示意图请参考图(1)。

[3] [4]

1.1 时序电路

时序电路见图(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 微程序控制器模块

控制器模块译码后输出的控制信号见图(1.2)。各控制端功能如下: a) 0~5号控制端,输出下一条微指令在微存储器中的地址; b) 6号控制端LDR0,R0寄存器的时钟使能信号,高电平时有效;

c) 7号控制端,指示是否有下一条微指令,若有则执行下一条微指令,若无,则执行下一条指令;

d) 8~10号控制端,采取组合译码方式,分别用来选择控制端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的同步并行置数端,低电平有效,若要完成同步

[3] [4]

并行置数,必须要维持此信号到程序计数器PC的时钟信号上升沿到来之后;

k) 17号控制端W,RAM的读写控制端,高电平时为写,低电平时为读; l) 18号控制端CN0,运算器的低位进位端。低电平为有进位,高电平时为无进位(注:只有在算术运算时是有效的);

m) 19号控制端M,高电平时控制运算器执行算术运算,低电平时控制运算器执行逻辑运算;

n) 20~23号控制端S0~S3,组合控制运算器执行不同的运算,如:1001时可以执行加(在19M号控制端为低电平,18号控制端CN0为高电平时有效)。

说明:微程序的输出控制端口(除六条微地址接口外)均是与其它模块相连接的控制端口,因此对其他模块的控制端口不再作进一步的阐述。

基于Quartus_II的微程序控制简_...

基于QuartusII的微程序控制简易计算机的设计顾晖,王礼春,成耀(南通大学计算机科学与技术学院,江苏南通226019)【摘要】本文借助于QuartusII软件在计算机上仿真设计了一台微程序控制的简易计算机,通过介绍电路仿真的主要流程,我们可以加深对计算机系统各模块的工作原理及相互联系的认识。<
推荐度:
点击下载文档文档为doc格式
8vkre8a0h652amw9ksua
领取福利

微信扫码领取福利

微信扫码分享