ddr2_sdram_cont/controller.v

ソースコードを見る。

関数

default_nettype none timescale
module 
controller (clk, clk1_16, reset, address, read_writex, next_address, next_read_writex, addr_fifo_empty, addr_fifo_almost_empty, addr_fifo_rden, wrdata_fifo_empty, wrdata_fifo_almost_empty, wrdata_fifo_rden, ddr2_rasb, ddr2_casb, ddr2_web, ddr2_ba, ddr2_address, ddr2_cke, ddr2_csb, ddr2_odt, dqs_enable, dqs_reset, write_timing, read_timing, read_timing_1b, read_timing_2b, burst_read, initialize_end)
 always (posedge clk) begin if(reset = 1

変数

include ddr2_cont_parameters
vh input 
clk
include ddr2_cont_parameters
vh input 
clk1_16 = clk1_16_bufg
include ddr2_cont_parameters
vh input 
reset
input[USER_INPUT_ADDRESS_WIDTH-1:0] address
input read_writex
input[USER_INPUT_ADDRESS_WIDTH-1:0] next_address
input next_read_writex
input addr_fifo_empty
input addr_fifo_almost_empty
output addr_fifo_rden
input wrdata_fifo_empty
input wrdata_fifo_almost_empty
output wrdata_fifo_rden
output ddr2_rasb
output ddr2_casb
output ddr2_web
output[1:0] ddr2_ba
output[DDR2_ADDRESS_WIDTH-1:0] ddr2_address
output ddr2_cke
output ddr2_csb = 1'b0
output ddr2_odt
output dqs_enable
output dqs_reset
output write_timing
output read_timing
output burst_read
output read_timing_1b
output read_timing_2b
output initialize_end
wire clkx = ~clk
wire[DDR2_ADDRESS_WIDTH-1:0] row_addr = address[USER_INPUT_ADDRESS_WIDTH-3 : USER_INPUT_ADDRESS_WIDTH-3-(DDR2_ADDRESS_WIDTH-1)]
wire[DDR2_ADDRESS_WIDTH-1:0] next_row_addr
reg[DDR2_COLUMN_ADDRESS_WIDTH-1:0] column_addr
wire[1:0] bank_addr
wire[1:0] next_bank_addr
reg[1:0] TRP
reg[1:0] TMRD
reg[1:0] TRCD
reg[2:0] TPAR
reg[2:0] TRTW
reg[2:0] TPAW
reg[2:0] TWTR
reg[3:0] TRFC
reg[3:0] TRC
reg[2:0] TRAS
reg[1:0] TRTR
reg[1:0] TWTW
reg[11:0] initial_count
reg initial_start
reg initial_startx
reg read_cmd_issue
reg read_cmd_issue_1d
parameter idle_init = 14'b00000000000001
parameter pall1_init = 14'b00000000000010
parameter emr2s_init = 14'b00000000000100
parameter emr3s_init = 14'b00000000001000
parameter emrs_dllena_init = 14'b00000000010000
parameter mrs_dllrst_init = 14'b00000000100000
parameter pall2_init = 14'b00000001000000
parameter ref1_init = 14'b00000010000000
parameter ref2_init = 14'b00000100000000
parameter mrs_init = 14'b00001000000000
parameter emrs_ocd_def_init = 14'b00010000000000
parameter emrs_ocd_exit_init = 14'b00100000000000
parameter wait_init_end = 14'b01000000000000
parameter init_end = 14'b10000000000000
parameter NOP = 8'b00000001
parameter ACT = 8'b00000010
parameter READ = 8'b00000100
parameter WRIT = 8'b00001000
parameter PALL = 8'b00010000
parameter MRS = 8'b00100000
parameter EMRS = 8'b01000000
parameter REF = 8'b10000000
parameter IDLE_ODT = 4'b0001
parameter WRITE_ACTIVE = 4'b0010
parameter WRITE_TEST = 4'b0100
parameter WRITE_HOLDOFF1 = 4'b1000
reg[13:0] n_init
reg[13:0] c_init
reg[7:0] n_state
reg[7:0] c_state
reg[7:0] b_state
reg[7:0] b2_state
parameter idle_dets = 3'b001
parameter write_dets = 3'b010
parameter write_wait = 3'b100
reg[2:0] ns_dets
reg[2:0] cs_dets
reg cke_stat
reg[USER_INPUT_ADDRESS_WIDTH-3:USER_INPUT_ADDRESS_WIDTH-3-(DDR2_ADDRESS_WIDTH-1)] active_row_addr
reg[USER_INPUT_ADDRESS_WIDTH-1:USER_INPUT_ADDRESS_WIDTH-2] active_bank_addr
wire ref_state
reg ref_then_by_now
wire ref_req = next_ref_req
reg[MAX_REFRESH_COUNT_LENGTH-1:0] ref_count
wire equal_active_bank
wire equal_active_bank_next
reg equal_active_bank_1d
reg addr_fifo_empty_1d
reg addr_fifo_almost_empty_1d
reg read_writex_1d
reg next_read_writex_1d
reg equal_active_bank_next_1d
reg equal_active_bank_next_2d
reg activate_bank
reg[DDR2_ADDRESS_WIDTH-1:0] ddr2_addr_node
reg[DDR2_ADDRESS_WIDTH-1:0] ddr2_addr_node_1d
reg[DDR2_ADDRESS_WIDTH-1:0] ddr2_addr_node_2d
reg[1:0] bank_addr_node
reg[1:0] bank_addr_node_1d
reg[1:0] bank_addr_node_2d
reg[DDR2_ADDRESS_WIDTH-1:0] ddr2_addr_node_3d
reg[1:0] bank_addr_node_3d
reg rasb_node
reg casb_node
reg web_node
reg rasb_node_1d
reg casb_node_1d
reg web_node_1d
reg rasb_node_2d
reg casb_node_2d
reg web_node_2d
reg rasb_node_3d
reg casb_node_3d
reg web_node_3d
wire wrdata_fifo_rden_node
reg[4:0] dll_reset_cnt
reg dll_reset_end
reg dll_reset_flag
reg before_cmd_is_ACT
reg[CAS_LATENCY:0] read_timing_node
reg[CLK2PALLA_CNT_WIDTH-1:0] cke2palla_cnt
reg cke2palla_ena
reg[3:0] ns_odt
reg[3:0] cs_odt
reg odt_node
reg odt_node_1d
reg cke_stat_clk0

関数

end always ( posedge  clk  )  = 1

変数

parameter ACT = 8'b00000010

controller.v95 行で定義されています。

controller.v128 行で定義されています。

controller.v119 行で定義されています。

controller.v118 行で定義されています。

controller.v27 行で定義されています。

controller.v125 行で定義されています。

controller.v27 行で定義されています。

controller.v125 行で定義されています。

controller.v28 行で定義されています。

controller.v23 行で定義されています。

reg [7:0] b2_state

controller.v109 行で定義されています。

reg [7:0] b_state

controller.v109 行で定義されています。

wire [1:0] bank_addr

controller.v63 行で定義されています。

reg [1:0] bank_addr_node

controller.v130 行で定義されています。

reg [1:0] bank_addr_node_1d

controller.v130 行で定義されています。

reg [1:0] bank_addr_node_2d

controller.v130 行で定義されています。

reg [1:0] bank_addr_node_3d

controller.v132 行で定義されています。

controller.v140 行で定義されています。

wire burst_read

controller.v35 行で定義されています。

reg [13:0] c_init

controller.v108 行で定義されています。

reg [7:0] c_state

controller.v109 行で定義されています。

reg casb_node

controller.v133 行で定義されています。

controller.v134 行で定義されています。

controller.v135 行で定義されています。

controller.v136 行で定義されています。

controller.v142 行で定義されています。

controller.v143 行で定義されています。

reg cke_stat

controller.v117 行で定義されています。

controller.v146 行で定義されています。

wire clk

controller.v22 行で定義されています。

controller.v22 行で定義されています。

assign clkx = ~clk

controller.v60 行で定義されています。

controller.v62 行で定義されています。

reg [2:0] cs_dets

controller.v115 行で定義されています。

reg [3:0] cs_odt

controller.v144 行で定義されています。

controller.v129 行で定義されています。

controller.v129 行で定義されています。

controller.v129 行で定義されています。

controller.v131 行で定義されています。

controller.v33 行で定義されています。

wire [1:0] ddr2_ba

controller.v32 行で定義されています。

wire ddr2_casb

controller.v31 行で定義されています。

reg ddr2_cke

controller.v34 行で定義されています。

assign ddr2_csb = 1'b0

controller.v34 行で定義されています。

output ddr2_odt

controller.v34 行で定義されています。

wire ddr2_rasb

controller.v31 行で定義されています。

wire ddr2_web

controller.v31 行で定義されています。

reg [4:0] dll_reset_cnt

controller.v138 行で定義されています。

controller.v139 行で定義されています。

controller.v139 行で定義されています。

controller.v34 行で定義されています。

reg dqs_reset

controller.v34 行で定義されています。

parameter emr2s_init = 14'b00000000000100

controller.v81 行で定義されています。

parameter emr3s_init = 14'b00000000001000

controller.v82 行で定義されています。

parameter EMRS = 8'b01000000

controller.v100 行で定義されています。

parameter emrs_dllena_init = 14'b00000000010000

controller.v83 行で定義されています。

parameter emrs_ocd_def_init = 14'b00010000000000

controller.v89 行で定義されています。

parameter emrs_ocd_exit_init = 14'b00100000000000

controller.v90 行で定義されています。

controller.v124 行で定義されています。

controller.v125 行で定義されています。

controller.v124 行で定義されています。

controller.v127 行で定義されています。

controller.v127 行で定義されています。

parameter idle_dets = 3'b001

controller.v111 行で定義されています。

parameter idle_init = 14'b00000000000001

controller.v79 行で定義されています。

parameter IDLE_ODT = 4'b0001

controller.v103 行で定義されています。

parameter init_end = 14'b10000000000000

controller.v92 行で定義されています。

reg [11:0] initial_count

controller.v75 行で定義されています。

controller.v76 行で定義されています。

controller.v76 行で定義されています。

controller.v38 行で定義されています。

parameter MRS = 8'b00100000

controller.v99 行で定義されています。

parameter mrs_dllrst_init = 14'b00000000100000

controller.v84 行で定義されています。

parameter mrs_init = 14'b00001000000000

controller.v88 行で定義されています。

reg [13:0] n_init

controller.v108 行で定義されています。

reg [7:0] n_state

controller.v109 行で定義されています。

controller.v25 行で定義されています。

wire [1:0] next_bank_addr

controller.v63 行で定義されています。

controller.v26 行で定義されています。

controller.v126 行で定義されています。

controller.v61 行で定義されています。

parameter NOP = 8'b00000001

controller.v94 行で定義されています。

reg [2:0] ns_dets

controller.v115 行で定義されています。

reg [3:0] ns_odt

controller.v144 行で定義されています。

reg odt_node

controller.v145 行で定義されています。

controller.v145 行で定義されています。

parameter PALL = 8'b00010000

controller.v98 行で定義されています。

parameter pall1_init = 14'b00000000000010

controller.v80 行で定義されています。

parameter pall2_init = 14'b00000001000000

controller.v85 行で定義されています。

reg rasb_node

controller.v133 行で定義されています。

controller.v134 行で定義されています。

controller.v135 行で定義されています。

controller.v136 行で定義されています。

parameter READ = 8'b00000100

controller.v96 行で定義されています。

controller.v77 行で定義されています。

controller.v77 行で定義されています。

controller.v35 行で定義されています。

controller.v36 行で定義されています。

controller.v37 行で定義されています。

controller.v141 行で定義されています。

controller.v24 行で定義されています。

controller.v126 行で定義されています。

parameter REF = 8'b10000000

controller.v101 行で定義されています。

parameter ref1_init = 14'b00000010000000

controller.v86 行で定義されています。

parameter ref2_init = 14'b00000100000000

controller.v87 行で定義されています。

controller.v123 行で定義されています。

controller.v122 行で定義されています。

wire ref_state

controller.v120 行で定義されています。

controller.v121 行で定義されています。

wire reset

controller.v22 行で定義されています。

controller.v61 行で定義されています。

reg [1:0] TMRD

controller.v65 行で定義されています。

reg [2:0] TPAR

controller.v67 行で定義されています。

reg [2:0] TPAW

controller.v69 行で定義されています。

reg [2:0] TRAS

controller.v73 行で定義されています。

reg [3:0] TRC

controller.v72 行で定義されています。

reg [1:0] TRCD

controller.v66 行で定義されています。

reg [3:0] TRFC

controller.v71 行で定義されています。

reg [1:0] TRP

controller.v64 行で定義されています。

reg [1:0] TRTR

controller.v74 行で定義されています。

reg [2:0] TRTW

controller.v68 行で定義されています。

reg [2:0] TWTR

controller.v70 行で定義されています。

reg [1:0] TWTW

controller.v74 行で定義されています。

parameter wait_init_end = 14'b01000000000000

controller.v91 行で定義されています。

reg web_node

controller.v133 行で定義されています。

controller.v134 行で定義されています。

controller.v135 行で定義されています。

controller.v136 行で定義されています。

controller.v29 行で定義されています。

controller.v29 行で定義されています。

controller.v30 行で定義されています。

controller.v137 行で定義されています。

parameter WRIT = 8'b00001000

controller.v97 行で定義されています。

parameter WRITE_ACTIVE = 4'b0010

controller.v104 行で定義されています。

parameter write_dets = 3'b010

controller.v112 行で定義されています。

parameter WRITE_HOLDOFF1 = 4'b1000

controller.v106 行で定義されています。

parameter WRITE_TEST = 4'b0100

controller.v105 行で定義されています。

controller.v35 行で定義されています。

parameter write_wait = 3'b100

controller.v113 行で定義されています。

 全て ファイル 関数 変数
ddr2_burst_testに対してThu May 6 16:53:16 2010に生成されました。  doxygen 1.6.3
inserted by FC2 system