控制器实验报告Word文档下载推荐.docx

上传人:b****7 文档编号:22105264 上传时间:2023-02-02 格式:DOCX 页数:82 大小:138.82KB
下载 相关 举报
控制器实验报告Word文档下载推荐.docx_第1页
第1页 / 共82页
控制器实验报告Word文档下载推荐.docx_第2页
第2页 / 共82页
控制器实验报告Word文档下载推荐.docx_第3页
第3页 / 共82页
控制器实验报告Word文档下载推荐.docx_第4页
第4页 / 共82页
控制器实验报告Word文档下载推荐.docx_第5页
第5页 / 共82页
点击查看更多>>
下载资源
资源描述

控制器实验报告Word文档下载推荐.docx

《控制器实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《控制器实验报告Word文档下载推荐.docx(82页珍藏版)》请在冰豆网上搜索。

控制器实验报告Word文档下载推荐.docx

/*寄存器MBR的置入端;

/*寄存器IR的置入端;

/*寄存器MAR的使能端;

/*选择器A的选择控制(3位)

/*选择器E的选择控制(3位)

/*ALU的功能控制(6位)

/*移位器的控制(2位)一左移、右移、直传(DM);

组合逻辑控制器内部框图:

CPMAR_PfEMAR<

CPMER_pVSMBRVCPRO_PVSIRVCPR2.P°

CPR1.PV

CPC.PvCPR3_PV

CPD.PVCPSP_PvCPPC_PvCPPS\V_Pv

译码器

IRCODE

时序发生器

CLK

PSW

微操做信号发生器

READCOM

WRITECOM

CON.ALU6

SELB3

SHIFT_REG2

lx指令译码器

说明:

由于译码后输出较多,所以按操作类型(IR15—IR12),源寄存器号(IR11-IR9),源寻址方式(IR8-IR6),目的寄存器号(IR5—IR3),目的寻址方式(IR2—IR0)分为五个译码器。

(1)操作类型译码U_OPER_DECOD

IR15,IR14,IR13,IR12

输出:

MOV,ADD,SUB,AND,OR,EOR,COM,NEG,INC,DEG,SL,SR,JMP_RST,JSR

功能描述表:

IR15IR14IR13IR12

IROPERTYPE

0000

MOV

0001

ADD

0010

SUB

0011

AND

0100

OR

0101

EOR

0110

COM

0111

NEG

1000

INC

1001

DEC

1010

SL

1011

RL

1100

JMP,RST

IR15

IR14

IR13

IR12

4/16

SR

JMPRSTJSR-

1101

JSR

(2)源寄存器号译码U_SREG_DECOD

IRlbIR10,IR9

输出:

S_RO、S_R1,S_R2,S_R3,S_SP.S.PSW,S_PC

IR10

IR9

(3)源寄存器寻址方式译码U_SADDR_DECOD

IR8,IR7,IR6

S_ADDR_REG,S_ADDR_INDI、S_ADDR_DECR、S_ADDR_INCR,S_DOUB_INDI,

IR8IR7IR6

IR_SREG_ADDR

000

R

SADDRREG

001

(R)

S.ADDR.INDI

010

-(R)

S.ADDRDECR

Oil

(R)+

S.ADDRINCR

100

@(R)+

SDOUBINDI

101

X(R)

S.ADDRVARI

110

SKP

S.ADDRSKP

111

S_ADDR_VARI、S_ADDR_SKP功能:

S_ADDR_REG

S.ADDRJNDIS_ADDR_DECRS.ADDRJNCRS_DOUB_INDIS_ADDR_VARI

S_ADDR_SKP

(4)目的寄存器号译码U_DREG_DECOD

IR5,IR4,IR3

D_R0,D_R1,D_R2,D_R3,D_SP,D_PSW,D_PC功能:

(5)g的寄存器寻址方式译码U_DADDR_DECOD

IR2,IR1,IRO

输出:

D_ADDR_REG,D_ADDR_INDI,D_ADDR_DECR,D_ADDR_INCR,

D_DOUB_INDI、D_ADDR_VARI,D_ADDR_SKP

功能:

IR2IR1IR0

IR_DREG_

ADDR

3/8译码器

・DADDRRFG

fD_ADDR_INDI

DADDRREG

IR2■

IR1►

►DADDRDECR

D.ADDR

INDI

TPA’•

fD_ADDR_INCR

JULxVk

fD_DOUB_INDI

FD_ADDR_VARI

DECR

fD_ADDR_SKP

INCR

DDOUBINDI

VARI

DADDRSKP

——

2、时序发生器

模块编号:

U_CLOCK_SYSTEM:

模型机的时序系统采取三级时序(工作周期,时钟周期,工作脉冲)

(1)工作周期

模型机设置六种工作周期状态,用六个周期状态触发器作为它们的标志。

某一时期内只有其中一个周期状态触发器为1,指明CPU现在所处的工作周期状态,为该阶段的工作提供时间标志与依据。

由于暂时不考虑中断与DMA,所以只设置四个工作周期。

1)取指周期FT

2)源周期ST

3)目的周期DT

4)执行周期ET

不同类型指令所需的工作周期可能不同。

在每一工作周期结束前,判断下一个周期状态是什么,并为此准备好进入该周期的条件,如发出电位信号1TST等,到本周期结束的时刻,实现周期状态的定时切换。

1TFT=FT_SET_1

l^FT-

DFTcQ

DSTcQ

►ST

CPFT.

WS1■

►FTCPST

1->

DT>

CPDT>

DDTcQ

ET►

kDTCPET.

DETcQ

►ET

(2)时钟周期(节拍)U_CLOCK_CIRCLE

以主存访问周期所需时间为时间周期的宽度。

一个工作周期包含若干节拍,根据不同指令的需要,节拍数可变。

设计一个时钟周期计数器T,从T=0开始进入一个计数循坏,表示进入新的工作周期。

如果本工作周期还需延长,则发T+1,计数器T将继续计数,开始新的节拍。

如果本工作周期应当结束,则发命令T=0。

计数器T的状态经译码产生节拍状态,如:

TO,Tl,T2...等,作为分步操作的时间标志。

EN

CPT

TI

1

上升沿

TI+1

X

00

EN(T十1).CPT(P~).

T.COUNTER

►TI

TO

Tl

T2

T3

01

10

11

ST

DT

.STOST~►

Tl~k

.STIST-►

T2—►

.ST3ST~►

T4―►

.ST4DT―►

TO-►

.DTIDT~►

T2~k

.DT2DT-►

T3~

.DT4ET~k

TO~►

.ET2ET―k

T3~k

.ETOET~►

Tl►

_►ET3FT—►

TO~

(3)工作脉冲U_CLOCK_PULSE

模型机在每个时钟周期的末尾发一个工作脉冲P,作为各种同步脉冲的来源。

工作脉冲

P的前沿作为打入寄存器的定时,标志一个数据通路操作的完成。

P的后沿作为周期切换的定时,在此时刻对时钟周期计数器T计数、打入新的工作周期状态。

分频器

CLK.

RST.

分频系数的选取F.CLK:

P的周期为访存所需时间。

PINVER

3、编码器

(1)输入选择器A的控制信号的编码U_CODE_SELA

RO_TO_A,R1_TO_A,R2_TO_A,R3_TO_A,C_TO_A,D_TO_A,PC_TO_A,

SPTOA;

输出:

SEL_A功能:

RO_TO_A

R1_TO_A

R2_TO_A

R3_TO_AC_TO_AD_TO_APC_TO_ASP_TO_A

编码器

>

A_^EL_A

RO_TO_

A

R1_TO

_A

R2_TO

R3_TO

C_TO_

D_TO_

PC_TO

SP_TO

SEL_A

(2)输入选择器E的控制信号的编码U_CODE_SELE

RO_TO_E,R1_TO_B,R2_TOJB,R3_TO_E,C_TO_E,D_TO_B,PSW_TO_E,

MBRTOB;

SEL_E

RO_TO_B・

R1_TO_B'

R2_TO_B"

R3_TO_B'

C_TO_B•D_TO_B"

PSW_TO_B'

\IBR_TO_B’

编码器

A_EL_B

 

功能:

B

E

_E

PSW_T

OE

MER_

TOE

►►►►►►►►►

ALU

.ALUCON6

A_ADD_B

A_SUE_B

A_COMB_COMA_ADD」ASUB」

AZNECT

(3)ALU的控制信号编码U_CODE_ALU_CON6输入:

A,B,A_ADD_E.A_SUBJB亠COM,E_COM,A_ADD_1,A_SUE_1,A_NEGA_AND_B,A_OR_E、A_EOR_E;

ALU_CON6

ALU_CON6=S3S2S1SO&

M&

CO

输入

功能

S3S2S1S0

M

co

ALUCON6

mi

111110

101010

AADDB

A加E

100100

ASUBB

A减E

0110(A加E~)

011001

ACOM

A卄

000010

ECOM

Bll:

-

010110

AADD1

A加1

111101

ASUB1

A减1

000000

ENEG

B补

110011

AANDE

A与E

1110

111010

A_OR_E

A或E

101100

AEORE

A异或E

100110

A_AND_B

A_OR_B

A_EOR_B

4.微操作信号发生器

(1)指令流程图(见附件1)

(2)指令操作时间表(见附件2)

(3)微命令信号的综合和化简(见附件3)

三、实验过程理解与描述

•经过整理的数据及表格

1、设计输入(用MODELSIM5.6仿真软件)原程序(见附件4)

2、模块的功能仿真(用MODELSIM5.6仿真软件)

(1)输入信号激励

设计仿真测试程序TESTBENCH(见附件5)

(2)启动仿真程序

(3)输出结呆(波形图):

被测试的指令IR_CODE二0000001001010010即MOV(R1),-(R2);

3、编译(用MAX+PLUS29.5)

目标器件为EPF10K10LC84-4

编译后产生一个SRAM目标文件(.sof)

4、时序仿真(用MAX+PLUS29.5)

(1)传播延迟分析

(2)时序逻辑电路性能分析

(3)建立和保持时间分析

5、器件编程(用MAX+PLUS29.5)

编程电缆是ByteBlaster;

编程文件是编译后产生一个SRAM目标文件

编程器件是EPF10K10LC84-4

•实验记录的分析、讨论与结论

从被测试的指令MOV(R1),-(R2)的仿真波形图可以看出,FTO,STO,STI,ST2,ETO,ET2几个时钟中所发的微命令都正确。

•实验小结

本次实验基本能满足预定要求,时序、逻辑功能正确,文档健全。

四、对指定问题的回答

•需要学生回答的问题

工作脉冲如何产生?

简述工作脉冲的作用。

答:

工作脉冲从系统时钟分频得到,分频系数由访存周期决定;

工作脉冲的前沿作为打入寄存器的定时,其后沿作为周期切换的定时,在此刻对时钟周期计数器T计数、打入新的工作周期状态。

•实验前对学生的特殊要求

深刻理解组合逻辑控制器结构功能,熟悉VHDL语言,能熟练运用相关开发工具。

五、对实验的评价和建议

本实验能让学生加深对组合逻辑控制器组织结构及功能的理解,以及学会如何在具体的应用环境中综合运用VHDL语言进行硬件描述及功能模拟,但所描述的对象结构简化无实际应用意义,建议增加实验的实际应用性。

六、实验附件有关程序libraiyIEEE;

useIEEE.STD_LOGIC_1164・ALL;

useIEEE.STDLOGICARITH.ALL;

useIEEE.STDLOGICUNSIGNED.ALL;

entitycpu_controlis

Port(

ir^code:

instd」ogic_vecto【(15downto0);

pulse:

instd_logic;

reset:

instdjogic;

-resetclockpulse

cppsw_p:

outstd_logic;

sela3:

outstd_logic_vector(2downto0);

selb3:

con_alu6:

outstd_logic_vector(5downto0);

sliift_reg2:

outstd_logic_vector(1downto0);

read_com:

outstdjogic;

write_com:

smbr:

sir:

emar:

cpmbr.p:

cpmai_p:

cprO_p:

cprl_p:

cpr2_p:

cpr3_p:

cpc_p:

cpd_p:

cppc_p:

cpsp_p:

iiit_en:

iiitr:

illstd_logic;

iiita:

psw_flag:

instd」ogic_vectoi:

(5downto0);

iiita_it3:

outstd_logic

);

endcpu_control;

architecturecpu^contioLarchofcpu^contiolis

componentopei_decoder

iil5_12:

instd_logic_vector(3downto0);

op_mov:

outstd_logic;

op_add:

outstdjogic;

op_sub:

op_and:

oP_or:

op_eor:

op_com:

op_neg:

op_inc:

op_dec:

op_sl:

op_sr:

opjnip_rst:

op_jsr:

op_sti:

op_cli:

outstdjogic);

endcomponent;

componentcode_sluft

Port(dm:

instd.logic;

shift_sl:

illstd」ogic;

shift_sr:

shift__reg2:

outstd」ogic_vecto【(ldownto0));

componentd_reg_decod

ii5_3:

iiistd」ogic_vecto】

(2downto0);

d_rO

:

d_d

d」2

d」3

d_sp

d_psw

outstd.logic;

d_pc

d_tmp

outstd_logic);

componentdaddr_decod

ii2_0.instd_logic_vector(2downto0);

d_addr_reg

d_addr_uidi

d_addr_decr

d_addr_mcr

d_doub_mdi

d_addr_vari

d_adch_skp

d_adch_tmp

outstdjogic);

components_reg_decod

instd」ogic_vectoi(2downto0);

s」0

outstd」ogic;

S_I1

s」2

s」3

s_sp

s_psw

s_pc

s_tmp

componentsaddr_decod

ii8_6:

mstd」ogic_vecto】

s_addi_regs_addi_indis_addi_decrs_addi_incrs_doub_mdi

:

s_addi_vari:

s_addi_skp:

s_addi_tmp:

outstd」ogic);

componentcode_selb

rO_to_b:

i

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

当前位置:首页 > 解决方案 > 学习计划

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

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