杭电计组实验四_第1页
杭电计组实验四_第2页
杭电计组实验四_第3页
杭电计组实验四_第4页
杭电计组实验四_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

实验报告

2016年4月22日成绩:

姓名学号班级

专业信息安全课程名称《计算机组成原理课程设计》

任课老师曾虹指导老师曾虹机位号

实验序号实验名称寄存器堆

2016、4、

实验时间实验地点1教南实验设备号

22

一、实验程序源代码

moduleReg(LED,RW_SW,AB,Reg_Addr_A,Reg_Addr_B,Write_Reg,clk,rst);

input[4:0]Reg_Addr_A,Reg_Addr_B;

inputWrite_Reg;

input":。]RW_SW;

inputelk;

inputrst;

output[7:0]LED;

inputAB;

reg[31:0]REG_];

regf7:01LED:

wire[31:0]W_DalaI=32'hOOOOOOO1;

wire[31:0)W_Data2=32'hOOOOOOOA;

wire[31:01W_Da(a3=32'h00000006;

wire[31:0JW_Data4=32h()(X)OOOO3;

wire[31:0]A=REG」;

wire[3l:0]B=REGJ;

integeri;

always(posedgeelkorpo^edgerst)

begin

if(AB)

case(RW_SW)

2'bOO:LED=A[7:0];

2'b01:LED=A[15:8];

2'blO:LED=A[23:l6];

2'hll:LED=A[31:24];

default:LED=A[7:0];

endcase

else

case(RW_SW)

2'bOO:LED=B[7:0J;

2'b01:LED=B[15:8];

2'blO:LED=B[23:16];

2'bll:LED=B[31:24];

default:LED=B[7:0];

endcase

if(rst)

for(i=0;i<32;i=i+1)REG_File[i]=0;

else

begin

if(Wrile_Reg)

begin

if(AB)

case(RW_SW)

2'bOO:REG_]=W_Datal;

2'bOI:REG」=W_Data2;

2'bl0:REG_]=W_Data3;

2'bll:REG_l=W_Data4;

cndcasc

else

case(RW_SW)

2b00:REG_]=W_Daial;

2'b01:REG_]=W_Data2;

2'bl0:REG_]=W_Data3;

2'bll:REG_l=W_Data4;

endcase

end

end

end

endmodule

二、仿真波形

三、电路图

Reg

V1

Reg_AddrA(4:0)LED(7:0)

ReqAddrB(40)

RWSW(1:0)

••

.e:::

AB_

dk

rst

WriteReg

k______▲

Reg

四、引脚配置(约束文件)

NET"AddHl"LOC="T5";

NET"Add[3]"LOC="V8";

NET“Add⑵"LOC="U8";

NET"AddllfLOC="NS";

NET"AddfO]"LOC="M8";

NET"WR"LOC="V9,';

NET"C[1]"LOC="T9";

NET"C[0|"LOC="TIOH;

NET"elk"LOC="C9";

NET"RS"LOC="D9”;

NET"AB'1LOC="A8":

NET"LEDR]"LOC="TH";

NET"LED16]"LOC="R11";

NETnLED[5]"LOC=',Nir,;

NET”LED[4/LOC=

NET”LED[3/LOC="V15”;

NET”LED[2]"LOC="U15”;

NET”LED[1「LOC="V16";

NETTEDfO]"LOC="UI6";

五、思考与探索

寄存器地址写入数据读出数据

$000000000_(X)000000_0(X)0

S000010000_00030000_0003

$0(X)117FFF_FFFF7FFF_FFFF

$001117FFF_FFFF7FFF_FFFF

$011110000_(X)(X)0000_00()0

$111110000_(X)030000_0(X)3

$100007FFF_FFFF7FFF_FFFF

$11(X)07FFF_FFFF7FFF_FFFF

修改后得寄存器模块:

'limescale1ns/1ps

Moudle

Register(R_Addr_A,R_Addr_B,R_Dala_A.R_Da(a_B,W_Addr,W_Daca,Write_Reg,Clk,Reset);

input[4:0JR_Addr_A;

input[4:01R_Addr_B;

input[4:0JW_Addr;

input[31:0]W_Data;

inputWrile_Reg;

inputClk;

inputReset;

output[31:0]R_Dala_A;

output[31:0]R_Data_B;

integeri;

reg[31:0]REG_Files[31:0];//定义寄存器

assignR_Data_A=REG_Fi1cs[R_Addr_A];

assignR_Data_B=REG_FilesfR_Addr_B];

always(posedgeClkorposedgeReset)

begin

if(Reset)〃清零

begin

for(

温馨提示

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

评论

0/150

提交评论