基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx

上传人:夏** 文档编号:559511103 上传时间:2023-05-18 格式:DOCX 页数:12 大小:235.99KB
返回 下载 相关 举报
基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx_第1页
第1页 / 共12页
基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx_第2页
第2页 / 共12页
基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx_第3页
第3页 / 共12页
基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx_第4页
第4页 / 共12页
基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计.docx(12页珍藏版)》请在金锄头文库上搜索。

1、EDA实验实验报告EDA实验报告基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计指导教师: 学号姓名: 实验小组成员: 一、实验目的及程序设计性能要求:如右图所示,为62256芯片关键图,管脚功能介绍如下:A0 A14地址总线(Address) D0 /D7输入/输出口(Input/output) CS端口选择(Chip select) WE输入始能(Write enable) OE输出始能(Output enable) VCC电源始能(Power supply) VSS接地(Ground)性能要求:进行芯片进行工作室,CS,OE端口应置低电平。进行

2、写操作时,WE端口信号应为负脉冲,进行读操作时WE端口应置高电平。所需设计的控制校验功能如下:正确输出62256芯片所需的使能端信号。在进行校验工作时,正确的控制读写控制端口WE的电平状态,并顺利输入与输出地址信号及数据信号,并进行实时校验。校验的具体要求是,共分为两步:第一,向62256芯片中输入地址与数据信号,其中奇数地址输入55,偶数地址输入AA。直到向所有内存(32KB)中写入数据后,进行读操作。此时将读入的数据与芯片内实时运算的,内存中应该有的数值进行比较,若值相同则输出为1,否则输出为0。第二步基本与第一步相同,只需改变奇地址输入为AA,偶地址输入为55。二、程序设计部分1.设计方

3、案框图:数据时钟信号校验结果控制地址SRAM62256存储器校验电路复位控制2.程序状态转移图:Addr=2fh/DoutAddr2fhAddr2fh3.程序流程图:初始化检验步数Quan=0YNNNwr 负脉冲addr=addr+1奇地址data_reg=55偶地址data_reg=AAwr=1addr=addr+1奇地址data_reg=55偶地址data_reg2fhaddr2fhdata=data_reg验证正确dout=1验证错误dout=0结束YYYNNNwr 负脉冲addr=addr+1奇地址data_reg=AA偶地址data_reg=55wr=1addr=addr+1奇地址d

4、ata_reg=AA偶地址data_reg2fhaddr2fhdata=data_reg验证正确dout=1验证错误dout=0结束YYYN4Verilog HDL程序源代码:module wyw(clk, addr , wr, ce, oe, data, dout,areset,data_reg, realaddr);inout7:0 data;input areset;input clk;outputwr,oe,ce;output14:0 addr;output dout;output 7:0 data_reg;reg14:0addr;output14:0 realaddr;reg14:0

5、realaddr;wire7:0 data;wirece=0;wire oe=0;reg wr;reg dout;parameter Idle=3h0, Write_begin=3h1, Write_end =3h2, Read_begin =3h3, Read_end =3h4;reg qiuyu;reg quan;reg2:0 STATE;reg7:0 data_reg;/程序输入输出端口及状态定义assign data=wr?data_reg:8hzz;/定义双向数据端口data的值always (posedge areset or posedge clk )/时钟上升沿激励及异步复位b

6、eginif (areset) /异步复位设置begin wr=1b0;data_reg=8h00;addr=15b0;dout=1b0;STATE=Idle;end elsebegin case(STATE)/非复位情况下程序运行,状态判断Idle: /第一状态Idle的定义begin wr=1; addr=15b0; realaddr=15b0; data_reg=8h00; STATE=Write_begin; dout=1b0; qiuyu=1b0; quan=quan;/校验步数设定,1,2循环 end Write_begin:/第二状态Write_begin的定义 begin ad

7、dr=addr+15h1; /地址自加一realaddr=addr-15h1; /由于波形显示时直接显示地址自加一结果,因此加入一个真实地址的显示 wr=wr;/We输出负脉冲的设定if (quan)/校验步数判断,并输入不同数据beginqiuyu=addr%2;/奇偶地址判断,并存入不同数据if(qiuyu)begindata_reg=8h55;endelse begindata_reg=8h0AA; end STATE=Write_end;endelsebeginqiuyu=addr%2;if(qiuyu)begindata_reg=8h0AA;endelse begindata_reg

8、=8h55; end STATE=Write_end; end endWrite_end: /第三状态Write_end定义 begin wr=wr; /We输出负脉冲的设定 if(addr=15h02f)/内存地址满后转入读校验 begin STATE=Read_begin; addr=15h0;qiuyu=1b0;end elseSTATE=Write_begin; /内存地址未满时继续写数据end Read_begin: /第三状态Read_begin定义begin/与写入时同理,校验器内部data_reg寄存器产生正确的地址数据 addr=addr+15h1; realaddr=add

9、r-15h1; wr=0;if (quan)beginqiuyu=addr%2; if(qiuyu) begin data_reg=8h55; STATE=Read_end; end else begin data_reg=8h0AA; STATE=Read_end; endendelsebeginqiuyu=addr%2; if(qiuyu)begindata_reg=8h0AA;STATE=Read_end;end else begin data_reg=8h55; STATE=Read_end; endend end Read_end : /第五状态Read_end定义beginif(addr=15h02f)/校验完毕后转入第一状态执行下一步读写校验 beginSTATE=Idle; addr=15h0;end elsebeginif(data=data_reg) /从内存中读入数据,与寄存器内此地址的正确数据进行比较begindout=1b1;/比较相同,结果输出1 STATE=Read_begin; end elsebegindout=1b0;/比较不同,结果输出0 STATE=Read_begin;endend end default: STATE=Idle; endc

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号