北邮计算机原理实验-存储器.docx

上传人:scccc 文档编号:13835896 上传时间:2022-01-24 格式:DOCX 页数:16 大小:528.75KB
返回 下载 相关 举报
北邮计算机原理实验-存储器.docx_第1页
第1页 / 共16页
北邮计算机原理实验-存储器.docx_第2页
第2页 / 共16页
北邮计算机原理实验-存储器.docx_第3页
第3页 / 共16页
北邮计算机原理实验-存储器.docx_第4页
第4页 / 共16页
北邮计算机原理实验-存储器.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《北邮计算机原理实验-存储器.docx》由会员分享,可在线阅读,更多相关《北邮计算机原理实验-存储器.docx(16页珍藏版)》请在三一文库上搜索。

1、计算机原理与应用实验实验名称:存储器实验信息与通信工程学院- 2017211113.陈艺文2017210374同组成员姓名:李凝同组成员学号:2017210371一、实验目的1 .熟练掌握GPIO输入输出操作2 .掌握存储器原理及应用。3 .学会根据时序图编写程序。、实验原理及内容一)实验原理1 .双端口存储器简介双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,进行并行的独立操作,是一种高速工作的存储2 .双端口存储器clock:系统时钟50Mhz,用于提供RAM读写数据;wraddress:写数据地址,将数据写入该地址的RAM存储区内; data:写入的数据07 ;wren:写使

2、能高电平有效;rdadress:读数据地址,将内存中的数据从RAM存储区读出;(二)实验内容1 .基础部分(必做实验)1)基于FPGA设计存储器;2) C编语言编程实现ARM对FPGA设计的存储器进行读写测试,并送指示灯显示数据;2.提高部分(选做实验)1)基于FPGA设计双存储器M1、M2 ;2) C编语言编程实现ARM对M1、M2储器读写操作,并从M1、M2某个地址单元中读取 数据,将读取的数据进行运算,并将运算结果送到M1某个地址单元保存,再将结果读出送指示灯显示;三、硬件接线图与软件程序流程图(一)、硬件接线图二)软件程序流程图开始内存地址线写入数据线写入从内存获取数据LED显示写入数

3、据LED显示读取数据While四、源程序一)C语言程序#include Mstm32f4xx.hM#include delay.h”1mm功能:LED端口初始化参数:无返回值:无#define KEY_READ()GPIO_ReadlnputDataBit(GPIOC, GPI0_Pin_8)/上按键检测#define KEY_WRITE()GPIO_ReadlnputDataBittGPIOC, GPIO_Pin_11)下按键检测#define CLK(val)GPIO_WriteBit(GPIOF, GPIO_Pin_6, (BitAction)val)/ FPGA时钟信号#define

4、WREN(val)GPIO_WriteBit(GPIOF, GPIO_Pin_7, (BitAction)val)/ FPGA读写信号1mm功能:LED灯读写数据显示参数:无返回值:无*7void Ledjnit(void)GPIOJnitTypeDef GPIOJnitStructure;开启GPIOB的时钟RCC_AHB1 PeriphClockCmd(RCC_AHB1 Periph_GPIOB, ENABLE);GPIO InitStructure.GPIO Pin = GPIO Pin 0 | GPIO Pin 1 | GPIO Pin 2 | GPIO Pin 3| GPIO Pin

5、 4 | GPIO Pin 5 | GPIO Pin 6 | GPIO Pin 7;输出模式推挽输出速度50MHzGPIO InitStructure.GPIO Mode = GPIO Mode OUT;GPIOJnitStructure.GPIO_OType = GPIO_OType_PP;GPIOJnitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_lnit(GPIOB, &GPIO_lnitStructure);GPIO_Write(GPIOB, 0x0000);功能:拨码开关端口初始化参数:无返回值:无void Swjnit(void) (G

6、PIOJnitTypeDef GPIOJnitStructure;RCC_AHB1 PeriphClockCmd(RCC_AHBl Periph_GPIOC, ENABLE); 开启 GPIOC 的时钟GPIO InitStructure.GPIO Pin = GPIO Pin 0 | GPIO Pin 1 | GPIO Pin 2 | GPIO Pin 3| GPIO Pin 4 I GPIO Pin 5 I GPIO Pin 6 I GPIO Pin 7 I GPIO Pin 8 | GPIO Pin 11;GPIO_lnitStructure.GPIO_Mode = GPIO_Mode_

7、IN;输入模式GPIO_lnitStructure.GPIO_PuPd = GPIO_PuPd_UP;/ 上拉GPIO_lnit(GPIOC, &GPIO_lnitStructure);(二)Verilog 语言程序(Quartus 中)module double_ram(clock,data,rdaddress,wraddress,wren,q);input clock;input 3:0data;input 2:0rdaddress;input 2:0wraddress;input wren;output 3:0q;wire 3:0n_rdaddress = VbO/daddress;wi

8、re 3:0n_wraddress = VbO,wraddress;ram2 ram2 (.clock(clock),.data(data),.rdaddress(n_rdaddress),.wraddress(n_wraddress)5.wren(wren), .q(q);endmodule五、实验结果实现了数据的对指定地址的写入、读取操作。拨码开关的前三位为地址,后四位为数据。通过4位LED灯的亮灭表示该地址对应的数据。1)写操作:过程:按下“写”开关,在该地址写入此时拨码开关47的数据“0101,”并存储在该地址,灯显示写LED 入的数据“ 01012)读操作读出此地址数据按下读开关过程

9、:将4个数据置位,地址开关(拨码开关02位)拨到之前写入地址,按下“读”开关,此时LED灯显示该地址存储的数据“ 0101六、实验总结(出现的问题和解决方法)实验过程中出现的问题:Quartus的烧录不稳定第一次操作时,仅仅将Keil和Quartus的代码烧录一次(先Quartus后Keil ),但是实际有效果的只是 Keil的代码,所以展现的效果中时钟出现了问题,无法实现数据的存储和读取。(按下read直接全亮)解 决办法:先烧录Keil代码,再烧录Quartus,先检验试验结果,若出现上述情况,接着把Quartus代码烧 录,以实现目的效果。七、实验收获与心得体会通过这次实验,我不仅将之前数电中的FPGA知识得到了应用,加之本学期学习的ARM编程,两者融会贯通,更加促进了知识的理解和吸收,加深了我对计算机原理实验开发板的认识,将理论付诸实践,提 升了动手能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1