00001
00002
00003 parameter DDR2_ADDRESS_WIDTH = 13;
00004 parameter DDR2_COLUMN_ADDRESS_WIDTH = 10;
00005 parameter USER_INPUT_ADDRESS_WIDTH = DDR2_ADDRESS_WIDTH + DDR2_COLUMN_ADDRESS_WIDTH + 2;
00006
00007
00008
00009 parameter MAX_REFRESH_COUNT_LENGTH = 6;
00010 parameter MAX_REFRESH_COUNT = 6'b11_1100; // 60 MAX_REFRESH_COUNTは、DDR2 SDRAMのクロックを16分周したクロックがリフレッシュ時間にどれだけカウントするかで決定。現在はDDR2クロックが125MHz(8ns)でリフレッシュ時間が7800ns、よって7800/(8*16)=60.9よって60となる
00011 parameter QUANTITY_OF_CLK_OUTPUT = 1;
00012 parameter CAS_LATENCY = 3;
00013
00014 // 電源ONの時に200us間、ckeをlowにして、DQ,DQSをハイ・インピーダンスにする。そのためのカウンタ用の最大値
00015 // parameter MAX_INITIAL_COUNT_VAL = 12'b1001_1100_0100;
00016 parameter MAX_INITIAL_COUNT_VAL = 12'b0110_0001_1011; // 1563、125MHz(8ns)の16分周での200nsカウント
00017
00018 // DDR2初期化時にCKEを1にしてからプリチャージオールコマンドを発行するまでの400nsの待ち時間用
00019 // parameter CLK2PALLA_CNT_VAL = 80; // 400ns/5ns(200MHz) = 80
00020 // parameter CLK2PALLA_CNT_WIDTH = 8; // 80なので8ビット幅
00021 parameter CLK2PALLA_CNT_VAL = 60; // 400ns/6.6667ns(150MHz) = 60
00022 parameter CLK2PALLA_CNT_WIDTH = 7; // 60なので7ビット幅
00023
00024 // DDR2のデータ幅を決めるパラメータ
00025 parameter DDR2_DATA_WIDTH = 16; // DDR2 SDRAMのデータ幅
00026 parameter DDR2_DQS_DM_WIDTH = DDR2_DATA_WIDTH/8; // DDR2 SDRAMのDQSの幅
00027 parameter INTERFACE_DATA_WIDTH = DDR2_DATA_WIDTH*2; // DDR2 SDRAMは4バースト、2倍データ幅で2回書き込む
00028 parameter INTERFACE_MASK_WIDTH = INTERFACE_DATA_WIDTH/8; // BEの幅
00029
00030 parameter INITIAL_PATTERN_1 = 16'h5555;
00031 parameter INITIAL_PATTERN_2 = 16'hAAAA;