HierarchyFilesModulesSignalsTasksFunctionsHelp

/******************************************************************************/ 
/*                                                                            */ 
/* Copyright (c) 1999 Sun Microsystems, Inc. All rights reserved.             */ 
/*                                                                            */ 
/* The contents of this file are subject to the current version of the Sun    */ 
/* Community Source License, microSPARCII ("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 Microsystems, Inc. has intellectual property rights relating to the    */ 
/* technology embodied in these files. In particular, and without limitation, */ 
/* these intellectual property rights may include one or more U.S. patents,   */ 
/* foreign patents, or pending applications.                                  */ 
/*                                                                            */ 
/* Sun, Sun Microsystems, the Sun logo, all Sun-based trademarks and logos,   */ 
/* Solaris, Java and all Java-based trademarks and logos are trademarks or    */ 
/* registered trademarks of Sun Microsystems, Inc. in the United States and   */ 
/* other countries. microSPARC is a trademark or registered trademark of      */ 
/* SPARC International, Inc. All SPARC trademarks are used under license and  */ 
/* are trademarks or registered trademarks of SPARC International, Inc. in    */ 
/* the United States and other countries. Products bearing SPARC trademarks   */ 
/* are based upon an architecture developed by Sun Microsystems, Inc.         */ 
/*                                                                            */ 
/******************************************************************************/ 
// **************************************************************************
// @(#)rl_dpc_dpath.v	1.14 7/28/93
// rl_dpc_dpath.v
//
//  Description:
//      The data-path section of the DPC block of memory subsystem in
//      SingleSPARC.
//      Refer to SingleSPARC Hardware Spec, section 2.7.4 for block diagram
//      and more information.
//
//
//  Dependencies:
//      mem_cells.vpp
//
//
//
// **************************************************************************


/**************************************************************************
 * This module contains the uni-directional data-flow path of the DPC block,
 * ie the in/out registers and the RMW mux as described in SingleSPARC
 * Hardware Spec, section 2.7.4. But the interface to the external data bus
 * via bi-dir pads or the connection to the internal data-bus via 3-state
 * buffers are seperated into their own modules (rl_dpc_io & rl_dpc_tri)
 * and are placed in dpc_bi_tri.v file.
 */
[Up: rl_dpc_core dpc_dpath]
module rl_dpc_dpath (	pod, pod_dram, rid_out, rid,
			bd_mux_out1, bd_mux_out0, pid, out_hld_1, out_hld_0,
			in_hld, mux_sel, 
			ss_clock, 
			mc_cfb_data, mm_misc2cf, dp_buf0_en_dly,
			gr_hld, gr_out_sel
			);

    output  [63:0]  pod;  // Data out to the Data Pads.
    output  [63:0]  pod_dram;  // Data out to the parity gen for dram data only.
    output  [31:0]  rid_out;  // Data from 'in0' & 'in1' 32-bit regs to the
    output  [63:0]  rid;  // Data from 'in0' & 'in1' 64-bit regs to parity check
    output  [63:0]  mc_cfb_data;
							 // 3-st buffs at the internal bi-dir data bus.

    input   [31:0]  bd_mux_out1;     // Data input from Internal bi-di data bus.
    input   [31:0]  bd_mux_out0;     // Data input from Internal bi-di data bus.
    input   [63:0]  pid;          // Data in from Data Pads.
    input      out_hld_1;
    input      out_hld_0;
    input   [1:0]   in_hld;
    input   [3:0]   mux_sel;
    input           ss_clock;         // Free running system clock.
//    input 	    quad_sel;	// select to reg data from out2 and out3 .
    input	    mm_misc2cf;
    input	    dp_buf0_en_dly;
//    input	    prev_wd_sel;
    input   [1:0]   gr_hld;
    input	    gr_out_sel;


    wire    [63:0]  rod;
    wire    [31:0]  bd_mux_out1;
    wire    [31:0]  bd_mux_out0;
    wire    [63:0]  quad_data;
//    wire    [63:0]  rid;
//    wire 	write_buf_sel = mm_write_buffer_sel & ~quad_sel;
//    wire	bd_mdata_sel = ~write_buf_sel & ~quad_sel;
// Add 32-bit mux to select write buffer data or misc bus for hi 32 bits.
// Add 2 32-bit reg to store quad word write from sbc.

/* the following is moved to the memif_minor block

	wire	quad_sel_dwd;
	assign quad_sel_dwd = prev_wd_sel | quad_sel;


    Mux2_32	    out1_mux (bd_mux_out1[31:0],bd_mdata[31:0],
				quad_data[63:32], quad_sel_dwd);
    Mux2_32	    out0_mux (bd_mux_out0[31:0], bd_mdata[31:0], 
				quad_data[31:0], quad_sel);

    GReg32          out0    (rod[31:0] , bd_mux_out0[31:0] , ss_clock ,
							 out_hld[0]);
    GReg32          out1    (rod[63:32] , bd_mux_out1[31:0] , ss_clock ,
							 out_hld[1]);
    GReg32          out2    (quad_data[63:32] , bd_mdata[31:0] , ss_clock ,
							 out_hld[2]);
    GReg32          out3    (quad_data[31:0] , bd_mdata[31:0] , ss_clock ,
							 out_hld[3]);

*/

    GReg32          out0    (rod[31:0] , bd_mux_out0[31:0] , ss_clock ,
                                                         out_hld_0);
    GReg32          out1    (rod[63:32] , bd_mux_out1[31:0] , ss_clock ,
                                                         out_hld_1);


// add datapath for graphics reg.
	wire	[31:0] gr0;
	wire	[63:32] gr1;
	wire	[31:0] gr2;
	wire	[63:32] gr3;


// delay mm_misc2cf_reg to fix hold time
        wire mm_misc2cf_reg_delay;
        wire mm_misc2cf_reg_delay_2;
        wire [63:0] rod_delay;
        wire [63:0] rod_delay_2;
        wire [63:0] rod_delay_3;

    GReg32          grout0    (gr0[31:0], rod_delay_3[31:0], ss_clock, gr_hld[0]);
    GReg32          grout1    (gr1[63:32], rod_delay_3[63:32], ss_clock, gr_hld[0]);
    GReg32          grout2    (gr2[31:0], gr0[31:0], ss_clock, gr_hld[1]);
    GReg32          grout3    (gr3[63:32], gr1[63:32], ss_clock, gr_hld[1]);

// add mux before in reg for asi path
    wire                        Gnd = 1'b0;
//    Mux2_32         in1_mux(mc_cfb_data[63:32],pid[63:32],pod[63:32],Gnd);
//    Mux2_32         in0_mux(mc_cfb_data[31:0], pid[31:0] ,pod[31:0],Gnd);


// remove hold
//    GReg1          misc2cf_reg    (mm_misc2cf_reg, mm_misc2cf, ss_clock, Gnd);
    Mflipflop_noop_1          misc2cf_reg    (mm_misc2cf_reg, mm_misc2cf, ss_clock);

// defined above, actually used here.

JBUFDA misc2cf_delay ( .A(mm_misc2cf_reg), .O(mm_misc2cf_reg_delay) );
JBUFE misc2cf_delay_2 ( .A(mm_misc2cf_reg_delay), .O(mm_misc2cf_reg_delay_2) );

// first set of buffers
JBUFDA cfb_delay_0 ( .A(rod[0]), .O(rod_delay[0]) );
JBUFDA cfb_delay_1 ( .A(rod[1]), .O(rod_delay[1]) );
JBUFDA cfb_delay_2 ( .A(rod[2]), .O(rod_delay[2]) );
JBUFDA cfb_delay_3 ( .A(rod[3]), .O(rod_delay[3]) );
JBUFDA cfb_delay_4 ( .A(rod[4]), .O(rod_delay[4]) );
JBUFDA cfb_delay_5 ( .A(rod[5]), .O(rod_delay[5]) );
JBUFDA cfb_delay_6 ( .A(rod[6]), .O(rod_delay[6]) );
JBUFDA cfb_delay_7 ( .A(rod[7]), .O(rod_delay[7]) );
JBUFDA cfb_delay_8 ( .A(rod[8]), .O(rod_delay[8]) );
JBUFDA cfb_delay_9 ( .A(rod[9]), .O(rod_delay[9]) );

JBUFDA cfb_delay_10 ( .A(rod[10]), .O(rod_delay[10]) );
JBUFDA cfb_delay_11 ( .A(rod[11]), .O(rod_delay[11]) );
JBUFDA cfb_delay_12 ( .A(rod[12]), .O(rod_delay[12]) );
JBUFDA cfb_delay_13 ( .A(rod[13]), .O(rod_delay[13]) );
JBUFDA cfb_delay_14 ( .A(rod[14]), .O(rod_delay[14]) );
JBUFDA cfb_delay_15 ( .A(rod[15]), .O(rod_delay[15]) );
JBUFDA cfb_delay_16 ( .A(rod[16]), .O(rod_delay[16]) );
JBUFDA cfb_delay_17 ( .A(rod[17]), .O(rod_delay[17]) );
JBUFDA cfb_delay_18 ( .A(rod[18]), .O(rod_delay[18]) );
JBUFDA cfb_delay_19 ( .A(rod[19]), .O(rod_delay[19]) );
 
JBUFDA cfb_delay_20 ( .A(rod[20]), .O(rod_delay[20]) );
JBUFDA cfb_delay_21 ( .A(rod[21]), .O(rod_delay[21]) ); 
JBUFDA cfb_delay_22 ( .A(rod[22]), .O(rod_delay[22]) );
JBUFDA cfb_delay_23 ( .A(rod[23]), .O(rod_delay[23]) ); 
JBUFDA cfb_delay_24 ( .A(rod[24]), .O(rod_delay[24]) ); 
JBUFDA cfb_delay_25 ( .A(rod[25]), .O(rod_delay[25]) ); 
JBUFDA cfb_delay_26 ( .A(rod[26]), .O(rod_delay[26]) ); 
JBUFDA cfb_delay_27 ( .A(rod[27]), .O(rod_delay[27]) ); 
JBUFDA cfb_delay_28 ( .A(rod[28]), .O(rod_delay[28]) ); 
JBUFDA cfb_delay_29 ( .A(rod[29]), .O(rod_delay[29]) ); 

JBUFDA cfb_delay_30 ( .A(rod[30]), .O(rod_delay[30]) );
JBUFDA cfb_delay_31 ( .A(rod[31]), .O(rod_delay[31]) ); 
JBUFDA cfb_delay_32 ( .A(rod[32]), .O(rod_delay[32]) );
JBUFDA cfb_delay_33 ( .A(rod[33]), .O(rod_delay[33]) ); 
JBUFDA cfb_delay_34 ( .A(rod[34]), .O(rod_delay[34]) ); 
JBUFDA cfb_delay_35 ( .A(rod[35]), .O(rod_delay[35]) ); 
JBUFDA cfb_delay_36 ( .A(rod[36]), .O(rod_delay[36]) ); 
JBUFDA cfb_delay_37 ( .A(rod[37]), .O(rod_delay[37]) ); 
JBUFDA cfb_delay_38 ( .A(rod[38]), .O(rod_delay[38]) ); 
JBUFDA cfb_delay_39 ( .A(rod[39]), .O(rod_delay[39]) ); 
  
JBUFDA cfb_delay_40 ( .A(rod[40]), .O(rod_delay[40]) );
JBUFDA cfb_delay_41 ( .A(rod[41]), .O(rod_delay[41]) );  
JBUFDA cfb_delay_42 ( .A(rod[42]), .O(rod_delay[42]) ); 
JBUFDA cfb_delay_43 ( .A(rod[43]), .O(rod_delay[43]) ); 
JBUFDA cfb_delay_44 ( .A(rod[44]), .O(rod_delay[44]) ); 
JBUFDA cfb_delay_45 ( .A(rod[45]), .O(rod_delay[45]) ); 
JBUFDA cfb_delay_46 ( .A(rod[46]), .O(rod_delay[46]) );  
JBUFDA cfb_delay_47 ( .A(rod[47]), .O(rod_delay[47]) );  
JBUFDA cfb_delay_48 ( .A(rod[48]), .O(rod_delay[48]) );  
JBUFDA cfb_delay_49 ( .A(rod[49]), .O(rod_delay[49]) );  

JBUFDA cfb_delay_50 ( .A(rod[50]), .O(rod_delay[50]) ); 
JBUFDA cfb_delay_51 ( .A(rod[51]), .O(rod_delay[51]) );  
JBUFDA cfb_delay_52 ( .A(rod[52]), .O(rod_delay[52]) );
JBUFDA cfb_delay_53 ( .A(rod[53]), .O(rod_delay[53]) ); 
JBUFDA cfb_delay_54 ( .A(rod[54]), .O(rod_delay[54]) ); 
JBUFDA cfb_delay_55 ( .A(rod[55]), .O(rod_delay[55]) );  
JBUFDA cfb_delay_56 ( .A(rod[56]), .O(rod_delay[56]) );  
JBUFDA cfb_delay_57 ( .A(rod[57]), .O(rod_delay[57]) );  
JBUFDA cfb_delay_58 ( .A(rod[58]), .O(rod_delay[58]) );  
JBUFDA cfb_delay_59 ( .A(rod[59]), .O(rod_delay[59]) );  
   
JBUFDA cfb_delay_60 ( .A(rod[60]), .O(rod_delay[60]) ); 
JBUFDA cfb_delay_61 ( .A(rod[61]), .O(rod_delay[61]) );   
JBUFDA cfb_delay_62 ( .A(rod[62]), .O(rod_delay[62]) );  
JBUFDA cfb_delay_63 ( .A(rod[63]), .O(rod_delay[63]) );  
 

// second set of buffers
JBUFDA cfb_delay_2_0 ( .A(rod_delay[0]), .O(rod_delay_2[0]) );
JBUFDA cfb_delay_2_1 ( .A(rod_delay[1]), .O(rod_delay_2[1]) );
JBUFDA cfb_delay_2_2 ( .A(rod_delay[2]), .O(rod_delay_2[2]) );
JBUFDA cfb_delay_2_3 ( .A(rod_delay[3]), .O(rod_delay_2[3]) );
JBUFDA cfb_delay_2_4 ( .A(rod_delay[4]), .O(rod_delay_2[4]) );
JBUFDA cfb_delay_2_5 ( .A(rod_delay[5]), .O(rod_delay_2[5]) );
JBUFDA cfb_delay_2_6 ( .A(rod_delay[6]), .O(rod_delay_2[6]) );
JBUFDA cfb_delay_2_7 ( .A(rod_delay[7]), .O(rod_delay_2[7]) );
JBUFDA cfb_delay_2_8 ( .A(rod_delay[8]), .O(rod_delay_2[8]) );
JBUFDA cfb_delay_2_9 ( .A(rod_delay[9]), .O(rod_delay_2[9]) );

JBUFDA cfb_delay_2_10 ( .A(rod_delay[10]), .O(rod_delay_2[10]) );
JBUFDA cfb_delay_2_11 ( .A(rod_delay[11]), .O(rod_delay_2[11]) );
JBUFDA cfb_delay_2_12 ( .A(rod_delay[12]), .O(rod_delay_2[12]) );
JBUFDA cfb_delay_2_13 ( .A(rod_delay[13]), .O(rod_delay_2[13]) );
JBUFDA cfb_delay_2_14 ( .A(rod_delay[14]), .O(rod_delay_2[14]) );
JBUFDA cfb_delay_2_15 ( .A(rod_delay[15]), .O(rod_delay_2[15]) );
JBUFDA cfb_delay_2_16 ( .A(rod_delay[16]), .O(rod_delay_2[16]) );
JBUFDA cfb_delay_2_17 ( .A(rod_delay[17]), .O(rod_delay_2[17]) );
JBUFDA cfb_delay_2_18 ( .A(rod_delay[18]), .O(rod_delay_2[18]) );
JBUFDA cfb_delay_2_19 ( .A(rod_delay[19]), .O(rod_delay_2[19]) );
 
JBUFDA cfb_delay_2_20 ( .A(rod_delay[20]), .O(rod_delay_2[20]) );
JBUFDA cfb_delay_2_21 ( .A(rod_delay[21]), .O(rod_delay_2[21]) ); 
JBUFDA cfb_delay_2_22 ( .A(rod_delay[22]), .O(rod_delay_2[22]) );
JBUFDA cfb_delay_2_23 ( .A(rod_delay[23]), .O(rod_delay_2[23]) ); 
JBUFDA cfb_delay_2_24 ( .A(rod_delay[24]), .O(rod_delay_2[24]) ); 
JBUFDA cfb_delay_2_25 ( .A(rod_delay[25]), .O(rod_delay_2[25]) ); 
JBUFDA cfb_delay_2_26 ( .A(rod_delay[26]), .O(rod_delay_2[26]) ); 
JBUFDA cfb_delay_2_27 ( .A(rod_delay[27]), .O(rod_delay_2[27]) ); 
JBUFDA cfb_delay_2_28 ( .A(rod_delay[28]), .O(rod_delay_2[28]) ); 
JBUFDA cfb_delay_2_29 ( .A(rod_delay[29]), .O(rod_delay_2[29]) ); 

JBUFDA cfb_delay_2_30 ( .A(rod_delay[30]), .O(rod_delay_2[30]) );
JBUFDA cfb_delay_2_31 ( .A(rod_delay[31]), .O(rod_delay_2[31]) ); 
JBUFDA cfb_delay_2_32 ( .A(rod_delay[32]), .O(rod_delay_2[32]) );
JBUFDA cfb_delay_2_33 ( .A(rod_delay[33]), .O(rod_delay_2[33]) ); 
JBUFDA cfb_delay_2_34 ( .A(rod_delay[34]), .O(rod_delay_2[34]) ); 
JBUFDA cfb_delay_2_35 ( .A(rod_delay[35]), .O(rod_delay_2[35]) ); 
JBUFDA cfb_delay_2_36 ( .A(rod_delay[36]), .O(rod_delay_2[36]) ); 
JBUFDA cfb_delay_2_37 ( .A(rod_delay[37]), .O(rod_delay_2[37]) ); 
JBUFDA cfb_delay_2_38 ( .A(rod_delay[38]), .O(rod_delay_2[38]) ); 
JBUFDA cfb_delay_2_39 ( .A(rod_delay[39]), .O(rod_delay_2[39]) ); 
  
JBUFDA cfb_delay_2_40 ( .A(rod_delay[40]), .O(rod_delay_2[40]) );
JBUFDA cfb_delay_2_41 ( .A(rod_delay[41]), .O(rod_delay_2[41]) );  
JBUFDA cfb_delay_2_42 ( .A(rod_delay[42]), .O(rod_delay_2[42]) ); 
JBUFDA cfb_delay_2_43 ( .A(rod_delay[43]), .O(rod_delay_2[43]) ); 
JBUFDA cfb_delay_2_44 ( .A(rod_delay[44]), .O(rod_delay_2[44]) ); 
JBUFDA cfb_delay_2_45 ( .A(rod_delay[45]), .O(rod_delay_2[45]) ); 
JBUFDA cfb_delay_2_46 ( .A(rod_delay[46]), .O(rod_delay_2[46]) );  
JBUFDA cfb_delay_2_47 ( .A(rod_delay[47]), .O(rod_delay_2[47]) );  
JBUFDA cfb_delay_2_48 ( .A(rod_delay[48]), .O(rod_delay_2[48]) );  
JBUFDA cfb_delay_2_49 ( .A(rod_delay[49]), .O(rod_delay_2[49]) );  

JBUFDA cfb_delay_2_50 ( .A(rod_delay[50]), .O(rod_delay_2[50]) ); 
JBUFDA cfb_delay_2_51 ( .A(rod_delay[51]), .O(rod_delay_2[51]) );  
JBUFDA cfb_delay_2_52 ( .A(rod_delay[52]), .O(rod_delay_2[52]) );
JBUFDA cfb_delay_2_53 ( .A(rod_delay[53]), .O(rod_delay_2[53]) ); 
JBUFDA cfb_delay_2_54 ( .A(rod_delay[54]), .O(rod_delay_2[54]) ); 
JBUFDA cfb_delay_2_55 ( .A(rod_delay[55]), .O(rod_delay_2[55]) );  
JBUFDA cfb_delay_2_56 ( .A(rod_delay[56]), .O(rod_delay_2[56]) );  
JBUFDA cfb_delay_2_57 ( .A(rod_delay[57]), .O(rod_delay_2[57]) );  
JBUFDA cfb_delay_2_58 ( .A(rod_delay[58]), .O(rod_delay_2[58]) );  
JBUFDA cfb_delay_2_59 ( .A(rod_delay[59]), .O(rod_delay_2[59]) );  
   
JBUFDA cfb_delay_2_60 ( .A(rod_delay[60]), .O(rod_delay_2[60]) ); 
JBUFDA cfb_delay_2_61 ( .A(rod_delay[61]), .O(rod_delay_2[61]) );   
JBUFDA cfb_delay_2_62 ( .A(rod_delay[62]), .O(rod_delay_2[62]) );  
JBUFDA cfb_delay_2_63 ( .A(rod_delay[63]), .O(rod_delay_2[63]) );  
 
 
// third set of buffers

/* remove 1 level of buffers
JBUFDA cfb_delay_3_0 ( .A(rod_delay_2[0]), .O(rod_delay_3[0]) );
JBUFDA cfb_delay_3_1 ( .A(rod_delay_2[1]), .O(rod_delay_3[1]) );
JBUFDA cfb_delay_3_2 ( .A(rod_delay_2[2]), .O(rod_delay_3[2]) );
JBUFDA cfb_delay_3_3 ( .A(rod_delay_2[3]), .O(rod_delay_3[3]) );
JBUFDA cfb_delay_3_4 ( .A(rod_delay_2[4]), .O(rod_delay_3[4]) );
JBUFDA cfb_delay_3_5 ( .A(rod_delay_2[5]), .O(rod_delay_3[5]) );
JBUFDA cfb_delay_3_6 ( .A(rod_delay_2[6]), .O(rod_delay_3[6]) );
JBUFDA cfb_delay_3_7 ( .A(rod_delay_2[7]), .O(rod_delay_3[7]) );
JBUFDA cfb_delay_3_8 ( .A(rod_delay_2[8]), .O(rod_delay_3[8]) );
JBUFDA cfb_delay_3_9 ( .A(rod_delay_2[9]), .O(rod_delay_3[9]) );

JBUFDA cfb_delay_3_10 ( .A(rod_delay_2[10]), .O(rod_delay_3[10]) );
JBUFDA cfb_delay_3_11 ( .A(rod_delay_2[11]), .O(rod_delay_3[11]) );
JBUFDA cfb_delay_3_12 ( .A(rod_delay_2[12]), .O(rod_delay_3[12]) );
JBUFDA cfb_delay_3_13 ( .A(rod_delay_2[13]), .O(rod_delay_3[13]) );
JBUFDA cfb_delay_3_14 ( .A(rod_delay_2[14]), .O(rod_delay_3[14]) );
JBUFDA cfb_delay_3_15 ( .A(rod_delay_2[15]), .O(rod_delay_3[15]) );
JBUFDA cfb_delay_3_16 ( .A(rod_delay_2[16]), .O(rod_delay_3[16]) );
JBUFDA cfb_delay_3_17 ( .A(rod_delay_2[17]), .O(rod_delay_3[17]) );
JBUFDA cfb_delay_3_18 ( .A(rod_delay_2[18]), .O(rod_delay_3[18]) );
JBUFDA cfb_delay_3_19 ( .A(rod_delay_2[19]), .O(rod_delay_3[19]) );
 
JBUFDA cfb_delay_3_20 ( .A(rod_delay_2[20]), .O(rod_delay_3[20]) );
JBUFDA cfb_delay_3_21 ( .A(rod_delay_2[21]), .O(rod_delay_3[21]) ); 
JBUFDA cfb_delay_3_22 ( .A(rod_delay_2[22]), .O(rod_delay_3[22]) );
JBUFDA cfb_delay_3_23 ( .A(rod_delay_2[23]), .O(rod_delay_3[23]) ); 
JBUFDA cfb_delay_3_24 ( .A(rod_delay_2[24]), .O(rod_delay_3[24]) ); 
JBUFDA cfb_delay_3_25 ( .A(rod_delay_2[25]), .O(rod_delay_3[25]) ); 
JBUFDA cfb_delay_3_26 ( .A(rod_delay_2[26]), .O(rod_delay_3[26]) ); 
JBUFDA cfb_delay_3_27 ( .A(rod_delay_2[27]), .O(rod_delay_3[27]) ); 
JBUFDA cfb_delay_3_28 ( .A(rod_delay_2[28]), .O(rod_delay_3[28]) ); 
JBUFDA cfb_delay_3_29 ( .A(rod_delay_2[29]), .O(rod_delay_3[29]) ); 

JBUFDA cfb_delay_3_30 ( .A(rod_delay_2[30]), .O(rod_delay_3[30]) );
JBUFDA cfb_delay_3_31 ( .A(rod_delay_2[31]), .O(rod_delay_3[31]) ); 
JBUFDA cfb_delay_3_32 ( .A(rod_delay_2[32]), .O(rod_delay_3[32]) );
JBUFDA cfb_delay_3_33 ( .A(rod_delay_2[33]), .O(rod_delay_3[33]) ); 
JBUFDA cfb_delay_3_34 ( .A(rod_delay_2[34]), .O(rod_delay_3[34]) ); 
JBUFDA cfb_delay_3_35 ( .A(rod_delay_2[35]), .O(rod_delay_3[35]) ); 
JBUFDA cfb_delay_3_36 ( .A(rod_delay_2[36]), .O(rod_delay_3[36]) ); 
JBUFDA cfb_delay_3_37 ( .A(rod_delay_2[37]), .O(rod_delay_3[37]) ); 
JBUFDA cfb_delay_3_38 ( .A(rod_delay_2[38]), .O(rod_delay_3[38]) ); 
JBUFDA cfb_delay_3_39 ( .A(rod_delay_2[39]), .O(rod_delay_3[39]) ); 
  
JBUFDA cfb_delay_3_40 ( .A(rod_delay_2[40]), .O(rod_delay_3[40]) );
JBUFDA cfb_delay_3_41 ( .A(rod_delay_2[41]), .O(rod_delay_3[41]) );  
JBUFDA cfb_delay_3_42 ( .A(rod_delay_2[42]), .O(rod_delay_3[42]) ); 
JBUFDA cfb_delay_3_43 ( .A(rod_delay_2[43]), .O(rod_delay_3[43]) ); 
JBUFDA cfb_delay_3_44 ( .A(rod_delay_2[44]), .O(rod_delay_3[44]) ); 
JBUFDA cfb_delay_3_45 ( .A(rod_delay_2[45]), .O(rod_delay_3[45]) ); 
JBUFDA cfb_delay_3_46 ( .A(rod_delay_2[46]), .O(rod_delay_3[46]) );  
JBUFDA cfb_delay_3_47 ( .A(rod_delay_2[47]), .O(rod_delay_3[47]) );  
JBUFDA cfb_delay_3_48 ( .A(rod_delay_2[48]), .O(rod_delay_3[48]) );  
JBUFDA cfb_delay_3_49 ( .A(rod_delay_2[49]), .O(rod_delay_3[49]) );  

JBUFDA cfb_delay_3_50 ( .A(rod_delay_2[50]), .O(rod_delay_3[50]) ); 
JBUFDA cfb_delay_3_51 ( .A(rod_delay_2[51]), .O(rod_delay_3[51]) );  
JBUFDA cfb_delay_3_52 ( .A(rod_delay_2[52]), .O(rod_delay_3[52]) );
JBUFDA cfb_delay_3_53 ( .A(rod_delay_2[53]), .O(rod_delay_3[53]) ); 
JBUFDA cfb_delay_3_54 ( .A(rod_delay_2[54]), .O(rod_delay_3[54]) ); 
JBUFDA cfb_delay_3_55 ( .A(rod_delay_2[55]), .O(rod_delay_3[55]) );  
JBUFDA cfb_delay_3_56 ( .A(rod_delay_2[56]), .O(rod_delay_3[56]) );  
JBUFDA cfb_delay_3_57 ( .A(rod_delay_2[57]), .O(rod_delay_3[57]) );  
JBUFDA cfb_delay_3_58 ( .A(rod_delay_2[58]), .O(rod_delay_3[58]) );  
JBUFDA cfb_delay_3_59 ( .A(rod_delay_2[59]), .O(rod_delay_3[59]) );  
   
JBUFDA cfb_delay_3_60 ( .A(rod_delay_2[60]), .O(rod_delay_3[60]) ); 
JBUFDA cfb_delay_3_61 ( .A(rod_delay_2[61]), .O(rod_delay_3[61]) );   
JBUFDA cfb_delay_3_62 ( .A(rod_delay_2[62]), .O(rod_delay_3[62]) );  
JBUFDA cfb_delay_3_63 ( .A(rod_delay_2[63]), .O(rod_delay_3[63]) );  

*/

	assign rod_delay_3[63:0] = rod_delay_2[63:0];
 

    Mux2_32         in1_mux(mc_cfb_data[63:32],pid[63:32],rod_delay_3[63:32],mm_misc2cf_reg_delay_2);
    Mux2_32         in0_mux(mc_cfb_data[31:0], pid[31:0] ,rod_delay_3[31:0],mm_misc2cf_reg_delay_2);

    GReg32          in0     (rid[31:0], mc_cfb_data[31:0] , ss_clock , in_hld[0]);
    GReg32          in1     (rid[63:32], mc_cfb_data[63:32], ss_clock, in_hld[1]);
//	wire	[63:0] pod_dram;
    Mux8x8_2to1     dmux    (pod_dram[63:0] , rod[63:0] , rid[63:0] ,
                             {mux_sel[3:0] , mux_sel[3:0]} );
// add mux for graphics after rmw path.
    Mux2_32         gr1_mux(pod[63:32],pod_dram[63:32],gr3[63:32],gr_out_sel);
    Mux2_32         gr0_mux(pod[31:0], pod_dram[31:0] ,gr2[31:0],gr_out_sel);
	
    Mux2_32	rid_out_mux(rid_out[31:0], rid[63:32], rid[31:0], dp_buf0_en_dly);

endmodule
HierarchyFilesModulesSignalsTasksFunctionsHelp

This page: Created:Thu Aug 19 12:02:25 1999
From: ../../../sparc_v8/ssparc/memif/rtl/rl_dpc_dpath.v

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