📄 sdr_sdram.v
字号:
/******************************************************************************** LOGIC CORE: SDR SDRAM Controller * MODULE NAME: sdr_sdram()* COMPANY: Northwest Logic, Inc.* www.nwlogic.com** REVISION HISTORY: ** Revision 1.0 05/11/2000 Description: Initial Release.* 1.1 07/10/2000 Description: change precharge to terminate* for full page accesses.** FUNCTIONAL DESCRIPTION:** This module is the top level module for the SDR SDRAM controller.** Copyright Northwest Logic, Inc., 2000. All rights reserved. ******************************************************************************/`timescale 1ps / 1psmodule sdr_sdram( CLK, RESET_N, ADDR, CMD, CMDACK, DATAIN, DATAOUT, DM, SA, BA, CS_N, CKE, RAS_N, CAS_N, WE_N, DQ, DQM );`include "params.v"input CLK; //System Clockinput RESET_N; //System Resetinput [`ASIZE-1:0] ADDR; //Address for controller requestsinput [2:0] CMD; //Controller command output CMDACK; //Controller command acknowledgementinput [`DSIZE-1:0] DATAIN; //Data inputoutput [`DSIZE-1:0] DATAOUT; //Data outputinput [`DSIZE/8-1:0] DM; //Data mask inputoutput [11:0] SA; //SDRAM address outputoutput [1:0] BA; //SDRAM bank addressoutput [1:0] CS_N; //SDRAM Chip Selectsoutput CKE; //SDRAM clock enableoutput RAS_N; //SDRAM Row address Strobeoutput CAS_N; //SDRAM Column address Strobeoutput WE_N; //SDRAM write enableinout [`DSIZE-1:0] DQ; //SDRAM data busoutput [`DSIZE/8-1:0] DQM; //SDRAM data mask linesreg [11:0] SA; //SDRAM address outputreg [1:0] BA; //SDRAM bank addressreg [1:0] CS_N; //SDRAM Chip Selectsreg CKE; //SDRAM clock enablereg RAS_N; //SDRAM Row address Strobereg CAS_N; //SDRAM Column address Strobereg WE_N; //SDRAM write enablereg [`DSIZE-1:0] DQIN;wire [`DSIZE-1:0] DQOUT;wire [`DSIZE-1:0] IDATAOUT; //Data outputreg [`DSIZE-1:0] DATAOUT; //Data outputwire [11:0] ISA; //SDRAM address outputwire [1:0] IBA; //SDRAM bank addresswire [1:0] ICS_N; //SDRAM Chip Selectswire ICKE; //SDRAM clock enablewire IRAS_N; //SDRAM Row address Strobewire ICAS_N; //SDRAM Column address Strobewire IWE_N; //SDRAM write enablewire [`ASIZE-1:0] saddr;wire [1:0] sc_cl;wire [1:0] sc_rc;wire [3:0] sc_rrd;wire sc_pm;wire [3:0] sc_bl;wire load_mode;wire nop;wire reada;wire writea;wire refresh;wire precharge;wire oe;wire CLK;wire ref_ack;wire cm_ack;wire ref_req;control_interface control1 ( .CLK(CLK), .RESET_N(RESET_N), .CMD(CMD), .ADDR(ADDR), .REF_ACK(ref_ack), .CM_ACK(cm_ack), .NOP(nop), .READA(reada), .WRITEA(writea), .REFRESH(refresh), .PRECHARGE(precharge), .LOAD_MODE(load_mode), .SADDR(saddr), .SC_CL(sc_cl), .SC_RC(sc_rc), .SC_RRD(sc_rrd), .SC_PM(sc_pm), .SC_BL(sc_bl), .REF_REQ(ref_req), .CMD_ACK(CMDACK) );command command1( .CLK(CLK), .RESET_N(RESET_N), .SADDR(saddr), .NOP(nop), .READA(reada), .WRITEA(writea), .REFRESH(refresh), .PRECHARGE(precharge), .LOAD_MODE(load_mode), .SC_CL(sc_cl), .SC_RC(sc_rc), .SC_RRD(sc_rrd), .SC_PM(sc_pm), .SC_BL(sc_bl), .REF_REQ(ref_req), .REF_ACK(ref_ack), .CM_ACK(cm_ack), .OE(oe), .SA(ISA), .BA(IBA), .CS_N(ICS_N), .CKE(ICKE), .RAS_N(IRAS_N), .CAS_N(ICAS_N), .WE_N(IWE_N) ); sdr_data_path data_path1( .CLK(CLK), .RESET_N(RESET_N), .OE(oe), .DATAIN(DATAIN), .DM(DM), .DATAOUT(IDATAOUT), .DQIN(DQIN), .DQOUT(DQOUT), .DQM(DQM) );always @(posedge CLK)begin SA <= ISA; BA <= IBA; CS_N <= ICS_N; CKE <= ICKE; RAS_N <= IRAS_N; CAS_N <= ICAS_N; WE_N <= IWE_N; DQIN <= DQ; DATAOUT <= IDATAOUT;endassign DQ = oe ? DQOUT : 16'bz; endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -