基于FPGA技术实现62256Sram芯片的读写控制及校验器的QuartusII程序设计_第1页
基于FPGA技术实现62256Sram芯片的读写控制及校验器的QuartusII程序设计_第2页
基于FPGA技术实现62256Sram芯片的读写控制及校验器的QuartusII程序设计_第3页
基于FPGA技术实现62256Sram芯片的读写控制及校验器的QuartusII程序设计_第4页
基于FPGA技术实现62256Sram芯片的读写控制及校验器的QuartusII程序设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA实验报告基于FPGA技术实现62256 Sram芯片的读写控制及校验器的Quartus II程序设计指导教师: 学号姓名: 实验小组成员: 一、实验目的及程序设计性能要求:如右图所示,为62256芯片关键图,管脚功能介绍如下:A0 A14        地址总线(Address) D0 /D7          输入/输出口(Input/output) CS    

2、60;              端口选择(Chip select) WE                 输入始能(Write enable) OE           

3、0;      输出始能(Output enable) VCC               电源始能(Power supply) VSS                 接地(Ground)性能要求:进行芯片进行工作室,

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

5、5。二、程序设计部分1.设计方案框图:数据时钟信号校验结果控制地址SRAM62256存储器校验电路复位控制2.程序状态转移图:Addr<=2fh/DoutAddr<=2fhAddr>2fhAddr>2fh3.程序流程图:初始化检验步数Quan=0YNNNwr 负脉冲addr<=addr+1奇地址data_reg<=55偶地址data_reg<=AAwr=1addr=addr+1奇地址data_reg<=55偶地址data_reg<=AAaddr>2fhaddr>2fhdata=data_reg验证正确dout=1验证错误dout

6、=0结束YYYNNNwr 负脉冲addr<=addr+1奇地址data_reg<=AA偶地址data_reg<=55wr=1addr=addr+1奇地址data_reg<=AA偶地址data_reg<=55addr>2fhaddr>2fhdata=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;inp

7、ut clk;outputwr,oe,ce;output14:0 addr;output dout;output 7:0 data_reg;reg14:0addr;output14:0 realaddr;reg14:0realaddr;wire7:0 data;wirece=0;wire oe=0;reg wr;reg dout;parameter Idle=3'h0, Write_begin=3'h1, Write_end =3'h2, Read_begin =3'h3, Read_end =3'h4;reg qiuyu;reg quan;reg2:0

8、 STATE;reg7:0 data_reg;/程序输入输出端口及状态定义assign data=wr?data_reg:8'hzz;/定义双向数据端口data的值always (posedge areset or posedge clk )/时钟上升沿激励及异步复位beginif (areset) /异步复位设置begin wr<=1'b0;data_reg<=8'h00;addr<=15'b0;dout<=1'b0;STATE<=Idle;end elsebegin case(STATE)/非复位情况下程序运行,状态判断

9、Idle: /第一状态Idle的定义begin wr<=1; addr<=15'b0; realaddr<=15'b0; data_reg<=8'h00; STATE=Write_begin; dout<=1'b0; qiuyu<=1'b0; quan<=quan;/校验步数设定,1,2循环 end Write_begin:/第二状态Write_begin的定义 begin addr=addr+15'h1; /地址自加一realaddr=addr-15'h1; /由于波形显示时直接显示地址自加一结

10、果,因此加入一个真实地址的显示 wr<=wr;/We输出负脉冲的设定if (quan)/校验步数判断,并输入不同数据beginqiuyu<=addr%2;/奇偶地址判断,并存入不同数据if(qiuyu)begindata_reg<=8'h55;endelse begindata_reg<=8'h0AA; end STATE=Write_end;endelsebeginqiuyu<=addr%2;if(qiuyu)begindata_reg<=8'h0AA;endelse begindata_reg<=8'h55; end

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

12、5'h1; realaddr=addr-15'h1; wr=0;if (quan)beginqiuyu<=addr%2; if(qiuyu) begin data_reg<=8'h55; STATE=Read_end; end else begin data_reg<=8'h0AA; STATE=Read_end; endendelsebeginqiuyu<=addr%2; if(qiuyu)begindata_reg<=8'h0AA;STATE=Read_end;end else begin data_reg<=8&

13、#39;h55; STATE=Read_end; endend end Read_end : /第五状态Read_end定义beginif(addr=15'h02f)/校验完毕后转入第一状态执行下一步读写校验 beginSTATE=Idle; addr<=15'h0;end elsebeginif(data=data_reg) /从内存中读入数据,与寄存器内此地址的正确数据进行比较begindout<=1'b1;/比较相同,结果输出1 STATE=Read_begin; end elsebegindout<=1'b0;/比较不同,结果输出0 S

14、TATE=Read_begin;endend end default: STATE=Idle; endcaseendendendmodule三、程序仿真及验证。1功能波形仿真2时序波形仿真4.RTL级电路模拟四、实验心得及总结:本实验逻辑复杂,程序编写难度大,要求实现功能多。本实验编写时曾参考网上的类似程序流程,但程序整体经过大幅修改及优化。在程序编写过程中,曾出现如下问题:1. 逻辑关系及变量过于复杂使得程序编写陷入困境。2. 关于阻塞赋值与非阻塞赋值的方式选择失误,曾长时间引起程序仿真时结果错误。3. 网上下载的程序有先天不足级错误。以上问题的解决方法:1. 从最外层逻辑关系入手,一步一步细化逻辑关系以及程序运行流程,通过形象的流程图及状态转移图来使程序结构清晰简化,大大加快编程进度。2. 认真阅读了书本上关于阻塞赋值与非阻塞赋值的相关内容,并结合仿真时的直观错误,对每一个变量进行筛选,最后通过修改地址赋值语句为阻塞赋值,成功解决错误。3. 借鉴

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论