?? ddr_tb1.txt
字號(hào):
`timescale 1ns / 1ps
module ddr_tb;
`include "ddr_par.v"
wire sys_r_wn; // read/write#
wire sys_adsn; // address strobe
wire sys_dly_200us; // ddr power and clock stable for 100 us
wire clk; // ddr clock
wire sys_reset; // reset signal
wire [23:0] sys_add; // address bus
wire [15:0] sysd; // data bus
wire [1:0] sys_dmsel; // Data mask enables
wire sys_init_done; // initialization completed, ready for normal operation
wire [7:0] ddr_dq; // ddr data
wire [11:0] ddr_add; // ddr address
wire [1:0] ddr_ba; // ddr bank address
wire ddr_cke; // ddr clock enable
wire ddr_csn; // ddr chip select
wire ddr_rasn; // ddr row address
wire ddr_casn; // ddr column select
wire ddr_wen; // ddr write enable
wire ddr_dqm; // ddr write data mask
//=============================================================================
// DDR TOP
//=============================================================================
ddr_top UUT
(
// Clock and reset signals
.clk (clk), // ddr clock
.reset_n (reset_n), // reset signal
// Systen interface signals
.sys_r_wn (sys_r_wn), // read/write#
.sys_adsn (sys_adsn), // address strobe
.sys_dly_200us (sys_dly_200us), // ddr power and clock stable for 200 us
.sys_add (sys_add), // address bus
.sysd (sysd), // data bus
.sys_init_done (sys_init_done), // initialization completed, ready for normal operation
.sys_rdyn (sys_rdyn), // Ready signal
.sys_dmsel (sys_dmsel), // Ready signal
//DDR interface signals
.ddr_clk (ddr_clk), // DDR clock
.ddr_clkn (ddr_clkn), // DDR -ve clock
.ddr_dq (ddr_dq), // ddr data
`ifdef SDF_SIM
.ddr_dqm_0 (ddr_dqm), // ddr write data mask
.ddr_dqs_0 (ddr_dqs), // ddr data strobe
`else
.ddr_dqm (ddr_dqm), // ddr write data mask
.ddr_dqs (ddr_dqs), // ddr data strobe
`endif
.ddr_add (ddr_add), // ddr address
.ddr_ba (ddr_ba), // ddr bank address
.ddr_cke (ddr_cke), // ddr clock enable
.ddr_csn (ddr_csn), // ddr chip select
.ddr_rasn (ddr_rasn), // ddr row address
.ddr_casn (ddr_casn), // ddr column select
.ddr_wen (ddr_wen) // ddr write enable
);
//=============================================================================
// Stimulus
//=============================================================================
stimulus u1_stimulus
(
.clk (clk),
.reset_n (reset_n),
.sys_add (sys_add),
.sys_adsn (sys_adsn),
.sys_r_wn (sys_r_wn),
.sysd (sysd),
.sys_dly_200us (sys_dly_200us),
.sys_rdyn (sys_rdyn),
.sys_dmsel (sys_dmsel),
.sys_init_done (sys_init_done)
);
//=============================================================================
// DDR Model
//=============================================================================
// Module "mt46v16m8" can be downloaded from Micro's web site.
// 16Meg x 8 (Has 4k rows, 1k col, 4banks)
mt46v16m8 U1_DDR
(
.Dq (ddr_dq),
.Dqs (ddr_dqs),
.Addr (ddr_add),
.Ba (ddr_ba),
.Clk (ddr_clk),
.Clk_n (ddr_clkn),
.Cke (ddr_cke),
.Cs_n (ddr_csn),
.Ras_n (ddr_rasn),
.Cas_n (ddr_casn),
.We_n (ddr_wen),
.Dm (ddr_dqm)
);
initial begin
$recordfile ("ddrref.trn");
$recordvars;
end
initial begin
`ifdef SDF_SIM
$sdf_annotate("../par/run/Map_Rev_1/Par_Rev_1/ddr_top.sdf",UUT,, "ddr_top_sdf.log");
`endif
end
endmodule
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -