HierarchyFilesModulesSignalsTasksFunctionsHelp
/****************************************************************
 ---------------------------------------------------------------
     Copyright 1999 Sun Microsystems, Inc., 901 San Antonio
     Road, Palo Alto, CA 94303, U.S.A.  All Rights Reserved.
     The contents of this file are subject to the current
     version of the Sun Community Source License, picoJava-II
     Core ("the License").  You may not use this file except
     in compliance with the License.  You may obtain a copy
     of the License by searching for "Sun Community Source
     License" on the World Wide Web at http://www.sun.com.
     See the License for the rights, obligations, and
     limitations governing use of the contents of this file.

     Sun, Sun Microsystems, the Sun logo, and all Sun-based
     trademarks and logos, Java, picoJava, and all Java-based
     trademarks and logos are trademarks or registered trademarks 
     of Sun Microsystems, Inc. in the United States and other
     countries.
 ----------------------------------------------------------------
******************************************************************/



`timescale 1ns/10ps

// `define	 dc_size	8*1024 -1  	// Size of 1 set of Cache Ram.

[Up: dcram_shell dcram_top]
module dcram_top(clk, enable, bist_reset, bist_mode, bank_sel, bypass, we, addr, data_in, test_mode, sin, sm,
                 ERROR, data_out, so);

   input clk;
   input enable;
   input test_mode;
   input bist_reset; 
   input bypass; 
   input [3:0] we; 
   input [1:0] bist_mode; 
   input [1:0] bank_sel;
   input [63:0] data_in;
   input [`dc_msb:0] addr;     		// Address inputs
   input sin;
   input sm;
   
   output ERROR; 
   output [63:0] data_out;
   output so;

   wire BACKGROUND;  
   wire [`dc_msb-2:0] BIST_ADR;  
   wire BIST_ON;  
   wire BIST_WE;  
   wire END_SEQ;  
   wire ERRN_ON;  
   wire INVERSE;  
   wire NO_COMP;  
   wire dcache_ram0_ENABLE;  
   wire dcache_ram0_ERROR;  
   wire dcache_ram1_ENABLE;  
   wire dcache_ram1_ERROR;
   
   wire [31:0] int_di0;
   wire [31:0] int_do0;
   wire [63:0] int_di;
   wire [31:0] int_di1;
   wire [31:0] int_do1;
   
   wire        int_we0;
   wire        int_we1;
   wire [3:0]  int_we;

   assign int_we[0] = int_we0;
   assign int_we[1] = int_we0;
   assign int_we[2] = int_we1;
   assign int_we[3] = int_we1;

   assign int_di[31:0]  = int_di0[31:0];
   assign int_di[63:32] = int_di1[31:0];

   Controller  Controller_Ins(.TCLK(clk), .TRESET(bist_reset), .MODE(bist_mode), 
      .dcache_ram0_ERROR(dcache_ram0_ERROR), .dcache_ram1_ERROR(dcache_ram1_ERROR), 
      .BIST_ADR(BIST_ADR), .dcache_ram0_ENABLE(dcache_ram0_ENABLE), .dcache_ram1_ENABLE(dcache_ram1_ENABLE), 
      .BIST_WE(BIST_WE), .INVERSE(INVERSE), .END_SEQ(END_SEQ), .BIST_ON(BIST_ON), .test_mode(test_mode),
      .ERRN_ON(ERRN_ON), .NO_COMP(NO_COMP), .BACKGROUND(BACKGROUND), .DONE(), .ERROR(ERROR), .FAIL());

   dcache_ram0_LocalBist  dcache_ram0_Bist_Ins(.BIST_PATTERN(int_di0), .we(int_we0), .func_do(int_do0), 
      .BIST_ADR(BIST_ADR), .BIST_WE(BIST_WE), 
      .BIST_ON(BIST_ON), .ERRN_ON(ERRN_ON), .INVERSE(INVERSE), 
      .NO_COMP(NO_COMP), .END_SEQ(END_SEQ), .dcache_ram0_ENABLE(dcache_ram0_ENABLE), 
      .BACKGROUND(BACKGROUND), .dcache_ram0_ERROR(dcache_ram0_ERROR));

   dcache_ram1_LocalBist  dcache_ram1_Bist_Ins(.BIST_PATTERN(int_di1), .we(int_we1), .func_do(int_do1), 
      .BIST_ADR(BIST_ADR), .BIST_WE(BIST_WE), 
      .BIST_ON(BIST_ON), .ERRN_ON(ERRN_ON), .INVERSE(INVERSE), 
      .NO_COMP(NO_COMP), .END_SEQ(END_SEQ), .dcache_ram1_ENABLE(dcache_ram1_ENABLE), 
      .BACKGROUND(BACKGROUND), .dcache_ram1_ERROR(dcache_ram1_ERROR));

   dcram  dcram(.data_in(data_in), .we(we), .bypass(bypass), .bank_sel(bank_sel), .enable(enable),
      .addr(addr), .data_out(data_out), .test_mode(test_mode), .bist_enable(1'b1),
      .dcache_ram0_do(int_do0), .dcache_ram1_do(int_do1), .bist_we(int_we),
      .clk(clk), .bist_data_in(int_di), .bist_addr(BIST_ADR), .sin(sin),
      .sm(sm), .so(so) );

endmodule

[Up: dcram_top Controller_Ins]
module Controller ( TCLK, TRESET, MODE, dcache_ram0_ERROR, 
    dcache_ram1_ERROR, BIST_ADR, dcache_ram0_ENABLE, dcache_ram1_ENABLE, 
    BIST_WE, INVERSE, END_SEQ, BIST_ON, ERRN_ON, NO_COMP, BACKGROUND, 
    DONE, ERROR, FAIL, test_mode );
input  [1:0] MODE;
output [`dc_msb-2:0] BIST_ADR;
input  TCLK, TRESET, dcache_ram0_ERROR, dcache_ram1_ERROR, test_mode;
output dcache_ram0_ENABLE, dcache_ram1_ENABLE, BIST_WE, INVERSE, END_SEQ, 
    BIST_ON, ERRN_ON, NO_COMP, BACKGROUND, DONE, ERROR, FAIL;

endmodule

[Up: dcram_top dcache_ram0_Bist_Ins]
module dcache_ram0_LocalBist ( BIST_ADR, BIST_WE, 
    func_do, BIST_ON, ERRN_ON, INVERSE, 
    NO_COMP, END_SEQ, dcache_ram0_ENABLE, BACKGROUND, BIST_PATTERN, we,
    dcache_ram0_ERROR );

input  [31:0] func_do;
output [31:0] BIST_PATTERN;
input  [`dc_msb-2:0] BIST_ADR;
input  BIST_WE, BIST_ON, ERRN_ON, INVERSE, 
       NO_COMP, END_SEQ, dcache_ram0_ENABLE, BACKGROUND;
output dcache_ram0_ERROR, we;

endmodule

[Up: dcram_top dcache_ram1_Bist_Ins]
module dcache_ram1_LocalBist ( BIST_ADR, BIST_WE, 
    func_do, BIST_ON, ERRN_ON, INVERSE, 
    NO_COMP, END_SEQ, dcache_ram1_ENABLE, BACKGROUND, BIST_PATTERN, we,
    dcache_ram1_ERROR );

input  [31:0] func_do;
output [31:0] BIST_PATTERN;
input  [`dc_msb-2:0] BIST_ADR;
input  BIST_WE, BIST_ON, ERRN_ON, INVERSE, 
       NO_COMP, END_SEQ, dcache_ram1_ENABLE, BACKGROUND;
output dcache_ram1_ERROR, we;

endmodule


HierarchyFilesModulesSignalsTasksFunctionsHelp

This page: Created:Wed Mar 24 09:43:23 1999
From: /import/jet-pj2-sim/rahim/picoJava-II/design/dcram/rtl/dcram_top.v

Verilog converted to html by v2html 5.0 (written by Costas Calamvokis).Help