⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdram_module.v

📁 sdram读写
💻 V
字号:
`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company		: 
// Engineer		: 
// Create Date	: 
// Design Name	: 
// Module Name	: sdram_module
// Project Name	: 
// Target Device: Cyclone EP1C3T144C8 
// Tool versions: Quartus II 9.1
// Description	: 
//				
// Revision		: V1.0
// Additional Comments	:  
// 
////////////////////////////////////////////////////////////////////////////////
module sdram_module(
				clk_25m,clk_100m,rst_n,
				wrf_din,wrf_wrreq,
				rdf_rdreq,rdf_dout,
				syswr_done,tx_start,
				sys_wraddr,sys_rdaddr,sdram_busy,sys_dout_rdy,
				/*sdram_clk,*/sdram_cke,sdram_cs_n,sdram_ras_n,sdram_cas_n,
				sdram_we_n,sdram_ba,sdram_addr,sdram_data,sdwr_byte,sdrd_byte//,sdram_udqm,sdram_ldqm
			);

input clk_100m;		//系统时钟,100MHz
input clk_25m;
input rst_n;	//复位信号,低电平有效

	// SDRAM的封装接口			

input[21:0] sys_wraddr;		//读写SDRAM时地址暂存器,(bit21-20)L-Bank地址:(bit19-8)为行地址,(bit7-0)为列地址 
input[21:0] sys_rdaddr;

output sdram_busy;			// SDRAM忙标志,高表示SDRAM处于工作中
output sys_dout_rdy;		// SDRAM数据输出完成标志
input[8:0] sdwr_byte;		//突发写SDRAM字节数(1-256个)
input[8:0] sdrd_byte;		//突发读SDRAM字节数(1-256个)
	// FPGA与SDRAM硬件接口
//output sdram_clk;			// SDRAM时钟信号
output sdram_cke;			// SDRAM时钟有效信号
output sdram_cs_n;			// SDRAM片选信号
output sdram_ras_n;			// SDRAM行地址选通脉冲
output sdram_cas_n;			// SDRAM列地址选通脉冲
output sdram_we_n;			// SDRAM写允许位
output[1:0] sdram_ba;		// SDRAM的L-Bank地址线
output[11:0] sdram_addr;	// SDRAM地址总线
inout[15:0] sdram_data;		// SDRAM数据总线
//output sdram_udqm;		// SDRAM高字节屏蔽
//output sdram_ldqm;		// SDRAM低字节屏蔽

	// SDRAM内部接口
wire sys_r_wn;			
wire sys_en;
wire sdram_wr_ack;		//系统写SDRAM响应信号,作为wrFIFO的输出有效信号
wire sdram_rd_ack;		//系统读SDRAM响应信号
wire[15:0] sys_data_in;	//写SDRAM时数据暂存器,4个突发读写字数据,默认为00地址bit15-0;01地址bit31-16;10地址bit47-32;11地址bit63-48
wire[15:0] sys_data_out;	//读SDRAM时数据暂存器,(格式同上)


//例化SDRAM封装控制模块

sdram_top		uut_sdramtop(				// SDRAM
							.clk(clk_100m),
							.rst_n(sys_rst_n),
							.sys_en(sys_en),
							.sys_r_wn(sys_r_wn),
							.sdram_wr_ack(sdram_wr_ack),
							.sdram_rd_ack(sdram_rd_ack),	
							.sys_wraddr(sys_wraddr),
							.sys_rdaddr(sys_rdaddr),
							.sys_data_in(sys_data_in),
							.sys_data_out(sys_data_out),
							.sdwr_byte(sdwr_byte),
							.sdrd_byte(sdrd_byte),	
							//.sdram_clk(sdram_clk),
							.sdram_busy(sdram_busy),
							.sdram_cke(sdram_cke),
							.sdram_cs_n(sdram_cs_n),
							.sdram_ras_n(sdram_ras_n),
							.sdram_cas_n(sdram_cas_n),
							.sdram_we_n(sdram_we_n),
							.sdram_ba(sdram_ba),
							.sdram_addr(sdram_addr),
							.sdram_data(sdram_data)
						//	.sdram_udqm(sdram_udqm),
						//	.sdram_ldqm(sdram_ldqm)
					);	

//------------------------------------------------
//读写SDRAM数据缓存FIFO模块例化	
sdfifo_ctrl			uut_sdffifoctrl(
						.clk_25m(clk_25m), //in
						.clk_100m(clk_100m),//in
						.rst_n(sys_rst_n),//in
						.wrf_din(wrf_din),//in
						.wrf_wrreq(wrf_wrreq),//in
						.sdram_wr_ack(sdram_wr_ack),//wire
					//	.sys_wraddr(sys_wraddr),
					//	.sys_rdaddr(sys_rdaddr),
						.sys_data_in(sys_data_in),//wire
						.sys_en(sys_en),//wire
						.sys_data_out(sys_data_out),//wire
						.rdf_rdreq(rdf_rdreq),//in
						.sdram_rd_ack(sdram_rd_ack),//wire
						.rdf_dout(rdf_dout),//out
						.sys_r_wn(sys_r_wn),//wire
						.syswr_done(syswr_done),//in
						.tx_start(tx_start)		//out
						);	
						

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -