杭电计算机组成原理寄存器堆设计实验-4.doc_第1页
杭电计算机组成原理寄存器堆设计实验-4.doc_第2页
杭电计算机组成原理寄存器堆设计实验-4.doc_第3页
杭电计算机组成原理寄存器堆设计实验-4.doc_第4页
杭电计算机组成原理寄存器堆设计实验-4.doc_第5页
全文预览已结束

下载本文档

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

文档简介

杭州电子科技大学计算机学院实验报告课程名称:计算机组成原理 实验项目:寄存器堆设计实验 指导教师 实验位置: 姓 班 级: 学 号: 日 期:2015年5月7日 实验目的(1) 学习和使用Verlilog HDL 进行和思绪电路的设计方法(2) 掌握灵活的运用Verilog HDL 进行各种描述与建模的技巧和方法(3) 学习寄存器堆的数据传送与读写工作原理,掌握寄存器读一的设计方法实验环境ISE Design Suite 14.6Digilent Adept Nexys3实验板实验内容(算法、程序、步骤和方法)根据实验原理设计32个32位的寄存器堆,有俩个读端口,1个写端口,既能同时读出两个寄存器的值,写入一个寄存器,设计寄存器只需要定义一个reg类型的数组即可完成,利用数组下标操作,寄存器即可,同时也有Rest 和CLk 信号控制我们的操作的进行。8位的LED进行显示我们读出的数据的一部分!1. 实验的顶层模块:module Test_Rgisterfile(Addr,Write_Reg,C1,C2,Clk,Reset,LED);input 4:0Addr;input 1:0C1;input Write_Reg,C2,Clk,Reset;output reg 7:0LED;wire 31:0R_Data_A,R_Data_B;reg 31:0W_Data;reg 4:0A,B;Registerfile reg1(A,B,Addr,Write_Reg,W_Data,Clk,Reset,R_Data_A,R_Data_B); always(Addr or Write_Reg or C1 or C2 or R_Data_A or R_Data_B)begin A=0; B=0; LED=0; W_Data=0; if(!Write_Reg) begin if(!C2) begin A=Addr; case(C1) 2b00:LED=R_Data_A7:0; 2b01:LED=R_Data_A15:8; 2b10:LED=R_Data_A23:16; 2b11:LED=R_Data_A31:24; endcase end else begin B=Addr;case(C1) 2b00:LED=R_Data_B7:0; 2b01:LED=R_Data_B15:8; 2b10:LED=R_Data_B23:16; 2b11:LED=R_Data_B31:24;endcase end end else begin case(C1) 2b00:W_Data=32h0000_0003; 2b01:W_Data=32h0000_0607; 2b10:W_Data=32hFFFF_FFFF; 2b11:W_Data=32h1111_1234; endcase end end endmodule2. 寄存器的操作模块:module Registerfile(input 4:0R_Addr_A, input 4:0R_Addr_B, input 4:0W_Addr, input Write_Reg, input 31:0W_Data, input Clk, input Reset, output 31:0R_Data_A, output 31:0R_Data_B );reg 31:0REG_Files0:31;reg 5:0i;initialbegin for(i=0;i=31;i=i+1)REG_Filesi=0;endassign R_Data_A=REG_FilesR_Addr_A; assign R_Data_B=REG_FilesR_Addr_B;always(posedge Clk or posedge Reset)begin if(Reset) for(i=0;i=31;i=i+1)REG_Filesi=0; else if(Write_Reg & W_Addr!=0) REG_FilesW_Addr=W_Data;endendmodule(接上)实验内容(算法、程序、步骤和方法)3. 管脚配置NET Addr0 LOC = M8;NET Addr1 LOC = N8;NET Addr2 LOC = U8;NET Addr3 LOC = V8;NET Addr4 LOC = T5;NET C10 LOC = T10;NET C11 LOC = T9;NET C2 LOC = B8;NET Clk LOC = C9;NET LED0 LOC = U16;NET LED1 LOC = V16;NET LED2 LOC = U15;NET LED3 LOC = V15;NET LED4 LOC = M11;NET LED5 LOC = N11;NET LED6 LOC = R11;NET LED7 LOC = T11;NET Reset LOC = D9;NET Write_Reg LOC = V9;数据记录和计算实验仿真波形:结论(结果)按照实验的要求,一步步的进行操作。能够正确的进行Wire_Reg写操作,进行读操作时LED灯的显示,利用选择A,B操作读出信号,已经Reset进行清零信号的操作,都能顺利的进行,本实验多次失败,收获不小。试验心得与小结本实验,让我更加清楚的认识到寄存器如何进行操作,实验

温馨提示

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

评论

0/150

提交评论