// ========== Copyright Header Begin ========================================== // // OpenSPARC T2 Processor File: fc_jtpor.if.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_FC_JTPOR_IF_VRH #define INC_FC_JTPOR_IF_VRH #include #include "fc_top_defines.vri" //#include "dbg_dq_pins_defines.vri" //#include "pkg.port.vri" //#include "pkg.if.vri" //#include "tcu_top_defines.vri" #define INPUT_EDGE PSAMPLE #define INPUT_SKEW #-3 #define OUTPUT_EDGE_N NHOLD // #include // interface rst_iol2clk { // input clk_iol2clk CLOCK verilog_node "`RST.iol2clk"; // input rst_ncu_unpark_thread INPUT_EDGE INPUT_SKEW verilog_node "`RST.rst_ncu_unpark_thread"; // } // // interface rst_l2clk { // input clk_l2clk CLOCK verilog_node "`RST.l2clk"; // input ccu_rst_sync_stable INPUT_EDGE INPUT_SKEW verilog_node "`RST.ccu_rst_sync_stable"; // input tcu_rst_asicflush_stop_ack INPUT_EDGE INPUT_SKEW verilog_node "`RST.tcu_rst_asicflush_stop_ack"; // input rst_tcu_asicflush_stop_req INPUT_EDGE INPUT_SKEW verilog_node "`RST.rst_tcu_asicflush_stop_req"; // input rst_tcu_flush_stop_req INPUT_EDGE INPUT_SKEW verilog_node "`RST.rst_tcu_flush_stop_req"; // input tcu_rst_efu_done INPUT_EDGE INPUT_SKEW verilog_node "`RST.tcu_rst_efu_done"; // input tcu_bisx_done INPUT_EDGE INPUT_SKEW verilog_node "`RST.tcu_bisx_done"; // input tcu_rst_flush_init_ack INPUT_EDGE INPUT_SKEW verilog_node "`RST.tcu_rst_flush_init_ack"; // input tcu_rst_flush_stop_ack INPUT_EDGE INPUT_SKEW verilog_node "`RST.tcu_rst_flush_stop_ack"; // // } // // // // // port RST_port { // clk_l2clk; // ccu_rst_sync_stable; // tcu_rst_asicflush_stop_ack; // rst_tcu_asicflush_stop_req; // rst_tcu_flush_stop_req; // tcu_rst_efu_done; // tcu_bisx_done; // tcu_rst_flush_init_ack; // rst_ncu_unpark_thread; // tcu_rst_flush_stop_ack; // } // // bind RST_port rst_bind { // clk_l2clk rst_l2clk.clk_l2clk; // ccu_rst_sync_stable rst_l2clk.ccu_rst_sync_stable; // tcu_rst_asicflush_stop_ack rst_l2clk.tcu_rst_asicflush_stop_ack; // rst_tcu_asicflush_stop_req rst_l2clk.rst_tcu_asicflush_stop_req; // rst_tcu_flush_stop_req rst_l2clk.rst_tcu_flush_stop_req; // tcu_rst_efu_done rst_l2clk.tcu_rst_efu_done; // tcu_bisx_done rst_l2clk.tcu_bisx_done; // tcu_rst_flush_init_ack rst_l2clk.tcu_rst_flush_init_ack; // rst_ncu_unpark_thread rst_iol2clk.rst_ncu_unpark_thread; // tcu_rst_flush_stop_ack rst_l2clk.tcu_rst_flush_stop_ack; // } interface bscann { input TCK CLOCK verilog_node "`TOP.tck" ; } port BSCAN_port { tck; } bind BSCAN_port bscann_bind { tck bscann.TCK; } interface ccu_pll_sys_clk_p_ifn { input pll_sys_clk_p PSAMPLE #-1 verilog_node "`CCU.pll_sys_clk_p"; } port CCU_clk_portn { sys_clk; } bind CCU_clk_portn ccu_clk_bindn { sys_clk ccu_pll_sys_clk_p_ifn.pll_sys_clk_p; } interface efusen { input [6:0] sbc_efa_word_addr INPUT_EDGE INPUT_SKEW verilog_node "`EFU.sbc_efa_word_addr"; } port EFUSE_port { efusen_sbc_efa_word_addr; } bind EFUSE_port efusen_bind { efusen_sbc_efa_word_addr efusen.sbc_efa_word_addr; } interface pkgn_if { input clk CLOCK verilog_node "`CPU.PLL_CMP_CLK_P"; // review: need to use an always running IO2X clk input TRIGOUT PSAMPLE #-1 verilog_node "`CPU.TRIGOUT"; output [165:0] DBG_DQ_out NHOLD verilog_node "`CPU.DBG_DQ"; } port PKGn_port { TRIGOUTn; DBG_DQ_outn; } bind PKGn_port pkgn_bind { TRIGOUTn pkgn_if.TRIGOUT; DBG_DQ_outn pkgn_if.DBG_DQ_out; } //[136] // interface sc { // input clk CLOCK verilog_node "`CPU.PLL_CMP_CLK_P"; // output POR_L OUTPUT_EDGE_N verilog_node "`CPU.PWRON_RST_L"; // output PB_XIR_L OUTPUT_EDGE_N verilog_node "`CPU.BUTTON_XIR_L"; // output PB_RST_L OUTPUT_EDGE_N verilog_node "`CPU.PB_RST_L"; // output TRST_L OUTPUT_EDGE_N verilog_node "`CPU.TRST_L"; // } // // port SC_port { // clk; // por_; // pb_xir_; // pb_rst_; // trst_l; // } // // bind SC_port sc_bind { // clk sc.clk; // por_ sc.POR_L; // pb_xir_ sc.PB_XIR_L; // pb_rst_ sc.PB_RST_L; // trst_l sc.TRST_L; // } interface mbistn { // input TCK CLOCK verilog_node "`TCU.gclk"; input mbist_l2tag_read_l2t0 INPUT_EDGE INPUT_SKEW verilog_node "`CPU.l2t0.mbist.mbist_l2tag_read"; } port MBIST_port { mbistn_l2tag_read_l2t0; } bind MBIST_port mbistn_bind { mbistn_l2tag_read_l2t0 mbistn.mbist_l2tag_read_l2t0; } #endif