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

Subversion Repositories vg_z80_sbc

[/] [vg_z80_sbc/] [trunk/] [rtl/] [wb_ddr.v] - Diff between revs 3 and 20

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 3 Rev 20
Line 6... Line 6...
 
 
`include "ddr_include.v"
`include "ddr_include.v"
 
 
module wb_ddr
module wb_ddr
#(
#(
        parameter phase_shift  = 0,
        parameter clk_freq     = 100000000,
        parameter clk_multiply = 12,
        parameter clk_multiply = 12,
        parameter clk_divide   = 5,
        parameter clk_divide   = 5,
 
        parameter phase_shift  = 0,
        parameter wait200_init = 26
        parameter wait200_init = 26
) (
) (
        input                   clk,
        input                   clk,
        input                   reset,
        input                   reset,
        // XXX -- DCM phase control -- XXX
 
        input  [2:0]            rot,
 
        //  DDR ports
        //  DDR ports
        output                   ddr_clk,
        output             [2:0] ddr_clk,
        output                   ddr_clk_n,
        output             [2:0] ddr_clk_n,
        input                    ddr_clk_fb,
        input                    ddr_clk_fb,
        output                   ddr_ras_n,
        output                   ddr_ras_n,
        output                   ddr_cas_n,
        output                   ddr_cas_n,
        output                   ddr_we_n,
        output                   ddr_we_n,
        output                   ddr_cke,
        output             [1:0] ddr_cke,
        output                   ddr_cs_n,
        output             [1:0] ddr_cs_n,
        output        [  `A_RNG] ddr_a,
        output        [  `A_RNG] ddr_a,
        output        [ `BA_RNG] ddr_ba,
        output        [ `BA_RNG] ddr_ba,
        inout         [ `DQ_RNG] ddr_dq,
        inout         [ `DQ_RNG] ddr_dq,
        inout         [`DQS_RNG] ddr_dqs,
        inout         [`DQS_RNG] ddr_dqs,
        output        [ `DM_RNG] ddr_dm,
        output        [ `DM_RNG] ddr_dm,
Line 37... Line 36...
        output reg [`WB_DAT_RNG] wb_dat_o,
        output reg [`WB_DAT_RNG] wb_dat_o,
        input      [`WB_SEL_RNG] wb_sel_i,
        input      [`WB_SEL_RNG] wb_sel_i,
        input                    wb_cyc_i,
        input                    wb_cyc_i,
        input                    wb_stb_i,
        input                    wb_stb_i,
        input                    wb_we_i,
        input                    wb_we_i,
        output reg               wb_ack_o
        output reg               wb_ack_o,
 
        // XXX Temporary DCM control input XXX
 
        output                   ps_ready,
 
        input                    ps_up,
 
        input                    ps_down,
 
        // XXX probe wires XXX
 
        output                   probe_clk,
 
        input              [7:0] probe_sel,
 
        output reg         [7:0] probe
);
);
 
 
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Wishbone handling
// Wishbone handling
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
Line 441... Line 448...
        .clk_divide(   clk_divide   ),
        .clk_divide(   clk_divide   ),
        .wait200_init( wait200_init )
        .wait200_init( wait200_init )
) ctrl0 (
) ctrl0 (
        .clk(          clk         ),
        .clk(          clk         ),
        .reset(        reset       ),
        .reset(        reset       ),
        .rot(          rot         ),
 
        // DDR Ports
        // DDR Ports
        .ddr_clk(      ddr_clk     ),
        .ddr_clk(      ddr_clk     ),
        .ddr_clk_n(    ddr_clk_n   ),
        .ddr_clk_n(    ddr_clk_n   ),
        .ddr_clk_fb(   ddr_clk_fb  ),
        .ddr_clk_fb(   ddr_clk_fb  ),
        .ddr_ras_n(    ddr_ras_n   ),
        .ddr_ras_n(    ddr_ras_n   ),
Line 466... Line 472...
        .fml_wdat(     fml_wdat    ),
        .fml_wdat(     fml_wdat    ),
        .fml_wbe(      fml_wbe     ),
        .fml_wbe(      fml_wbe     ),
        .fml_wnext(    fml_wnext2  ),
        .fml_wnext(    fml_wnext2  ),
        .fml_rempty(   fml_rempty  ),
        .fml_rempty(   fml_rempty  ),
        .fml_rdat(     fml_rdat    ),
        .fml_rdat(     fml_rdat    ),
        .fml_rnext(    fml_rnext   )
        .fml_rnext(    fml_rnext   ),
 
        // DCM phase shift control
 
        .ps_ready(     ps_ready   ),
 
        .ps_up(        ps_up      ),
 
        .ps_down(      ps_down    )
);
);
 
 
assign fml_adr = { ls_adr_tag, ls_adr_set };
assign fml_adr = { ls_adr_tag, ls_adr_set };
 
 
assign fml_wdat  = (ls_way) ? ls_way1_load[`WAY_DAT_RNG] :
assign fml_wdat  = (ls_way) ? ls_way1_load[`WAY_DAT_RNG] :
Line 606... Line 616...
 
 
        if (ls_spill)
        if (ls_spill)
                $display ("At time %t WB_DDR spill cacheline: TAG = %h, SET = %h)", $time, ls_adr_tag, ls_adr_set);
                $display ("At time %t WB_DDR spill cacheline: TAG = %h, SET = %h)", $time, ls_adr_tag, ls_adr_set);
end
end
 
 
 
 
endmodule
endmodule
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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