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

Subversion Repositories or1k

[/] [or1k/] [tags/] [rel_13/] [or1200/] [rtl/] [verilog/] [or1200_dc_ram.v] - Diff between revs 1063 and 1186

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

Rev 1063 Rev 1186
Line 43... Line 43...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.2  2002/10/17 20:04:40  lampret
 
// Added BIST scan. Special VS RAMs need to be used to implement BIST.
 
//
// Revision 1.1  2002/01/03 08:16:15  lampret
// Revision 1.1  2002/01/03 08:16:15  lampret
// New prefixes for RTL files, prefixed module names. Updated cache controllers and MMUs.
// New prefixes for RTL files, prefixed module names. Updated cache controllers and MMUs.
//
//
// Revision 1.8  2001/10/21 17:57:16  lampret
// Revision 1.8  2001/10/21 17:57:16  lampret
// Removed params from generic_XX.v. Added translate_off/on in sprs.v and id.v. Removed spr_addr from dc.v and ic.v. Fixed CR+LF.
// Removed params from generic_XX.v. Added translate_off/on in sprs.v and id.v. Removed spr_addr from dc.v and ic.v. Fixed CR+LF.
Line 118... Line 121...
assign scanb_so = scanb_si;
assign scanb_so = scanb_si;
`endif
`endif
 
 
`else
`else
 
 
`ifdef OR1200_BIST
 
//
 
// RAM BIST
 
//
 
wire                            scanb_ram0_so;
 
wire                            scanb_ram1_so;
 
wire                            scanb_ram2_so;
 
wire                            scanb_ram3_so;
 
wire                            scanb_ram0_si = scanb_si;
 
wire                            scanb_ram1_si = scanb_ram0_so;
 
wire                            scanb_ram2_si = scanb_ram1_so;
 
wire                            scanb_ram3_si = scanb_ram2_so;
 
assign                          scanb_so = scanb_ram3_so;
 
`endif
 
 
 
//
 
// Instantiation of RAM block 0
 
//
 
`ifdef OR1200_DC_1W_4KB
 
or1200_spram_1024x8 dc_ram0(
 
`endif
 
`ifdef OR1200_DC_1W_8KB
 
or1200_spram_2048x8 dc_ram0(
 
`endif
 
`ifdef OR1200_BIST
 
        // RAM BIST
 
        .scanb_rst(scanb_rst),
 
        .scanb_si(scanb_ram0_si),
 
        .scanb_so(scanb_ram0_so),
 
        .scanb_en(scanb_en),
 
        .scanb_clk(scanb_clk),
 
`endif
 
        .clk(clk),
 
        .rst(rst),
 
        .ce(en),
 
        .we(we[0]),
 
        .oe(1'b1),
 
        .addr(addr),
 
        .di(datain[7:0]),
 
        .do(dataout[7:0])
 
);
 
 
 
//
 
// Instantiation of RAM block 1
 
//
 
`ifdef OR1200_DC_1W_4KB
 
or1200_spram_1024x8 dc_ram1(
 
`endif
 
`ifdef OR1200_DC_1W_8KB
 
or1200_spram_2048x8 dc_ram1(
 
`endif
 
`ifdef OR1200_BIST
 
        // RAM BIST
 
        .scanb_rst(scanb_rst),
 
        .scanb_si(scanb_ram1_si),
 
        .scanb_so(scanb_ram1_so),
 
        .scanb_en(scanb_en),
 
        .scanb_clk(scanb_clk),
 
`endif
 
        .clk(clk),
 
        .rst(rst),
 
        .ce(en),
 
        .we(we[1]),
 
        .oe(1'b1),
 
        .addr(addr),
 
        .di(datain[15:8]),
 
        .do(dataout[15:8])
 
);
 
 
 
//
//
// Instantiation of RAM block 2
// Instantiation of RAM block
//
//
`ifdef OR1200_DC_1W_4KB
`ifdef OR1200_DC_1W_4KB
or1200_spram_1024x8 dc_ram2(
or1200_spram_1024x32_bw dc_ram(
`endif
`endif
`ifdef OR1200_DC_1W_8KB
`ifdef OR1200_DC_1W_8KB
or1200_spram_2048x8 dc_ram2(
or1200_spram_2048x32_bw dc_ram(
`endif
`endif
`ifdef OR1200_BIST
`ifdef OR1200_BIST
        // RAM BIST
        // RAM BIST
        .scanb_rst(scanb_rst),
        .scanb_rst(scanb_rst),
        .scanb_si(scanb_ram2_si),
        .scanb_si(scanb_si),
        .scanb_so(scanb_ram2_so),
        .scanb_so(scanb_so),
        .scanb_en(scanb_en),
        .scanb_en(scanb_en),
        .scanb_clk(scanb_clk),
        .scanb_clk(scanb_clk),
`endif
`endif
        .clk(clk),
        .clk(clk),
        .rst(rst),
        .rst(rst),
        .ce(en),
        .ce(en),
        .we(we[2]),
        .we(we),
        .oe(1'b1),
        .oe(1'b1),
        .addr(addr),
        .addr(addr),
        .di(datain[23:16]),
        .di(datain),
        .do(dataout[23:16])
        .do(dataout)
);
);
 
 
//
 
// Instantiation of RAM block 3
 
//
 
`ifdef OR1200_DC_1W_4KB
 
or1200_spram_1024x8 dc_ram3(
 
`endif
`endif
`ifdef OR1200_DC_1W_8KB
 
or1200_spram_2048x8 dc_ram3(
 
`endif
 
`ifdef OR1200_BIST
 
        // RAM BIST
 
        .scanb_rst(scanb_rst),
 
        .scanb_si(scanb_ram3_si),
 
        .scanb_so(scanb_ram3_so),
 
        .scanb_en(scanb_en),
 
        .scanb_clk(scanb_clk),
 
`endif
 
        .clk(clk),
 
        .rst(rst),
 
        .ce(en),
 
        .we(we[3]),
 
        .oe(1'b1),
 
        .addr(addr),
 
        .di(datain[31:24]),
 
        .do(dataout[31:24])
 
);
 
 
 
`endif
 
 
 
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.