📄 ddr2_test_32bit.v
字号:
`timescale 1ns/100ps
`include "parameters_32bit.v"
`include "defines.v"
module ddr2_test_32bit
(
dip1,
dip2,
dip3,
//XST_REMOVECOMMENT clk180,
//XST_REMOVECOMMENT clk270,
reset_in,
clk_int,
clk90_int,
delay_sel_val,
sys_rst_val,
sys_rst90_val,
sys_rst180_val,
sys_rst270_val,
rst_dqs_div_in,
rst_dqs_div_out,
ddr2_casb,
ddr2_cke,
ddr2_clk0,
ddr2_clk0b,
ddr2_clk1,
ddr2_clk1b,
ddr2_csb,
ddr2_rasb,
ddr2_web,
ddr2_ODT0,
ddr2_address,
ddr2_ba,
ddr2_dm,
led_error_output1,
ddr2_dq,
wait_200us,
`ifdef DQS_n
ddr2_dqs_n,
`endif
ddr2_dqs
);
//Input/Output declarations
input dip1;
input dip2;
input dip3;
input clk_int;
input clk90_int;
//XST_REMOVECOMMENT input clk180;
//XST_REMOVECOMMENT input clk270;
input [4:0] delay_sel_val;
input sys_rst_val;
input sys_rst90_val;
input sys_rst180_val;
input sys_rst270_val;
input reset_in;
input rst_dqs_div_in;
output rst_dqs_div_out;
output ddr2_casb;
output ddr2_cke;
output ddr2_clk0;
output ddr2_clk0b;
output ddr2_clk1;
output ddr2_clk1b;
output ddr2_csb;
output ddr2_rasb;
output ddr2_web;
output ddr2_ODT0;
output[`row_address-1:0]ddr2_address;
output [`bank_address-1:0]ddr2_ba;
output [((`mask_width/2)-1):0] ddr2_dm;
inout [31:0]ddr2_dq;
input wait_200us;
inout [3:0]ddr2_dqs;
`ifdef DQS_n
inout [3:0]ddr2_dqs_n;
`endif
output led_error_output1;
//internal signal declarations
wire [63:0] user_output_data;
wire [((`row_address + `column_address + `bank_address)-1):0] u1_address;
wire user_data_val1;
wire [14:0]u1_config_parms;
wire [12:0]u2_config_parms;
wire [3:0]user_cmd1;
wire auto_ref_req;
wire user_ack1;
wire user_ack2;
wire [63:0] u1_data_i;
wire [((`mask_width)-1):0] u1_data_m;
wire burst_done_val1;
wire init_val1;
wire pass_val1;
wire ar_done_val1;
wire clk_int;
wire clk90_int;
wire sys_rst;
wire sys_rst90;
wire sys_rst180;
wire sys_rst270;
wire [63:0] lfsr_out_data1;
wire [63:0] read_out_data1;
wire data_valid_out1;
//---- Component instantiations ----
ddr2_top_32bit ddr2_top0 (
.auto_ref_req (auto_ref_req),
.wait_200us(wait_200us),
.dip1(dip1),
.dip3(dip3),
//XST_REMOVECOMMENT .clk180 (clk180),
//XST_REMOVECOMMENT .clk270 (clk270),
.rst_dqs_div_in(rst_dqs_div_in),
.rst_dqs_div_out(rst_dqs_div_out),
.reset_in(reset_in),
.user_input_data(u1_data_i),
.user_data_mask(u1_data_m),
.user_output_data(user_output_data),
.user_data_valid(user_data_val1),
.user_input_address(u1_address[((`row_address + `column_address + `bank_address)-1):`bank_address]),
.user_bank_address(u1_address[`bank_address-1:0]),
.user_config_register1(u1_config_parms),
.user_config_register2(u2_config_parms),
.user_command_register(user_cmd1),
.user_cmd_ack(user_ack1),
.burst_done(burst_done_val1),
.init_val(init_val1),
.ar_done(ar_done_val1),
.ddr_dqs(ddr2_dqs),
.ddr_dq (ddr2_dq),
`ifdef DQS_n
.ddr_dqs_n(ddr2_dqs_n),
`endif
.ddr_cke(ddr2_cke),
.ddr_csb(ddr2_csb),
.ddr_rasb(ddr2_rasb),
.ddr_casb(ddr2_casb),
.ddr_web(ddr2_web),
.ddr_dm (ddr2_dm),
.ddr_ODT0 (ddr2_ODT0),
.ddr_ba (ddr2_ba),
.ddr_address(ddr2_address),
.ddr2_clk0(ddr2_clk0),
.ddr2_clk0b(ddr2_clk0b),
.ddr2_clk1(ddr2_clk1),
.ddr2_clk1b(ddr2_clk1b),
.clk_int(clk_int),
.clk90_int(clk90_int),
.delay_sel_val(delay_sel_val),
.sys_rst(sys_rst_val),
.sys_rst90(sys_rst90_val),
.sys_rst180(sys_rst180_val),
.sys_rst270(sys_rst270_val)
);
ddr2_test_bench_32bit ddr2_test_bench0 (
.auto_ref_req (auto_ref_req),
.dip2(dip1),
//XST_REMOVECOMMENT .clk180(clk180),
.fpga_clk(clk_int),
.fpga_rst90(sys_rst90_val),
.fpga_rst0(sys_rst_val),
.fpga_rst180(sys_rst180_val),
.fpga_rst270(sys_rst270_val),
.clk90(clk90_int),
.burst_done(burst_done_val1),
.INIT_DONE(init_val1),
.ar_done(ar_done_val1),
.u_ack(user_ack1),
.u_data_val(user_data_val1),
.u_data_o(user_output_data),
.u_addr(u1_address),
.u_cmd(user_cmd1),
.u_data_i(u1_data_i),
.u_data_m(u1_data_m),
.u_config_parms1(u1_config_parms),
.u_config_parms2(u2_config_parms),
.led_error_output(led_error_output1)
);
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -