// ========== Copyright Header Begin ========================================== // // OpenSPARC T2 Processor File: ccxDevices.binds.vrh // Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved // 4150 Network Circle, Santa Clara, California 95054, U.S.A. // // * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // For the avoidance of doubt, and except that if any non-GPL license // choice is available it will apply instead, Sun elects to use only // the General Public License version 2 (GPLv2) at this time for any // software where a choice of GPL license versions is made // available with the language indicating that GPLv2 or any later version // may be used, or where a choice of which version of the GPL is applied is // otherwise unspecified. // // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, // CA 95054 USA or visit www.sun.com if you need additional information or // have any questions. // // ========== Copyright Header End ============================================ #ifndef INC_CCXDEVICE_BINDS_VRH #define INC_CCXDEVICE_BINDS_VRH #include // generic CCX port port ccxPort { clk; req; datao; atmo; gnt; stall; rdy; atmi; datai; } // // when PCX // clk; // req; // req from spc to pcx [8:0]. vera sources. // datao; // data from spc to pcx [129:0]. vera sources. // atmo; // atomic from spc to pcx [8:0]. vera sources. // gnt; // grant from pcx to spc [8:0]. vera sinks. // // stall; // NA for spc. stall from mem device to pcx. vera sources. // rdy; // NA for spc. data_rdy from pcx to mem device. vera sinks. // atmi; // NA for spc. atomic from pcx mem device. vera sinks. // datai; // data from pcx to mem device [129:0]. vera sinks. // // // // when CPX // clk; // req; // req from mem device to cpx [7:0]. vera sources. // datao; // data from mem device to cpx [145:0]. vera sources. // atmo; // atomic from mem device to cpx. vera sources. // gnt; // grant from cpx to mem device. [7:0] vera sinks. // // stall; // stall from spc to cpx. vera sources. // rdy; // N/A. unused. // atmi; // N/A. unused. // datai; // data from cpx to spc [145:0]. vera sinks. // NCU bind bind ccxPort pcxBindDEV_NCU { clk ccxNCU_if.clk; req void; datao void; atmo void; gnt void; stall ccxNCU_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxNCU_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi void; datai ccxNCU_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_NCU { clk ccxNCU_if.clk; req ccxNCU_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxNCU_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo void; // ccxNCU_if.cpx_atmo; // fake really gnt ccxNCU_if.cpx_gnt; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } // spc binds bind ccxPort pcxBindDEV_SPC0 { clk ccxSPC0_if.clk; req ccxSPC0_if.pcx_req; datao ccxSPC0_if.pcx_datao; atmo ccxSPC0_if.pcx_atm; gnt ccxSPC0_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC0 { clk ccxSPC0_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC0_if.cpx_datai; } bind ccxPort pcxBindDEV_SPC1 { clk ccxSPC1_if.clk; req ccxSPC1_if.pcx_req; datao ccxSPC1_if.pcx_datao; atmo ccxSPC1_if.pcx_atm; gnt ccxSPC1_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC1 { clk ccxSPC1_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC1_if.cpx_datai; } bind ccxPort pcxBindDEV_SPC2 { clk ccxSPC2_if.clk; req ccxSPC2_if.pcx_req; datao ccxSPC2_if.pcx_datao; atmo ccxSPC2_if.pcx_atm; gnt ccxSPC2_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC2 { clk ccxSPC2_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC2_if.cpx_datai; } bind ccxPort pcxBindDEV_SPC3 { clk ccxSPC3_if.clk; req ccxSPC3_if.pcx_req; datao ccxSPC3_if.pcx_datao; atmo ccxSPC3_if.pcx_atm; gnt ccxSPC3_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC3 { clk ccxSPC3_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC3_if.cpx_datai; } bind ccxPort pcxBindDEV_SPC4 { clk ccxSPC4_if.clk; req ccxSPC4_if.pcx_req; datao ccxSPC4_if.pcx_datao; atmo ccxSPC4_if.pcx_atm; gnt ccxSPC4_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC4 { clk ccxSPC4_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC4_if.cpx_datai; } bind ccxPort pcxBindDEV_SPC5 { clk ccxSPC5_if.clk; req ccxSPC5_if.pcx_req; datao ccxSPC5_if.pcx_datao; atmo ccxSPC5_if.pcx_atm; gnt ccxSPC5_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC5 { clk ccxSPC5_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC5_if.cpx_datai; } bind ccxPort pcxBindDEV_SPC6 { clk ccxSPC6_if.clk; req ccxSPC6_if.pcx_req; datao ccxSPC6_if.pcx_datao; atmo ccxSPC6_if.pcx_atm; gnt ccxSPC6_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC6 { clk ccxSPC6_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC6_if.cpx_datai; } bind ccxPort pcxBindDEV_SPC7 { clk ccxSPC7_if.clk; req ccxSPC7_if.pcx_req; datao ccxSPC7_if.pcx_datao; atmo ccxSPC7_if.pcx_atm; gnt ccxSPC7_if.pcx_grant; stall void; rdy void; atmi void; datai void; } bind ccxPort cpxBindDEV_SPC7 { clk ccxSPC7_if.clk; req void; datao void; atmo void; gnt void; stall void; rdy void; atmi void; datai ccxSPC7_if.cpx_datai; } #ifndef RTL_NO_BNK01 // cache banks bind ccxPort pcxBindDEV_MEM0 { clk ccxL20_if.clk; req void; datao void; atmo void; gnt void; stall ccxL20_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL20_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL20_if.pcx_atmi; datai ccxL20_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM0 { clk ccxL20_if.clk; req ccxL20_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL20_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL20_if.cpx_atmo; gnt ccxL20_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } bind ccxPort pcxBindDEV_MEM1 { clk ccxL21_if.clk; req void; datao void; atmo void; gnt void; stall ccxL21_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL21_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL21_if.pcx_atmi; datai ccxL21_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM1 { clk ccxL21_if.clk; req ccxL21_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL21_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL21_if.cpx_atmo; gnt ccxL21_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } #endif #ifndef RTL_NO_BNK23 bind ccxPort pcxBindDEV_MEM2 { clk ccxL22_if.clk; req void; datao void; atmo void; gnt void; stall ccxL22_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL22_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL22_if.pcx_atmi; datai ccxL22_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM2 { clk ccxL22_if.clk; req ccxL22_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL22_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL22_if.cpx_atmo; gnt ccxL22_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } bind ccxPort pcxBindDEV_MEM3 { clk ccxL23_if.clk; req void; datao void; atmo void; gnt void; stall ccxL23_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL23_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL23_if.pcx_atmi; datai ccxL23_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM3 { clk ccxL23_if.clk; req ccxL23_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL23_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL23_if.cpx_atmo; gnt ccxL23_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } #endif #ifndef RTL_NO_BNK45 bind ccxPort pcxBindDEV_MEM4 { clk ccxL24_if.clk; req void; datao void; atmo void; gnt void; stall ccxL24_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL24_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL24_if.pcx_atmi; datai ccxL24_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM4 { clk ccxL24_if.clk; req ccxL24_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL24_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL24_if.cpx_atmo; gnt ccxL24_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } bind ccxPort pcxBindDEV_MEM5 { clk ccxL25_if.clk; req void; datao void; atmo void; gnt void; stall ccxL25_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL25_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL25_if.pcx_atmi; datai ccxL25_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM5 { clk ccxL25_if.clk; req ccxL25_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL25_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL25_if.cpx_atmo; gnt ccxL25_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } #endif #ifndef RTL_NO_BNK67 bind ccxPort pcxBindDEV_MEM6 { clk ccxL26_if.clk; req void; datao void; atmo void; gnt void; stall ccxL26_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL26_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL26_if.pcx_atmi; datai ccxL26_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM6 { clk ccxL26_if.clk; req ccxL26_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL26_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL26_if.cpx_atmo; gnt ccxL26_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } bind ccxPort pcxBindDEV_MEM7 { clk ccxL27_if.clk; req void; datao void; atmo void; gnt void; stall ccxL27_if.pcx_stall; // stall from mem device to pcx. vera sources. rdy ccxL27_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks. atmi ccxL27_if.pcx_atmi; datai ccxL27_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks. } bind ccxPort cpxBindDEV_MEM7 { clk ccxL27_if.clk; req ccxL27_if.cpx_req; // req from mem device to cpx [7:0]. vera sources. datao ccxL27_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources. atmo ccxL27_if.cpx_atmo; gnt ccxL27_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks. stall void; rdy void; atmi void; datai void; } #endif // eof #endif