OpenCores
URL https://opencores.org/ocsvn/mips_16/mips_16/trunk

Subversion Repositories mips_16

[/] [mips_16/] [trunk/] [bench/] [MEM_stage/] [MEM_stage_tb_0.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 Doyya
////////////////////////////////////////////////////////////////////////////////
2
// Company: 
3
// Engineer:
4
//
5
// Create Date:   15:00:04 02/09/2012
6
// Design Name:   MEM_stage
7
// Module Name:   F:/Projects/My_MIPS/mips_16/backend/Xilinx/mips_16/MEM_stage_tb_0.v
8
// Project Name:  mips_16
9
// Target Device:  
10
// Tool versions:  
11
// Description: 
12
//
13
// Verilog Test Fixture created by ISE for module: MEM_stage
14
//
15
// Dependencies:
16
// 
17
// Revision:
18
// Revision 0.01 - File Created
19
// Additional Comments:
20
// 
21
////////////////////////////////////////////////////////////////////////////////
22
`timescale 1ns/1ps
23
`include "mips_16_defs.v"
24
 
25
module MEM_stage_tb_0_v;
26
 
27
        // Inputs
28
        reg clk;
29
        reg rst;
30
        reg [37:0] pipeline_reg_in;
31
 
32
        // Outputs
33
        wire [36:0] pipeline_reg_out;
34
        wire [2:0] mem_op_dest;
35
 
36
        parameter CLK_PERIOD = 10;
37
        always #(CLK_PERIOD /2)
38
                clk =~clk;
39
 
40
        // Instantiate the Unit Under Test (UUT)
41
        MEM_stage uut (
42
                .clk(clk),
43
                .rst(rst),
44
                .pipeline_reg_in(pipeline_reg_in),
45
                .pipeline_reg_out(pipeline_reg_out),
46
                .mem_op_dest(mem_op_dest)
47
        );
48
 
49
        initial begin
50
                // Initialize Inputs
51
                clk = 0;
52
                rst = 0;
53
                pipeline_reg_in = 0;
54
 
55
                // Wait 100 ns for global reset to finish
56
                #100;
57
 
58
                // Add stimulus here
59
                #(CLK_PERIOD/2)
60
                #1
61
                #(CLK_PERIOD*1) rst = 1;
62
                #(CLK_PERIOD*1) rst = 0;
63
 
64
                #(CLK_PERIOD*10)
65
 
66
                uut.dmem.ram[128] = 16'h69fe;
67
                pipeline_reg_in = {16'd128, 1'b1, 16'h69fe, 5'b10101};
68
 
69
                #(CLK_PERIOD*0.5)
70
                if (mem_op_dest == 3'b010)
71
                        $display("ok1 ");
72
                else
73
                        $display("error1, %x ", mem_op_dest);
74
 
75
                #(CLK_PERIOD*0.5)
76
                if( pipeline_reg_out == {16'd128, 16'h69fe, 5'b10101} )
77
                        $display("ok2 ");
78
                else
79
                        $display("error2, %x ", pipeline_reg_out);
80
 
81
                #(CLK_PERIOD*10)
82
                $stop;
83
        end
84
 
85
endmodule
86
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.