基于FPGA的SDRAM通用读写软IP

本文详细介绍了如何使用Verilog语言在FPGA上设计一个通用的SDRAM读写软IP核心,该核心能够实现对SDRAM的高效访问,适用于各种FPGA应用。
摘要由CSDN通过智能技术生成
此IP简单易用,亲自测试可以跑到145M,读写控制信号只有wr和rd两个,其余(地址、数据、突发等)均根据个人需要配置,wr和rd一样时不操作,wr为1,rd为0时为写操作,反之为读操作,需要强调突发写时需要等待writeable为1后在时钟上升沿依此放置数据,读取时在readable为1时方可在上升沿读取数据。本人使用的sdram为HY57V641620E(L/S)T(P)-6
如有bug请一定告知,谢谢


RTL代码如下:



module  sdram_common(clk,rst,cke,cs,ba,a,ras,cas,we,udqm,ldqm,dq,wr,rd,burst_length,addr_row,addr_column,data_in,over,bank,readable,writeable);
input 			clk;//sdram输入
input 			rst;//sdram复位
input 			wr;//sdram写使能
input			rd;//sdram读使能,wr和rd一样时为无操作,当wr为1rd为0时为写反之为读
input  [11:0]	addr_row;//sdram行地址
input  [7:0]	addr_column;//sdram列地址
input  [15:0]   data_in;//数据输入
input  [2:0]    burst_length;//当为000时无突发,为001时突发为2,为010时突发为4,为011时突发为8,为100时为页突发(256)
input  [1:0]    bank;//选择四片中哪一片
inout  [15:0]   dq;//链接sdram的数据端口
output 			cke;//连接sdram的时钟使能端口
output 			cs;//连接sdram的片选端口
output [1:0] 	ba;//连接sdram的bank端口
output [11:0] 	a;//连接sdram的地址端口
output 			ras;//连接sdram的行地址选择端口
output 			cas;//连接sdram的列地址选择端口
output 			we;//连接sdram的写使能端口
output 			udqm;//
output   		ldqm;//数据掩码端口
output			over;//操作结束指示信号,上升沿或高电平有效
output			readable;//可读信号,高电平有效,高电平时在时钟上升沿获取读到的数据
output			writeable;//突发写时在这个信号高电平时上升沿开始放着数据,单写时无需此信号

reg [15:0]		dq_r;
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值