硬件基础 微程序控制器实验报告Word文件下载.docx
- 文档编号:19764756
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:13
- 大小:141.60KB
硬件基础 微程序控制器实验报告Word文件下载.docx
《硬件基础 微程序控制器实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《硬件基础 微程序控制器实验报告Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
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):
0
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件基础 微程序控制器实验报告 硬件 基础 微程序 控制器 实验 报告