1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 计算机组成原理指令存储器 《计算机组成原理》实验报告——指令存储 数据存储器...

计算机组成原理指令存储器 《计算机组成原理》实验报告——指令存储 数据存储器...

时间:2019-08-05 11:18:01

相关推荐

计算机组成原理指令存储器 《计算机组成原理》实验报告——指令存储 数据存储器...

资料简介

南通大学信息科学技术学院

《计算机组成实验》

实验报告

实验名称 存储器的设计与实现

班级 物联网工程 192

学生姓名 谢焘 学号 1930110689

指导教师 成耀

日 期 年 6 月 9 日

实验 存储器的设计与实现

一、实验目的

1.熟悉 Vivado 软件的使用方法。

2.熟悉存储器的功能。

3.掌握自顶而下的硬件模块设计方法。

4.掌握电路仿真测试方法,掌握仿真激励文件的编写,掌握仿真输出的分析方法。

二、实验任务

1.利用 Verilog HDL 设计一个容量是 128B,字长是 32 位的 ROM,完成仿真测试。该 RAM 应满足

以下要求:

① 地址线:单向,用于传送地址,以便按地址访问存储单元。

② 数据线:单,用于将数据从存储矩阵读出。

2. 利用 Verilog HDL 设计一个容量是 128B,字长是 32 位的 RAM,完成仿真测试。该 RAM 应满足

以下要求:

① 地址线:单向,用于传送地址,以便按地址访问存储单元。

② 数据线:有两组单向的数据线,一组用于将数据存入存储矩阵,另一组用于从存储矩阵读出数

③ 读/写控制线:单向,分时发送读或写命令,要求保证读时不写,写时不读。

三、设计步骤

1.指令存储器 ROM

(1)实验电路原理及信号说明

指令存储器的逻辑结构如图所示:

信号名 功能 位宽 类型

Addr 指令地址 32 输入

Inst 指令内容 32 输出

具体设计如下:

依据当前 pc,读取指令寄存器中相对应地址的指令。将 pc 的输入作为敏感变量,当 pc 发生

改变的时候,则进行指令的读取,根据相关的地址,输出指令寄存器中相对应的指令。本实验的

容量为 32 条,需要由 5 位有效地址译出 ,又由于指令为 32 位,每次地址需要+4,所以从第 3 位

开始读 5 位。

Addr[31:0] Inst[31:0]

InstMem

ROM

(2)实验电路设计

module INSTMEM(Addr,Inst);//指令存储器

input[31:0]Addr;

output[31:0]Inst;

wire[31:0]Rom[31:0];

assign Rom[5'h00]=32'h20010008;//addi $1,$0,8 $1=8

assign Rom[5'h01]=32'h3402000C;//ori $2,$0,12 $2=12

assign Rom[5'h02]=32'h00221820;//add $3,$1,$2 $3=20

assign Rom[5'h03]=32'h0041;//sub $4,$2,$1 $4=4

assign Rom[5'h04]=32'h00222824;//and $5,$1,$2 $5=8

assign Rom[5'h05]=32'h00223025;//or $6,$1,$2 $6=12

assign Rom[5'h06]=32'hAD02000A;//sw $2 10($8) memory[$8+10]=10

assign Rom[5'h07]=32'h00221826;//xor $3,$1,$2

assign Rom[5'h08]=32'h30470009;//andi $7,$2,9

assign Rom[5'h09]=32'h382300EF;//xori $3,$1,0xef

assign Rom[5'h0A]=32'hXXXXXXXX;//以下留空,暂未设计存储指令

assign Rom[5'h0B]=32'hXXXXXXXX;

assign Rom[5'h0C]=32'hXXXXXXXX;

assign Rom[5'h0D]=32'hXXXXXXXX;

assign Rom[5'h0E]=32'hXXXXXXXX;

assign Rom[5'h0F]=32'hXXXXXXXX;

assign Rom[5'h10]=32'hXXXXXXXX;

assign Rom[5'h11]=32'hXXXXXXXX;

assign Rom[5'h12]=32'hXXXXXXXX;

assign Rom[5'h13]=32'hXXXXXXXX;

assign Rom[5'h14]=32'hXXXXXXXX;

assign Rom[5'h15]=32'hXXXXXXXX;

assign Rom[5'h16]=32'hXXXXXXXX;

assign Rom[5'h17]=32'hXXXXXXXX;

assign Rom[5'h18]=32'hXXXXXXXX;

assign Rom[5'h19]=32'hXXXXXXXX;

assign Rom[5'h1A]=32'hXXXXXXXX;

assign Rom[5'h1C]=32'hXXXXXXXX;

assign Rom[5'h1D]=32'hXXXXXXXX;

assign Rom[5'h1E]=32'hXXXXXXXX;

assign Rom[5'h1F]=32'hXXXXXXXX;

assign Inst=Rom[Addr[6:2]];

RTL 视图如下:

2.数据存储器 RAM

(1)实验电路原理及信号说明

本实验的数据存储器,直接使用通用代码实现。由于需要支持取数/存数指令,所以要在指令储

存器的基础上增加写入数据的数据写入端口,写使能信号(... 查看更多

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。