⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 design_top_tb.tf

📁 XILINX的FPGA实现的双口ram源码
💻 TF
📖 第 1 页 / 共 2 页
字号:
// H:\PUBLIC_HTML\MY_PROJECTS\XDSP\61I_CORGEN_EXAMPLES_TEMP\51I\51I_ASYNC_FIFO_V4_0_VER_ISE
// Verilog Test fixture created by
// HDL Bencher 6.1i
// Thu Nov 13 13:48:38 2003
// 
// Notes:
// 1) This test fixture has been automatically generated from
//   your Test Bench Waveform
// 2) To use this as a user modifiable test fixture do the following:
//   - Save it as a file with a .tf extension (i.e. File->Save As...)
//   - Add it to your project as a testbench source (i.e. Project->Add Source...)
// 

`timescale 1ns/1ns

`define CTLR_READ_DATA	10
`define CTLR_REFRESH	2
`define N	5
`define FWIDTH	32
`define ENABLE_MSB	3
`define C_REFRSH	1
`define SHIFT_REG_DEPTH	24
`define C_P_CHRG	2
`define FCWIDTH	2
`define C_NOP	7
`define F_DEASSERT	4
`define C_L_MODE	0
`define CTLR_LOAD_MR	4
`define WAIT_ADDRESS_3	4
`define FDEPTH	4
`define td	1
`define SYS_LOAD_MR	2
`define Q	25
`define DDR_ADDR_MSB	11
`define CTLR_ACT	5
`define DDR_ACT	3
`define WAIT_ADDRESS_0	7
`define DDR_BURST_STOP	6
`define SYS_REFRESH	6
`define OD	4
`define SYS_PRECHARGE	5
`define SYS_BURST_STOP	7
`define U_ADDR_MSB	21
`define s1	1
`define IF0	1
`define D	10
`define RES	5
`define DDR_PRECHARGE	2
`define DDR_READA	5
`define SYS_READ	3
`define CTLR_READ	7
`define COL_ADDR_MSB	7
`define DDR_WRITEA	4
`define C_READ	5
`define state_delay	6
`define DDR_NOP	7
`define T_RCD	2
`define DDR_LOAD_MR	0
`define ROW_ADDR_MSB	11
`define BR0	0
`define WAIT_ADDRESS_5	2
`define s2	2
`define s3	3
`define U_DATA_MSB	31
`define CTLR_WRITE_DATA	11
`define WAIT_ADDRESS_7	0
`define CTLR_READ_WAIT	9
`define SYS_NOP	1
`define WAIT_ADDRESS_1	6
`define C_ACTIVE	3
`define CTLR_WRITE	8
`define WAIT_ADDRESS_4	3
`define SYS_ADDR_MSB	21
`define WAIT_ADDRESS_6	1
`define IF1	2
`define s0	0
`define TCKO	0
`define DDR_DATA_MSB	15
`define CTLR_ACT_WAIT	6
`define CTLR_IDLE	1
`define F_ASSERT	2
`define IF2	3
`define WAIT_ADDRESS_2	5
`define CTLR_PRECHARGE	3
`define C_WRITE	4
`define SYS_DATA_MSB	31
`define DDR_AUTO_REFRESH	1
`define F_IDLE	1
`define s4	4
`define SYS_WRITE	4
`define C_READ_MIF	1

module design_top_tb;
	reg [15:0] din;
	reg wr_en;
	reg wr_clk;
	reg rd_en;
	reg rd_clk;
	reg ainit;
	wire [15:0] dout;
	wire full;
	wire empty;
	wire almost_full;
	wire almost_empty;
	wire [1:0] wr_count;
	wire [1:0] rd_count;
	wire rd_ack;
	wire rd_err;
	wire wr_ack;
	wire wr_err;

	design_top UUT (
		.din(din),
		.wr_en(wr_en),
		.wr_clk(wr_clk),
		.rd_en(rd_en),
		.rd_clk(rd_clk),
		.ainit(ainit),
		.dout(dout),
		.full(full),
		.empty(empty),
		.almost_full(almost_full),
		.almost_empty(almost_empty),
		.wr_count(wr_count),
		.rd_count(rd_count),
		.rd_ack(rd_ack),
		.rd_err(rd_err),
		.wr_ack(wr_ack),
		.wr_err(wr_err)
	);

	integer TX_FILE;
	integer TX_ERROR;

initial
begin
	TX_ERROR=0;
	TX_FILE=$fopen("results.txt");

	// --------------------
	din = 16'b0000000000000000; //0
	wr_en = 1'b0;
	wr_clk = 1'b1;
	rd_en = 1'b0;
	rd_clk = 1'b1;
	ainit = 1'b1;
	// --------------------
	#100 // Time=100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=200 ns
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=400 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=600 ns
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=700 ns
	rd_clk = 1'b0;
	ainit = 1'b0;
	// --------------------
	#100 // Time=800 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=1000 ns
	din = 16'b0000000000001110; //E
	wr_en = 1'b1;
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=1100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=1200 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	ainit = 1'b0;
	// --------------------
	#100 // Time=1300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=1400 ns
	din = 16'b0000000000001101; //D
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=1500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=1600 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=1700 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=1800 ns
	din = 16'b0000000000001100; //C
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=1900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=2000 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=2100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=2200 ns
	din = 16'b0000000000001011; //B
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=2300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=2400 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=2500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=2600 ns
	din = 16'b0000000000001010; //A
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=2700 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=2800 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=2900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=3000 ns
	din = 16'b0000000000001001; //9
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=3100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=3200 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=3300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=3400 ns
	din = 16'b0000000000001000; //8
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=3500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=3600 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=3700 ns
	rd_clk = 1'b0;
	ainit = 1'b0;
	// --------------------
	#100 // Time=3800 ns
	din = 16'b0000000000000111; //7
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=3900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=4000 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=4100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=4200 ns
	din = 16'b0000000000000110; //6
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=4300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=4400 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=4500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=4600 ns
	din = 16'b0000000000000101; //5
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=4700 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=4800 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=4900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=5000 ns
	din = 16'b0000000000000100; //4
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=5100 ns
	rd_clk = 1'b0;
	ainit = 1'b0;
	// --------------------
	#100 // Time=5200 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=5300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=5400 ns
	din = 16'b0000000000000011; //3
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=5500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=5600 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=5700 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=5800 ns
	din = 16'b0000000000000010; //2
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=5900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=6000 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=6100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=6200 ns
	din = 16'b0000000000000001; //1
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=6300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=6400 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=6500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=6600 ns
	din = 16'b0000000000000000; //0
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=6700 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=6800 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	ainit = 1'b0;
	// --------------------
	#100 // Time=6900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=7000 ns
	din = 16'b0000000000000011; //3
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=7100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=7200 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=7300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=7400 ns
	din = 16'b0000000000000110; //6
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=7500 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=7600 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=7700 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=7800 ns
	din = 16'b0000000000001001; //9
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=7900 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=8000 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=8100 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=8200 ns
	wr_en = 1'b0;
	wr_clk = 1'b0;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=8300 ns
	rd_clk = 1'b0;
	// --------------------
	#100 // Time=8400 ns
	wr_clk = 1'b1;
	rd_clk = 1'b1;
	// --------------------
	#100 // Time=8500 ns

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -