资料简介

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

《计算机组成实验》

实验报告

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

班级 物联网工程 192

学生姓名 谢焘 学号 1930110689

指导教师 成耀

日 期 2021 年 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'h00412022;//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)实验电路原理及信号说明

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

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

计算机组成原理指令存储器,《计算机组成原理》实验报告——指令存储、数据存储器...相关推荐

  1. 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc

    <计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...

  2. 计算机组成原理课程设计总结,计算机组成原理课程设计的实验报告

    计算机组成原理课程设计的实验报告 长治学院课程设计报告课程名称: 计算机组成原理课程设计 设计题目: 设计一台性能简单的计算机 系 别: 计算机系 专 业: 计科1101班 组 别: 第三组 学生姓名 ...

  3. 计算机组成原理三位计数器实验,计算机组成原理位二进制计数器实验报告.doc...

    计算机组成原理位二进制计数器实验报告 计算机组成原理实验一 4位二进制计数器实验 姓名:李云弟 学号:1205110115 网工1201 [实验环境] 1. Windows 2000 或 Window ...

  4. 计算机组成原理上机实验报告.doc,计算机组成原理第二次上机实验报告.doc

    <计算机组成原理第二次上机实验报告.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<计算机组成原理第二次上机实验报告.doc>文档请在天天文库搜索 ...

  5. 电大工商管理计算机考试,东方电大工商管理专科计算机期末复习应用基础实验报告...

    <东方电大工商管理专科计算机期末复习应用基础实验报告>由会员分享,可在线阅读,更多相关<东方电大工商管理专科计算机期末复习应用基础实验报告(7页珍藏版)>请在人人文库网上搜索. ...

  6. 计算机学院算法实验报告,四川大学计算机学院数据结构与算法分析实验报告

    四川大学计算机学院数据结构与算法分析实验报告 (61页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 21.9 积分 <数据结构与算法>课程设计 ...

  7. 计算机基础和综合实验,计算机基础与综合编程实验报告.doc

    计算机基础与综合编程实验报告 学号 <计算机基础与综合编程实验>报告 学 院计算机科学与技术学院专 业计算机类班 级姓 名指导教师 日期 1 实验目的 通过迭代式开发,深入掌握C语言的文件 ...

  8. 计算机辅助设计与制造上机实验报告,计算机辅助设计与制造上机实验报告.doc...

    计算机辅助设计与制造上机实验报告 <计算机辅助设计与制造> 上机实验报告 学 生: 学 号: 课程教师: 专业班级: 机械工程学院 实践目的 熟悉三维建模: 了解CAD/CAM及数控加工的 ...

  9. 计算机辅助设计与制造实训,最新计算机辅助设计与制造上机实验报告.doc

    最新计算机辅助设计与制造上机实验报告 <计算机辅助设计与制造> 上机实验报告 学 生: 学 号: 课程教师: 专业班级: 机械工程学院 实践目的 熟悉三维建模: 了解CAD/CAM及数控加 ...

  10. 计算机算法设计与分析 动态规划 实验报告,动态规划法解最长公共子序列(计算机算法设计与分析实验报告).doc...

    动态规划法解最长公共子序列(计算机算法设计与分析实验报告) 实报 告 实验名称:任课教师::姓 名:完成日期:二.主要实验内容及要求: 要求按动态规划法原理求解问题: 要求交互输入两个序列数据: 要求 ...

最新文章

  1. GIA张怡:关于小白入门AI算法工程师的直播分享
  2. js如何使浏览器允许脚本异步加载
  3. Ubuntu下hadoop的安装与简单应用
  4. LOJ#6044. 「雅礼集训 2017 Day8」共(Prufer序列)
  5. 【STM32】RTC相关函数和类型
  6. SATA盘与SAS盘的区别
  7. 协议簇:TCP 解析: 连接断开
  8. 十万亿级OLAP引擎解读-AnalyticDB如何支撑数据银行超大规模低成本实时分析
  9. c语言程序设计案例教程肖利群,C语言程序设计案例教程
  10. python 3中 的subprocess
  11. 《成为顶级JAVA架构师的必备书籍》
  12. phpcount数组报错_joomla中的PHP错误警告:count():参数必须是实现Countable的数组或对象-问答-阿里云开发者社区-阿里云...
  13. python 基础知识复习巩固
  14. Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’. Conflict with dependency ‘com.andr
  15. kindle可以上网但是无法下载_两年深度使用经验告诉你:Kindle 这样用,绝对不吃灰...
  16. python调用cmd执行命令_python怎么运行cmd命令
  17. 换一种姿势阅读《人工智能简史》
  18. android键盘管理,用鼠标键盘控制你的Android手机完整图文教程
  19. GM、VP、FVP、CIO都是什么职位?
  20. C语言如何实现辗转相除法

热门文章

  1. 两位8421BCD码加法器的设计与实现
  2. 联想电脑尺寸在哪里看_联想电脑型号怎么查看【详细介绍】
  3. python中graphviz画决策树
  4. luci编程 openwrt_【玩转开源】BananaPi R2 —— 第四篇 Openwrt Luci 初探
  5. 想晋升Android架构师——学习这些核心技术够用吗?
  6. 59.bouncing results
  7. API接口怎么使用(教你使用api接口获取数据)
  8. bootstrap table合并单元格
  9. zblog php 调用缩略图,zblog调用文章缩略图的方法
  10. 初学原生ajax(1):原生AJAX的简单介绍与使用