Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / config / fc.config
// ========== Copyright Header Begin ==========================================
//
// OpenSPARC T2 Processor File: fc.config
// 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 ============================================
#include "defaults.config"
// Define a text macro that is specific to the tapeout.
// Note: This should probably go inside defaults.config
#include "tapeout_defines.config"
// Map the text macro from tapeout_defines.config
// to a macro that is already used in this config file
#ifdef ONLY_FOR_TO_1_0
#define TO_1_0_VECTORS
#endif
// To provide support for users still using the earlier run_scripts
#ifdef DTM15_SLAM_TO_1_0
#define DTM15_SLAM
#endif // DTM15_SLAM_TO_1_0
#ifdef DTM15_SLAM_DP1_DUMP
#define DTM15_SLAM_DUMP
#define DTM15_SLAM_DP1
#define DTM15_SLAM
#endif // DTM15_SLAM_DP1_DUMP
#ifdef DTM15_NONSLAM_DP1_DUMP
#define DTM15_NONSLAM_DUMP
#define DTM15_NONSLAM_DP1
#define DTM15_NONSLAM
#endif // DTM15_NONSLAM_DP1_DUMP
#ifdef DTM15_SLAM_DP2_DUMP
#define DTM15_SLAM_DUMP
#define DTM15_SLAM_DP2
#define DTM15_SLAM
#endif // DTM15_SLAM_DP2_DUMP
#ifdef DTM15_NONSLAM_DP2_DUMP
#define DTM15_NONSLAM_DUMP
#define DTM15_NONSLAM_DP2
#define DTM15_NONSLAM
#endif // DTM15_NONSLAM_DP2_DUMP
// Do some global things for test vectors; see also fc_common.config
#ifdef DTM15_SLAM
#endif // DTM15_SLAM
#ifdef DTM15_NONSLAM
#define USE_TAP_DRIVER
#endif // DTM15_NONSLAM
// added this so all config cpp args for T2 will go here
// note: only config cpp args go here
// the rest of the args will have to be declared further down below,
// in <fc1>,<fc2>,<fc4>,<fc8>
#define T2 T2
// here are the config cpp declarations (3 of them specified for now)
#ifdef PEU_SYSC_NIU_SYSC
#define PEU_SYSTEMC_T2 PEU_SYSTEMC_T2
#define NIU_SYSTEMC_T2 NIU_SYSTEMC_T2
#else
#ifdef PEU_SYSC_NIU_RTL
#define PEU_SYSTEMC_T2 PEU_SYSTEMC_T2
#undef NIU_SYSTEMC_T2
#else
// #define FC_NO_PEU_VERA
#undef PEU_SYSTEMC_T2
#undef NIU_SYSTEMC_T2
#define FC_NO_PEU_VERA FC_NO_PEU_VERA
#define FC_NO_PEU_T2 FC_NO_PEU_T2
#define FC_NO_NIU_T2 FC_NO_NIU_T2
#undef NIU_SYSTEMC_T2
#endif
#endif
#ifndef PEU_SYSTEMC_T2
#undef FC_NO_PEU_VERA
#define FC_NO_PEU_VERA
#undef FC_NO_PEU_T2
#define FC_NO_PEU_T2
// if PEU SYSTEMC model is not included, do not include NIU
#undef FC_NO_NIU_T2
#define FC_NO_NIU_T2
#undef NIU_SYSTEMC_T2
#endif //PEU_SYSTEMC_T2
// Because we pass FC_NO_PEU_VERA to other modules,
// we need to define it as itself, else cpp will mess it up.
#ifdef FC_NO_PEU_VERA
#undef FC_NO_PEU_VERA
#define FC_NO_PEU_VERA FC_NO_PEU_VERA
#endif // FC_NO_PEU_VERA
// added this to exclude PEU in T2
#ifdef FC_NO_PEU_T2
#undef FC_NO_PEU_T2
#define FC_NO_PEU_T2 FC_NO_PEU_T2
#endif // FC_NO_PEU_T2
// added this to exclude NIU in T2
#ifdef FC_NO_NIU_T2
#undef FC_NO_NIU_T2
#define FC_NO_NIU_T2 FC_NO_NIU_T2
#endif // FC_NO_NIU_T2
// added this to include NIU SYSTEMC model in T2
#ifdef NIU_SYSTEMC_T2
#undef NIU_SYSTEMC_T2
#define NIU_SYSTEMC_T2 NIU_SYSTEMC_T2
#endif // NIU_SYSTEMC_T2
#ifdef LINUX
#undef LINUX
#define LINUX LINUX
#endif // LINUX
#ifdef USE_TAP_DRIVER
#undef USE_TAP_DRIVER
#define USE_TAP_DRIVER USE_TAP_DRIVER
#endif // USE_TAP_DRIVER
#ifdef DRAMX8
#undef DRAMX8
#define DRAMX8 DRAMX8
#endif
#ifdef TO_1_0_VECTORS
#undef TO_1_0_VECTORS
#define TO_1_0_VECTORS TO_1_0_VECTORS
#endif
#ifdef FASTER_AXIS
#define AXIS_NO_FSR
#endif
//////////////////////////////////////////////////////////////////////////////
<fc1>
// for gatesim
#ifdef GATESIM_CLUSTER
-sunv_run
-nozeroIn_build
#include "fc_gate_cluster.config"
#endif
#ifdef GATESIM_CLUSTER_IO
-sunv_run
-nozeroIn_build
#include "fc_gate_cluster.config"
#include "fc_gate_io.config"
#endif
#ifdef GATESIM_ALL
-nosunv_run
-nozeroIn_build
#include "fc_gate_all.config"
#endif
#ifdef AXIS_DAILY
#define AXIS_TL
#define AXIS_BUILD
#define FC_NO_PEU_VERA FC_NO_PEU_VERA
-vcs_run_args=-s
-axis_run_args="-user_run_template $DV_ROOT/verif/env/mcu/cmd_tl.i "
#endif
#ifdef AXIS_TL
-vcs_build_args=+incdir+$DV_ROOT/design/niu/niu_mac_l/hedwig_lite
#else
#ifndef GATESIM
-flist=$DV_ROOT/verif/env/common/verilog/debug/debug.flist
#endif
#endif
#include "fc_common.config"
-model=fc1
-config_rtl=FC1_BENCH
-vera_build_args=RTL_NO_SPC_LIST="-DRTL_NO_SPC1 -DRTL_NO_SPC2 -DRTL_NO_SPC3 -DRTL_NO_SPC4 -DRTL_NO_SPC5 -DRTL_NO_SPC6 -DRTL_NO_SPC7"
-vera_diag_args="-DRTL_NO_SPC1 -DRTL_NO_SPC2 -DRTL_NO_SPC3 -DRTL_NO_SPC4 -DRTL_NO_SPC5 -DRTL_NO_SPC6 -DRTL_NO_SPC7"
-config_rtl=CORE_0
-config_rtl=RTL_NO_SPC1
-config_rtl=RTL_NO_SPC2
-config_rtl=RTL_NO_SPC3
-config_rtl=RTL_NO_SPC4
-config_rtl=RTL_NO_SPC5
-config_rtl=RTL_NO_SPC6
-config_rtl=RTL_NO_SPC7
-sas_run_args=-DSP0
-sunv_args=-define=RTL_NO_SPC1
-sunv_args=-define=RTL_NO_SPC2
-sunv_args=-define=RTL_NO_SPC3
-sunv_args=-define=RTL_NO_SPC4
-sunv_args=-define=RTL_NO_SPC5
-sunv_args=-define=RTL_NO_SPC6
-sunv_args=-define=RTL_NO_SPC7
-vcs_run_args=+ASI_CORE_AVILABLE=ff
-vcs_run_args=+ASI_CORE_ENABLE=ff
-diaglist_cpp_args=-DALL_THREADS=ff
#ifdef GATESIM
-max_cycle=3000000
#else
-max_cycle=2000000
#endif
-midas_args=-DALL_THREADS=0xff
-midas_args=-DMAX_THREADS=8
-rtl_timeout=25000
-efuse_image_name=efa.dat
-efuse_image_root=$SIMS_LAUNCH_DIR
-pre_process_cmd="$DV_ROOT/tools/bin/efa_gen $SIMS_LAUNCH_DIR $DV_ROOT -fc1"
-post_process_cmd="mv $SIMS_LAUNCH_DIR/efa.dat $SIMS_LAUNCH_DIR/efa_used"
</fc1>
//////////////////////////////////////////////////////////////////////////////
<fc8>
// for gatesim
#ifdef GATESIM_CLUSTER
-sunv_run
-nozeroIn_build
#include "fc_gate_cluster.config"
#endif
#ifdef GATESIM_CLUSTER_IO
-sunv_run
-nozeroIn_build
#include "fc_gate_cluster.config"
#include "fc_gate_io.config"
#endif
#ifdef GATESIM_ALL
-nosunv_run
-nozeroIn_build
#include "fc_gate_all.config"
#endif
#ifdef AXIS_DAILY
#define AXIS_TL
#define AXIS_BUILD
#define AXIS_64BIT
#define AXIS_NO_IP
#define FC_NO_PEU_VERA FC_NO_PEU_VERA
//-vcs_run_args=-s
//-axis_run_args="-user_run_template $DV_ROOT/verif/env/mcu/cmd_tl.i "
#endif
#ifdef AXIS_TL
-vcs_build_args=+incdir+$DV_ROOT/design/niu/niu_mac_l/hedwig_lite
#else
#ifndef GATESIM
-flist=$DV_ROOT/verif/env/common/verilog/debug/debug_8core.flist
#endif
#endif
#include "fc_common.config"
-model=fc8
-config_rtl=FC8_BENCH
-config_rtl=CORE_0
-config_rtl=CORE_1
-config_rtl=CORE_2
-config_rtl=CORE_3
-config_rtl=CORE_4
-config_rtl=CORE_5
-config_rtl=CORE_6
-config_rtl=CORE_7
-sas_run_args=-DSP0
-sas_run_args=-DSP1
-sas_run_args=-DSP2
-sas_run_args=-DSP3
-sas_run_args=-DSP4
-sas_run_args=-DSP5
-sas_run_args=-DSP6
-sas_run_args=-DSP7
-vcs_run_args=+ASI_CORE_AVILABLE=ffffffffffffffff
-vcs_run_args=+ASI_CORE_ENABLE=ffffffffffffffff
-diaglist_cpp_args=-DALL_THREADS=ffffffffffffffff
-max_cycle=4000000
-midas_args=-DALL_THREADS=0xffffffffffffffff
-midas_args=-DMAX_THREADS=64
-rtl_timeout=40000
-efuse_image_name=efa.dat
-efuse_image_root=$SIMS_LAUNCH_DIR
-pre_process_cmd="$DV_ROOT/tools/bin/efa_gen $SIMS_LAUNCH_DIR $DV_ROOT -fc8"
-post_process_cmd="mv $SIMS_LAUNCH_DIR/efa.dat $SIMS_LAUNCH_DIR/efa_used"
// -vcs_build_args=+define+FBDIMM_NUM_8+
// -vcs_run_args=+8_FBDIMMS
</fc8>
//////////////////////////////////////////////////////////////////////////////
<fc4>
#include "fc_common.config"
-model=fc4
-vera_build_args=RTL_NO_SPC_LIST="-DRTL_NO_SPC4 -DRTL_NO_SPC5 -DRTL_NO_SPC6 -DRTL_NO_SPC7"
-vera_diag_args="-DRTL_NO_SPC4 -DRTL_NO_SPC5 -DRTL_NO_SPC6 -DRTL_NO_SPC7"
-config_rtl=CORE_0
-config_rtl=CORE_1
-config_rtl=CORE_2
-config_rtl=CORE_3
-config_rtl=RTL_NO_SPC4
-config_rtl=RTL_NO_SPC5
-config_rtl=RTL_NO_SPC6
-config_rtl=RTL_NO_SPC7
-sas_run_args=-DSP0
-sas_run_args=-DSP1
-sas_run_args=-DSP2
-sas_run_args=-DSP3
-sunv_args=-define=RTL_NO_SPC4
-sunv_args=-define=RTL_NO_SPC5
-sunv_args=-define=RTL_NO_SPC6
-sunv_args=-define=RTL_NO_SPC7
-vcs_run_args=+ASI_CORE_AVILABLE=ffffffff
-vcs_run_args=+ASI_CORE_ENABLE=ffffffff
-diaglist_cpp_args=-DALL_THREADS=ffffffff
-max_cycle=3000000
-rtl_timeout=30000
-midas_args=-DALL_THREADS=0xffffffff
-midas_args=-DMAX_THREADS=32
-efuse_image_name=efa.dat
-efuse_image_root=$SIMS_LAUNCH_DIR
-pre_process_cmd="$DV_ROOT/tools/bin/efa_gen $SIMS_LAUNCH_DIR $DV_ROOT -fc4"
-post_process_cmd="mv $SIMS_LAUNCH_DIR/efa.dat $SIMS_LAUNCH_DIR/efa_used"
</fc4>
//////////////////////////////////////////////////////////////////////////////
<fc2>
#ifdef AXIS_DAILY
#define AXIS_TL
#define AXIS_BUILD
#undef AXIS_64BIT
#undef AXIS_NO_IP
#define FC_NO_PEU_VERA FC_NO_PEU_VERA
#endif
#ifdef AXIS_TL
-vcs_build_args=+incdir+$DV_ROOT/design/niu/niu_mac_l/hedwig_lite
#endif
#include "fc_common.config"
-model=fc2
-vera_build_args=RTL_NO_SPC_LIST="-DRTL_NO_SPC2 -DRTL_NO_SPC3 -DRTL_NO_SPC4 -DRTL_NO_SPC5 -DRTL_NO_SPC6 -DRTL_NO_SPC7"
-config_rtl=CORE_0
-config_rtl=CORE_1
-config_rtl=RTL_NO_SPC2
-config_rtl=RTL_NO_SPC3
-config_rtl=RTL_NO_SPC4
-config_rtl=RTL_NO_SPC5
-config_rtl=RTL_NO_SPC6
-config_rtl=RTL_NO_SPC7
-sas_run_args=-DSP0
-sas_run_args=-DSP1
-sunv_args=-define=RTL_NO_SPC2
-sunv_args=-define=RTL_NO_SPC3
-sunv_args=-define=RTL_NO_SPC4
-sunv_args=-define=RTL_NO_SPC5
-sunv_args=-define=RTL_NO_SPC6
-sunv_args=-define=RTL_NO_SPC7
-vcs_run_args=+ASI_CORE_AVILABLE=ffff
-vcs_run_args=+ASI_CORE_ENABLE=ffff
-diaglist_cpp_args=-DALL_THREADS=ffff
-max_cycle=3000000
-rtl_timeout=30000
-midas_args=-DALL_THREADS=0xffff
-midas_args=-DMAX_THREADS=16
-efuse_image_name=efa.dat
-efuse_image_root=$SIMS_LAUNCH_DIR
-pre_process_cmd="$DV_ROOT/tools/bin/efa_gen $SIMS_LAUNCH_DIR $DV_ROOT -fc2"
-post_process_cmd="mv $SIMS_LAUNCH_DIR/efa.dat $SIMS_LAUNCH_DIR/efa_used"
</fc2>