MemTimingSpec.cc revision 10428
110428Sandreas.hansson@arm.com/* 210428Sandreas.hansson@arm.com * Copyright (c) 2012-2014, TU Delft 310428Sandreas.hansson@arm.com * Copyright (c) 2012-2014, TU Eindhoven 410428Sandreas.hansson@arm.com * Copyright (c) 2012-2014, TU Kaiserslautern 510428Sandreas.hansson@arm.com * All rights reserved. 610428Sandreas.hansson@arm.com * 710428Sandreas.hansson@arm.com * Redistribution and use in source and binary forms, with or without 810428Sandreas.hansson@arm.com * modification, are permitted provided that the following conditions are 910428Sandreas.hansson@arm.com * met: 1010428Sandreas.hansson@arm.com * 1110428Sandreas.hansson@arm.com * 1. Redistributions of source code must retain the above copyright 1210428Sandreas.hansson@arm.com * notice, this list of conditions and the following disclaimer. 1310428Sandreas.hansson@arm.com * 1410428Sandreas.hansson@arm.com * 2. Redistributions in binary form must reproduce the above copyright 1510428Sandreas.hansson@arm.com * notice, this list of conditions and the following disclaimer in the 1610428Sandreas.hansson@arm.com * documentation and/or other materials provided with the distribution. 1710428Sandreas.hansson@arm.com * 1810428Sandreas.hansson@arm.com * 3. Neither the name of the copyright holder nor the names of its 1910428Sandreas.hansson@arm.com * contributors may be used to endorse or promote products derived from 2010428Sandreas.hansson@arm.com * this software without specific prior written permission. 2110428Sandreas.hansson@arm.com * 2210428Sandreas.hansson@arm.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 2310428Sandreas.hansson@arm.com * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2410428Sandreas.hansson@arm.com * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 2510428Sandreas.hansson@arm.com * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2610428Sandreas.hansson@arm.com * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2710428Sandreas.hansson@arm.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 2810428Sandreas.hansson@arm.com * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 2910428Sandreas.hansson@arm.com * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 3010428Sandreas.hansson@arm.com * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 3110428Sandreas.hansson@arm.com * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 3210428Sandreas.hansson@arm.com * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3310428Sandreas.hansson@arm.com * 3410428Sandreas.hansson@arm.com * Authors: Karthik Chandrasekar 3510428Sandreas.hansson@arm.com * 3610428Sandreas.hansson@arm.com */ 3710428Sandreas.hansson@arm.com 3810428Sandreas.hansson@arm.com#include "MemTimingSpec.h" 3910428Sandreas.hansson@arm.com 4010428Sandreas.hansson@arm.comusing namespace Data; 4110428Sandreas.hansson@arm.com 4210428Sandreas.hansson@arm.comMemTimingSpec::MemTimingSpec() : 4310428Sandreas.hansson@arm.com clkMhz(0.0), 4410428Sandreas.hansson@arm.com RC(0), 4510428Sandreas.hansson@arm.com RCD(0), 4610428Sandreas.hansson@arm.com CCD(0), 4710428Sandreas.hansson@arm.com CCD_S(0), 4810428Sandreas.hansson@arm.com CCD_L(0), 4910428Sandreas.hansson@arm.com RRD(0), 5010428Sandreas.hansson@arm.com RRD_S(0), 5110428Sandreas.hansson@arm.com RRD_L(0), 5210428Sandreas.hansson@arm.com FAW(0), 5310428Sandreas.hansson@arm.com TAW(0), 5410428Sandreas.hansson@arm.com WTR(0), 5510428Sandreas.hansson@arm.com WTR_S(0), 5610428Sandreas.hansson@arm.com WTR_L(0), 5710428Sandreas.hansson@arm.com REFI(0), 5810428Sandreas.hansson@arm.com RL(0), 5910428Sandreas.hansson@arm.com RP(0), 6010428Sandreas.hansson@arm.com RFC(0), 6110428Sandreas.hansson@arm.com RAS(0), 6210428Sandreas.hansson@arm.com WL(0), 6310428Sandreas.hansson@arm.com AL(0), 6410428Sandreas.hansson@arm.com DQSCK(0), 6510428Sandreas.hansson@arm.com RTP(0), 6610428Sandreas.hansson@arm.com WR(0), 6710428Sandreas.hansson@arm.com XP(0), 6810428Sandreas.hansson@arm.com XPDLL(0), 6910428Sandreas.hansson@arm.com XS(0), 7010428Sandreas.hansson@arm.com XSDLL(0), 7110428Sandreas.hansson@arm.com CKE(0), 7210428Sandreas.hansson@arm.com CKESR(0), 7310428Sandreas.hansson@arm.com clkPeriod(0.0) 7410428Sandreas.hansson@arm.com{ 7510428Sandreas.hansson@arm.com} 7610428Sandreas.hansson@arm.com 7710428Sandreas.hansson@arm.comvoid MemTimingSpec::processParameters() 7810428Sandreas.hansson@arm.com{ 7910428Sandreas.hansson@arm.com clkMhz = getParamValWithDefault("clkMhz", 0.0); 8010428Sandreas.hansson@arm.com RC = getParamValWithDefault("RC", 0); 8110428Sandreas.hansson@arm.com RCD = getParamValWithDefault("RCD", 0); 8210428Sandreas.hansson@arm.com CCD = getParamValWithDefault("CCD", 0); 8310428Sandreas.hansson@arm.com RRD = getParamValWithDefault("RRD", 0); 8410428Sandreas.hansson@arm.com WTR = getParamValWithDefault("WTR", 0); 8510428Sandreas.hansson@arm.com CCD_S = getParamValWithDefault("CCD_S", 0); 8610428Sandreas.hansson@arm.com CCD_L = getParamValWithDefault("CCD_L", 0); 8710428Sandreas.hansson@arm.com RRD_S = getParamValWithDefault("RRD_S", 0); 8810428Sandreas.hansson@arm.com RRD_L = getParamValWithDefault("RRD_L", 0); 8910428Sandreas.hansson@arm.com WTR_S = getParamValWithDefault("WTR_S", 0); 9010428Sandreas.hansson@arm.com WTR_L = getParamValWithDefault("WTR_L", 0); 9110428Sandreas.hansson@arm.com TAW = getParamValWithDefault("TAW", 0); 9210428Sandreas.hansson@arm.com FAW = getParamValWithDefault("FAW", 0); 9310428Sandreas.hansson@arm.com REFI = getParamValWithDefault("REFI", 0); 9410428Sandreas.hansson@arm.com RL = getParamValWithDefault("RL", 0); 9510428Sandreas.hansson@arm.com RP = getParamValWithDefault("RP", 0); 9610428Sandreas.hansson@arm.com RFC = getParamValWithDefault("RFC", 0); 9710428Sandreas.hansson@arm.com RAS = getParamValWithDefault("RAS", 0); 9810428Sandreas.hansson@arm.com WL = getParamValWithDefault("WL", 0); 9910428Sandreas.hansson@arm.com AL = getParamValWithDefault("AL", 0); 10010428Sandreas.hansson@arm.com DQSCK = getParamValWithDefault("DQSCK", 0); 10110428Sandreas.hansson@arm.com RTP = getParamValWithDefault("RTP", 0); 10210428Sandreas.hansson@arm.com WR = getParamValWithDefault("WR", 0); 10310428Sandreas.hansson@arm.com XP = getParamValWithDefault("XP", 0); 10410428Sandreas.hansson@arm.com XPDLL = getParamValWithDefault("XPDLL", 0); 10510428Sandreas.hansson@arm.com XS = getParamValWithDefault("XS", 0); 10610428Sandreas.hansson@arm.com XSDLL = getParamValWithDefault("XSDLL", 0); 10710428Sandreas.hansson@arm.com CKE = getParamValWithDefault("CKE", 0); 10810428Sandreas.hansson@arm.com CKESR = getParamValWithDefault("CKESR", 0); 10910428Sandreas.hansson@arm.com clkPeriod = 1000.0 / clkMhz; 11010428Sandreas.hansson@arm.com} // MemTimingSpec::processParameters 111