计算机组成原理指令存储器,《计算机组成原理》实验报告——指令存储、数据存储器...
资料简介
南通大学信息科学技术学院
《计算机组成实验》
实验报告
实验名称 存储器的设计与实现
班级 物联网工程 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)实验电路原理及信号说明
本实验的数据存储器,直接使用通用代码实现。由于需要支持取数/存数指令,所以要在指令储
存器的基础上增加写入数据的数据写入端口,写使能信号(... 查看更多
计算机组成原理指令存储器,《计算机组成原理》实验报告——指令存储、数据存储器...相关推荐
- 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc
<计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...
- 计算机组成原理课程设计总结,计算机组成原理课程设计的实验报告
计算机组成原理课程设计的实验报告 长治学院课程设计报告课程名称: 计算机组成原理课程设计 设计题目: 设计一台性能简单的计算机 系 别: 计算机系 专 业: 计科1101班 组 别: 第三组 学生姓名 ...
- 计算机组成原理三位计数器实验,计算机组成原理位二进制计数器实验报告.doc...
计算机组成原理位二进制计数器实验报告 计算机组成原理实验一 4位二进制计数器实验 姓名:李云弟 学号:1205110115 网工1201 [实验环境] 1. Windows 2000 或 Window ...
- 计算机组成原理上机实验报告.doc,计算机组成原理第二次上机实验报告.doc
<计算机组成原理第二次上机实验报告.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<计算机组成原理第二次上机实验报告.doc>文档请在天天文库搜索 ...
- 电大工商管理计算机考试,东方电大工商管理专科计算机期末复习应用基础实验报告...
<东方电大工商管理专科计算机期末复习应用基础实验报告>由会员分享,可在线阅读,更多相关<东方电大工商管理专科计算机期末复习应用基础实验报告(7页珍藏版)>请在人人文库网上搜索. ...
- 计算机学院算法实验报告,四川大学计算机学院数据结构与算法分析实验报告
四川大学计算机学院数据结构与算法分析实验报告 (61页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 21.9 积分 <数据结构与算法>课程设计 ...
- 计算机基础和综合实验,计算机基础与综合编程实验报告.doc
计算机基础与综合编程实验报告 学号 <计算机基础与综合编程实验>报告 学 院计算机科学与技术学院专 业计算机类班 级姓 名指导教师 日期 1 实验目的 通过迭代式开发,深入掌握C语言的文件 ...
- 计算机辅助设计与制造上机实验报告,计算机辅助设计与制造上机实验报告.doc...
计算机辅助设计与制造上机实验报告 <计算机辅助设计与制造> 上机实验报告 学 生: 学 号: 课程教师: 专业班级: 机械工程学院 实践目的 熟悉三维建模: 了解CAD/CAM及数控加工的 ...
- 计算机辅助设计与制造实训,最新计算机辅助设计与制造上机实验报告.doc
最新计算机辅助设计与制造上机实验报告 <计算机辅助设计与制造> 上机实验报告 学 生: 学 号: 课程教师: 专业班级: 机械工程学院 实践目的 熟悉三维建模: 了解CAD/CAM及数控加 ...
- 计算机算法设计与分析 动态规划 实验报告,动态规划法解最长公共子序列(计算机算法设计与分析实验报告).doc...
动态规划法解最长公共子序列(计算机算法设计与分析实验报告) 实报 告 实验名称:任课教师::姓 名:完成日期:二.主要实验内容及要求: 要求按动态规划法原理求解问题: 要求交互输入两个序列数据: 要求 ...
最新文章
- GIA张怡:关于小白入门AI算法工程师的直播分享
- js如何使浏览器允许脚本异步加载
- Ubuntu下hadoop的安装与简单应用
- LOJ#6044. 「雅礼集训 2017 Day8」共(Prufer序列)
- 【STM32】RTC相关函数和类型
- SATA盘与SAS盘的区别
- 协议簇:TCP 解析: 连接断开
- 十万亿级OLAP引擎解读-AnalyticDB如何支撑数据银行超大规模低成本实时分析
- c语言程序设计案例教程肖利群,C语言程序设计案例教程
- python 3中 的subprocess
- 《成为顶级JAVA架构师的必备书籍》
- phpcount数组报错_joomla中的PHP错误警告:count():参数必须是实现Countable的数组或对象-问答-阿里云开发者社区-阿里云...
- python 基础知识复习巩固
- Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’. Conflict with dependency ‘com.andr
- kindle可以上网但是无法下载_两年深度使用经验告诉你:Kindle 这样用,绝对不吃灰...
- python调用cmd执行命令_python怎么运行cmd命令
- 换一种姿势阅读《人工智能简史》
- android键盘管理,用鼠标键盘控制你的Android手机完整图文教程
- GM、VP、FVP、CIO都是什么职位?
- C语言如何实现辗转相除法
热门文章
- 两位8421BCD码加法器的设计与实现
- 联想电脑尺寸在哪里看_联想电脑型号怎么查看【详细介绍】
- python中graphviz画决策树
- luci编程 openwrt_【玩转开源】BananaPi R2 —— 第四篇 Openwrt Luci 初探
- 想晋升Android架构师——学习这些核心技术够用吗?
- 59.bouncing results
- API接口怎么使用(教你使用api接口获取数据)
- bootstrap table合并单元格
- zblog php 调用缩略图,zblog调用文章缩略图的方法
- 初学原生ajax(1):原生AJAX的简单介绍与使用