硬件基础 微程序控制器实验报告Word文件下载.docx

上传人:b****6 文档编号:19764756 上传时间:2023-01-09 格式:DOCX 页数:13 大小:141.60KB
下载 相关 举报
硬件基础 微程序控制器实验报告Word文件下载.docx_第1页
第1页 / 共13页
硬件基础 微程序控制器实验报告Word文件下载.docx_第2页
第2页 / 共13页
硬件基础 微程序控制器实验报告Word文件下载.docx_第3页
第3页 / 共13页
硬件基础 微程序控制器实验报告Word文件下载.docx_第4页
第4页 / 共13页
硬件基础 微程序控制器实验报告Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

硬件基础 微程序控制器实验报告Word文件下载.docx

《硬件基础 微程序控制器实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《硬件基础 微程序控制器实验报告Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

硬件基础 微程序控制器实验报告Word文件下载.docx

4、通过单步运行若干条微指令,深入理解微程序控制器的工作原理;

二、实验电路

图1

附:

电路图过大,请放大观察详情

三、实验原理

将机器指令的操作(从取指到执行)分解为若干个更基本的微操作序列,并将有

关的控制信息(微命令)以微码的形式编成微指令输入到控制存储器中。

这样,

每条机器指令将与一段微程序对应,取出微指令就产生微命令,以实现机器指令

要求的信息传送与加工。

四、实验步骤及概述

1)设计状态机部分

a、编写VHDL代码如下

LIBRARYieee;

USEieee.std_logic_1164.all;

ENTITYzhuangtaijiIS

PORT(

reset:

INSTD_LOGIC:

='

0'

;

clock:

INSTD_LOGIC;

qd:

dp:

tj:

t1:

OUTSTD_LOGIC;

t2:

t3:

t4:

OUTSTD_LOGIC

);

ENDzhuangtaiji;

ARCHITECTUREBEHAVIOROFzhuangtaijiIS

TYPEtype_fstateIS(idle,st1,s_st2,st4,st2,st3,s_st4,s_st3);

SIGNALfstate:

type_fstate;

SIGNALreg_fstate:

BEGIN

PROCESS(clock,reset,reg_fstate)

BEGIN

IF(reset='

1'

)THEN

fstate<

=idle;

ELSIF(clock='

ANDclock'

event)THEN

=reg_fstate;

ENDIF;

ENDPROCESS;

PROCESS(fstate,qd,dp,tj)

t1<

t2<

t3<

t4<

CASEfstateIS

WHENidle=>

IF(NOT((qd='

)))THEN

reg_fstate<

=st1;

ELSE

WHENst1=>

IF(((tj='

)ANDNOT((dp='

))))THEN

ELSIF(((dp='

)ANDNOT((tj='

=s_st2;

=st2;

WHENs_st2=>

IF((tj='

))THEN

=s_st3;

WHENst4=>

=st4;

WHENst2=>

=st3;

WHENst3=>

=s_st4;

WHENs_st4=>

WHENs_st3=>

WHENOTHERS=>

X'

report"

Reachundefinedstate"

ENDCASE;

ENDBEHAVIOR;

b、新建blockfile选定zhaungtaiji得到电路图

2)设计rom部分

LIBRARYieee;

ENTITYromIS

PORT

address:

INSTD_LOGIC_VECTOR(4DOWNTO0);

q:

OUTSTD_LOGIC_VECTOR(27DOWNTO0));

ENDrom;

ARCHITECTURESYNOFromIS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(27DOWNTO0);

BEGIN

sub_wire0<

=

"

1011000000100000010100000001"

WHENaddress="

00000"

1110100100100000010101100010"

00001"

1001000100100000010100101000"

00010"

1110100100100000010100010101"

01001"

1001101100100000010100010110"

10101"

1001001100100000011100000001"

10110"

1110100100100000010100010111"

01010"

1001101100100000010100011000"

10111"

1001010100100000010000000001"

11000"

1110100100100000010100011001"

01011"

1001101100100000010100011010"

11001"

1001001100100000010100000001"

11010"

1001000101100000010000011011"

01100"

1001000100110000001100000001"

11011"

1110100100100000010100011100"

01101"

1011001100100000010100000001"

11100"

1110100100100000010100000011"

01110"

1001101100100000010100000100"

00011"

1001001100100000010110000101"

00100"

1001000101100000010000000110"

00101"

1001000100101001101100000001"

00110"

1110100100100000010100011101"

01111"

1001101100100000010100011110"

11101"

1001001100100000010110011111"

11110"

1001000101100000010000000111"

11111"

1001000100100001111100000001"

00111"

1011000000100000010100010011"

01000"

1110100100100000010100010100"

10011"

1001001100100000010100010011"

10100"

1011000000100000010100010001"

10000"

1110100100100000010100010010"

10001"

1001010000100000010100010001"

;

q<

=sub_wire0(27DOWNTO0);

ENDSYN;

b、新建blockfile选定rom得到电路图

3)、整合电路图

整合电路图如图1所示。

建工程-建立Block 

Diagram 

File-按照电路图连好电路-保存、编译-建立

Vector 

Waveform 

File-插入引脚-设置波形-保存、仿真。

仿真后的波形如下:

参数设置:

GridSize:

50ns

EndTime:

5.0us

其具体实现还需要与数据通路结合才能最终进行具体运算。

分析ADD的每条微指的指令格式和功能:

ADD:

为双字长指令。

第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相加,结果放R0寄存器中。

ADD加法指令由:

S3 

S2 

S1 

S0 

MCn 

WEA9A8ABCμA5--μA0

a、(PC→AR,PC+1):

11 

10 

1

b、(RAM→BUS,BUS→AR):

01 

C、(RAM→BUS,BUS→DR2):

00 

11 

d、(RO→DR1):

e、((DR1)+(DR2)→RO):

共8条微指令组成。

a微指令功能是RAM赋给BUS,BUS赋给DR2;

S3S2S1S0MCN的值为“000000”代表进行自加1运算;

A字段“110”代表选择LDAR操作,B字段“110”是选择PC-B操作;

UA5-UA0中“000011”代表下一指令的地址为“011”。

b微指令功能是RAM赋给BUS,BUS赋给DR2;

A字段“110”代表选择LDAR操作,B字段“000”是无选择操作;

UA5-UA0中“000100”代表下一指令的地址为“100”。

c微指令功能是RAM赋给BUS,BUS赋给DR2;

A字段“011”代表选择LDDR2操作,B字段“000”是无选择操作;

UA5-UA0中“000101”代表下一指令的地址为“101”。

d微指令功能是RO赋给DR1;

A字段“010”代表选择LDDR1操作,B字段“001”是选择RS-B操作;

UA5-UA0中“000110”代表下一指令的地址为“110”。

e微指令功能是DR1+DR2的和赋给R0;

S3S2S1S0MCN的值为“100101”代表进行加法运算;

A字段“001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1