110152Satgutier@umich.edu/***************************************************************************** 210152Satgutier@umich.edu * McPAT 310152Satgutier@umich.edu * SOFTWARE LICENSE AGREEMENT 410152Satgutier@umich.edu * Copyright 2012 Hewlett-Packard Development Company, L.P. 510152Satgutier@umich.edu * All Rights Reserved 610152Satgutier@umich.edu * 710152Satgutier@umich.edu * Redistribution and use in source and binary forms, with or without 810152Satgutier@umich.edu * modification, are permitted provided that the following conditions are 910152Satgutier@umich.edu * met: redistributions of source code must retain the above copyright 1010152Satgutier@umich.edu * notice, this list of conditions and the following disclaimer; 1110152Satgutier@umich.edu * redistributions in binary form must reproduce the above copyright 1210152Satgutier@umich.edu * notice, this list of conditions and the following disclaimer in the 1310152Satgutier@umich.edu * documentation and/or other materials provided with the distribution; 1410152Satgutier@umich.edu * neither the name of the copyright holders nor the names of its 1510152Satgutier@umich.edu * contributors may be used to endorse or promote products derived from 1610152Satgutier@umich.edu * this software without specific prior written permission. 1710152Satgutier@umich.edu 1810152Satgutier@umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1910152Satgutier@umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2010152Satgutier@umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2110152Satgutier@umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2210152Satgutier@umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2310152Satgutier@umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2410152Satgutier@umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2510152Satgutier@umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2610152Satgutier@umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2710152Satgutier@umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2810152Satgutier@umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” 2910152Satgutier@umich.edu * 3010152Satgutier@umich.edu ***************************************************************************/ 3110152Satgutier@umich.edu 3210152Satgutier@umich.edu#ifndef ARCH_CONST_H_ 3310152Satgutier@umich.edu#define ARCH_CONST_H_ 3410152Satgutier@umich.edu 3510152Satgutier@umich.edutypedef struct{ 3610152Satgutier@umich.edu unsigned int capacity; 3710152Satgutier@umich.edu unsigned int assoc;//fully 3810152Satgutier@umich.edu unsigned int blocksize; 3910152Satgutier@umich.edu} array_inputs; 4010152Satgutier@umich.edu 4110152Satgutier@umich.edu//Do Not change, unless you want to bypass the XML interface and do not care about the default values. 4210152Satgutier@umich.edu//Global parameters 4310152Satgutier@umich.educonst int number_of_cores = 8; 4410152Satgutier@umich.educonst int number_of_L2s = 1; 4510152Satgutier@umich.educonst int number_of_L3s = 1; 4610152Satgutier@umich.educonst int number_of_NoCs = 1; 4710152Satgutier@umich.edu 4810152Satgutier@umich.educonst double archi_F_sz_nm = 90.0; 4910152Satgutier@umich.educonst unsigned int dev_type = 0; 5010152Satgutier@umich.educonst double CLOCKRATE = 1.2*1e9; 5110152Satgutier@umich.educonst double AF = 0.5; 5210152Satgutier@umich.edu//const bool inorder = true; 5310152Satgutier@umich.educonst bool embedded = false; //NEW 5410152Satgutier@umich.edu 5510152Satgutier@umich.educonst bool homogeneous_cores = true; 5610152Satgutier@umich.educonst bool temperature = 360; 5710152Satgutier@umich.educonst int number_cache_levels = 3; 5810152Satgutier@umich.educonst int L1_property = 0; //private 0; coherent 1, shared 2. 5910152Satgutier@umich.educonst int L2_property = 2; 6010152Satgutier@umich.educonst bool homogeneous_L2s = true; 6110152Satgutier@umich.educonst bool L3_property = 2; 6210152Satgutier@umich.educonst bool homogeneous_L3s = true; 6310152Satgutier@umich.educonst double Max_area_deviation = 50; 6410152Satgutier@umich.educonst double Max_dynamic_deviation =50; //New 6510152Satgutier@umich.educonst int opt_dynamic_power = 1; 6610152Satgutier@umich.educonst int opt_lakage_power = 0; 6710152Satgutier@umich.educonst int opt_area = 0; 6810152Satgutier@umich.educonst int interconnect_projection_type = 0; 6910152Satgutier@umich.edu 7010152Satgutier@umich.edu//******************************Core Parameters 7110152Satgutier@umich.edu#if (inorder) 7210152Satgutier@umich.educonst int opcode_length = 8;//Niagara 7310152Satgutier@umich.educonst int reg_length = 5;//Niagara 7410152Satgutier@umich.educonst int instruction_length = 32;//Niagara 7510152Satgutier@umich.educonst int data_width = 64; 7610152Satgutier@umich.edu#else 7710152Satgutier@umich.educonst int opcode_length = 8;//16;//Niagara 7810152Satgutier@umich.educonst int reg_length = 7;//Niagara 7910152Satgutier@umich.educonst int instruction_length = 32;//Niagara 8010152Satgutier@umich.educonst int data_width = 64; 8110152Satgutier@umich.edu#endif 8210152Satgutier@umich.edu 8310152Satgutier@umich.edu 8410152Satgutier@umich.edu//Caches 8510152Satgutier@umich.edu//itlb 8610152Satgutier@umich.educonst int itlbsize=512; 8710152Satgutier@umich.educonst int itlbassoc=0;//fully 8810152Satgutier@umich.educonst int itlbblocksize=8; 8910152Satgutier@umich.edu//icache 9010152Satgutier@umich.educonst int icachesize=32768; 9110152Satgutier@umich.educonst int icacheassoc=4; 9210152Satgutier@umich.educonst int icacheblocksize=32; 9310152Satgutier@umich.edu//dtlb 9410152Satgutier@umich.educonst int dtlbsize=512; 9510152Satgutier@umich.educonst int dtlbassoc=0;//fully 9610152Satgutier@umich.educonst int dtlbblocksize=8; 9710152Satgutier@umich.edu//dcache 9810152Satgutier@umich.educonst int dcachesize=32768; 9910152Satgutier@umich.educonst int dcacheassoc=4; 10010152Satgutier@umich.educonst int dcacheblocksize=32; 10110152Satgutier@umich.educonst int dcache_write_buffers=8; 10210152Satgutier@umich.edu 10310152Satgutier@umich.edu//cache controllers 10410152Satgutier@umich.edu//IB, 10510152Satgutier@umich.educonst int numIBEntries = 64; 10610152Satgutier@umich.educonst int IBsize = 64;//2*4*instruction_length/8*2; 10710152Satgutier@umich.educonst int IBassoc = 0;//In Niagara it is still fully associ 10810152Satgutier@umich.educonst int IBblocksize = 4; 10910152Satgutier@umich.edu 11010152Satgutier@umich.edu//IFB and MIL should have the same parameters CAM 11110152Satgutier@umich.educonst int IFBsize=128;// 11210152Satgutier@umich.educonst int IFBassoc=0;//In Niagara it is still fully associ 11310152Satgutier@umich.educonst int IFBblocksize=4; 11410152Satgutier@umich.edu 11510152Satgutier@umich.edu 11610152Satgutier@umich.edu 11710152Satgutier@umich.edu 11810152Satgutier@umich.educonst int icache_write_buffers=8; 11910152Satgutier@umich.edu 12010152Satgutier@umich.edu//register file RAM 12110152Satgutier@umich.educonst int regfilesize=5760; 12210152Satgutier@umich.educonst int regfileassoc=1; 12310152Satgutier@umich.educonst int regfileblocksize=18; 12410152Satgutier@umich.edu//regwin RAM 12510152Satgutier@umich.educonst int regwinsize=256; 12610152Satgutier@umich.educonst int regwinassoc=1; 12710152Satgutier@umich.educonst int regwinblocksize=8; 12810152Satgutier@umich.edu 12910152Satgutier@umich.edu 13010152Satgutier@umich.edu 13110152Satgutier@umich.edu//store buffer, lsq 13210152Satgutier@umich.educonst int lsqsize=512; 13310152Satgutier@umich.educonst int lsqassoc=0; 13410152Satgutier@umich.educonst int lsqblocksize=8; 13510152Satgutier@umich.edu 13610152Satgutier@umich.edu//data fill queue RAM 13710152Satgutier@umich.educonst int dfqsize=1024; 13810152Satgutier@umich.educonst int dfqassoc=1; 13910152Satgutier@umich.educonst int dfqblocksize=16; 14010152Satgutier@umich.edu 14110152Satgutier@umich.edu//outside the cores 14210152Satgutier@umich.edu//L2 cache bank 14310152Satgutier@umich.educonst int l2cachesize=262144; 14410152Satgutier@umich.educonst int l2cacheassoc=16; 14510152Satgutier@umich.educonst int l2cacheblocksize=64; 14610152Satgutier@umich.edu 14710152Satgutier@umich.edu//L2 directory 14810152Satgutier@umich.educonst int l2dirsize=1024; 14910152Satgutier@umich.educonst int l2dirassoc=0; 15010152Satgutier@umich.educonst int l2dirblocksize=2; 15110152Satgutier@umich.edu 15210152Satgutier@umich.edu//crossbar 15310152Satgutier@umich.edu//PCX 15410152Satgutier@umich.educonst int PCX_NUMBER_INPUT_PORTS_CROSSBAR = 8; 15510152Satgutier@umich.educonst int PCX_NUMBER_OUTPUT_PORTS_CROSSBAR = 9; 15610152Satgutier@umich.educonst int PCX_NUMBER_SIGNALS_PER_PORT_CROSSBAR =144; 15710152Satgutier@umich.edu//PCX buffer RAM 15810152Satgutier@umich.educonst int pcx_buffersize=1024; 15910152Satgutier@umich.educonst int pcx_bufferassoc=1; 16010152Satgutier@umich.educonst int pcx_bufferblocksize=32; 16110152Satgutier@umich.educonst int pcx_numbuffer=5; 16210152Satgutier@umich.edu//pcx arbiter 16310152Satgutier@umich.educonst int pcx_arbsize=128; 16410152Satgutier@umich.educonst int pcx_arbassoc=1; 16510152Satgutier@umich.educonst int pcx_arbblocksize=2; 16610152Satgutier@umich.educonst int pcx_numarb=5; 16710152Satgutier@umich.edu 16810152Satgutier@umich.edu//CPX 16910152Satgutier@umich.educonst int CPX_NUMBER_INPUT_PORTS_CROSSBAR = 5; 17010152Satgutier@umich.educonst int CPX_NUMBER_OUTPUT_PORTS_CROSSBAR = 8; 17110152Satgutier@umich.educonst int CPX_NUMBER_SIGNALS_PER_PORT_CROSSBAR =150; 17210152Satgutier@umich.edu//CPX buffer RAM 17310152Satgutier@umich.educonst int cpx_buffersize=1024; 17410152Satgutier@umich.educonst int cpx_bufferassoc=1; 17510152Satgutier@umich.educonst int cpx_bufferblocksize=32; 17610152Satgutier@umich.educonst int cpx_numbuffer=8; 17710152Satgutier@umich.edu//cpx arbiter 17810152Satgutier@umich.educonst int cpx_arbsize=128; 17910152Satgutier@umich.educonst int cpx_arbassoc=1; 18010152Satgutier@umich.educonst int cpx_arbblocksize=2; 18110152Satgutier@umich.educonst int cpx_numarb=8; 18210152Satgutier@umich.edu 18310152Satgutier@umich.edu 18410152Satgutier@umich.edu 18510152Satgutier@umich.edu 18610152Satgutier@umich.edu 18710152Satgutier@umich.educonst int numPhysFloatRegs=256; 18810152Satgutier@umich.educonst int numPhysIntRegs=32; 18910152Satgutier@umich.educonst int numROBEntries=192; 19010152Satgutier@umich.educonst int umRobs=1; 19110152Satgutier@umich.edu 19210152Satgutier@umich.educonst int BTBEntries=4096; 19310152Satgutier@umich.educonst int BTBTagSize=16; 19410152Satgutier@umich.educonst int LFSTSize=1024; 19510152Satgutier@umich.educonst int LQEntries=32; 19610152Satgutier@umich.educonst int RASSize=16; 19710152Satgutier@umich.educonst int SQEntries=32; 19810152Satgutier@umich.educonst int SSITSize=1024; 19910152Satgutier@umich.educonst int activity=0; 20010152Satgutier@umich.educonst int backComSize=5; 20110152Satgutier@umich.educonst int cachePorts=200; 20210152Satgutier@umich.educonst int choiceCtrBits=2; 20310152Satgutier@umich.educonst int choicePredictorSize=8192; 20410152Satgutier@umich.edu 20510152Satgutier@umich.edu 20610152Satgutier@umich.educonst int commitWidth=8; 20710152Satgutier@umich.educonst int decodeWidth=8; 20810152Satgutier@umich.educonst int dispatchWidth=8; 20910152Satgutier@umich.educonst int fetchWidth=8; 21010152Satgutier@umich.educonst int issueWidth=1; 21110152Satgutier@umich.educonst int renameWidth=8; 21210152Satgutier@umich.edu//what is this forwardComSize=5?? 21310152Satgutier@umich.edu 21410152Satgutier@umich.educonst int globalCtrBits=2; 21510152Satgutier@umich.educonst int globalHistoryBits=13; 21610152Satgutier@umich.educonst int globalPredictorSize=8192; 21710152Satgutier@umich.edu 21810152Satgutier@umich.edu 21910152Satgutier@umich.edu 22010152Satgutier@umich.educonst int localCtrBits=2; 22110152Satgutier@umich.educonst int localHistoryBits=11; 22210152Satgutier@umich.educonst int localHistoryTableSize=2048; 22310152Satgutier@umich.educonst int localPredictorSize=2048; 22410152Satgutier@umich.edu 22510152Satgutier@umich.educonst double Woutdrvnandn =30 *0.09;//(24.0 * LSCALE) 22610152Satgutier@umich.educonst double Woutdrvnandp =12.5 *0.09;//(10.0 * LSCALE) 22710152Satgutier@umich.educonst double Woutdrvnorn =7.5*0.09;//(6.0 * LSCALE) 22810152Satgutier@umich.educonst double Woutdrvnorp =50 * 0.09;// (40.0 * LSCALE) 22910152Satgutier@umich.educonst double Woutdrivern =60*0.09;//(48.0 * LSCALE) 23010152Satgutier@umich.educonst double Woutdriverp =100 * 0.09;//(80.0 * LSCALE) 23110152Satgutier@umich.edu 23210152Satgutier@umich.edu/* 23310152Satgutier@umich.edusmtCommitPolicy=RoundRobin 23410152Satgutier@umich.edusmtFetchPolicy=SingleThread 23510152Satgutier@umich.edusmtIQPolicy=Partitioned 23610152Satgutier@umich.edusmtIQThreshold=100 23710152Satgutier@umich.edusmtLSQPolicy=Partitioned 23810152Satgutier@umich.edusmtLSQThreshold=100 23910152Satgutier@umich.edusmtNumFetchingThreads=1 24010152Satgutier@umich.edusmtROBPolicy=Partitioned 24110152Satgutier@umich.edusmtROBThreshold=100 24210152Satgutier@umich.edusquashWidth=8 24310152Satgutier@umich.edu*/ 24410152Satgutier@umich.edu 24510152Satgutier@umich.edu/* 24610152Satgutier@umich.eduprefetch_access=false 24710152Satgutier@umich.eduprefetch_cache_check_push=true 24810152Satgutier@umich.eduprefetch_data_accesses_only=false 24910152Satgutier@umich.eduprefetch_degree=1 25010152Satgutier@umich.eduprefetch_latency=10000 25110152Satgutier@umich.eduprefetch_miss=false 25210152Satgutier@umich.eduprefetch_past_page=false 25310152Satgutier@umich.eduprefetch_policy=none 25410152Satgutier@umich.eduprefetch_serial_squash=false 25510152Satgutier@umich.eduprefetch_use_cpu_id=true 25610152Satgutier@umich.eduprefetcher_size=100 25710152Satgutier@umich.eduprioritizeRequests=false 25810152Satgutier@umich.edurepl=Null 25910152Satgutier@umich.edu 26010152Satgutier@umich.edu 26110152Satgutier@umich.edusplit=false 26210152Satgutier@umich.edusplit_size=0 26310152Satgutier@umich.edusubblock_size=0 26410152Satgutier@umich.edutgts_per_mshr=20 26510152Satgutier@umich.edutrace_addr=0 26610152Satgutier@umich.edutwo_queue=false 26710152Satgutier@umich.edu 26810152Satgutier@umich.educpu_side=system.cpu0.dcache_port 26910152Satgutier@umich.edumem_side=system.tol2bus.port[2] 27010152Satgutier@umich.edu*/ 27110152Satgutier@umich.edu 27210152Satgutier@umich.edu//[system.cpu0.dtb] 27310152Satgutier@umich.edu//type=AlphaDT 27410152Satgutier@umich.edu 27510152Satgutier@umich.edu 27610152Satgutier@umich.edu#endif /* ARCH_CONST_H_ */ 277