b10:3'b11;
//=======================================
//优化上述各参数如下所示:
// Address and Data Bus Sizes
//(1M * 4) * 16Bit =(4096 * 256) * 4 * 16Bit = 64MBit
`define ROWSIZE 12 //Rows width in one bank
`define COLSIZE 8 //Column width in one bank
`define DSIZE 16 //16Bit SDRAM data
`define BANKSIZE 2 //4 Banks in one SDRAM
`define ASIZE `COLSIZE + `ROWSIZE + `BANKSIZE //SDRAM Total address
// Address Space Parameters -> The new code addres: {Bank, Row, Column}
`define COLSTART 0
`define ROWSTART `COLSIZE
`define BANKSTART `COLSIZE + `ROWSIZE
//上述将rowstart和bankstart进行了参数化,只需修改有限几个参数即可。
//---------------------------------------
//SDRAM Init paramter setting
//`define ROW4096_133MHz
//`define ROW4096_125MHz
`define ROW4096_100MHz
//`define ROW8192_133MHz
//`define ROW8192_125MHz
//`define ROW8192_100MHz
//利用命令`define…….`ifdef …….`endif 结构来实现对模式的选择,可以方便的修改。
`ifdef ROW4096_133MHz
// Controller Parameter for 4096 Rows @ 133MHz
parameter INIT_PER = 16'd26600; //200 * 133
parameter REF_PER = 16'd2078; //15.625*133 = 2078.125
parameter SC_CL = 3;
parameter SC_RCD = 3;
parameter SC_PM = 1;
parameter SC_BL = 1;
`endif
`ifdef ROW4096_125MHz
// Controller Parameter for 4096 Rows @ 125MHz
parameter INIT_PER = 1