SimpleMemory.py revision 9228:bbdca4088834
12124SN/A# Copyright (c) 2012 ARM Limited 22124SN/A# All rights reserved. 35268Sksewell@umich.edu# 45268Sksewell@umich.edu# The license below extends only to copyright in the software and shall 55268Sksewell@umich.edu# not be construed as granting a license to any other intellectual 65268Sksewell@umich.edu# property including but not limited to intellectual property relating 75268Sksewell@umich.edu# to a hardware implementation of the functionality of the software 85268Sksewell@umich.edu# licensed hereunder. You may use the software subject to the license 95268Sksewell@umich.edu# terms below provided that you ensure that this notice is replicated 105268Sksewell@umich.edu# unmodified and in its entirety in all distributions of the software, 115268Sksewell@umich.edu# modified or unmodified, in source code or in binary form. 125268Sksewell@umich.edu# 135268Sksewell@umich.edu# Copyright (c) 2005-2008 The Regents of The University of Michigan 145268Sksewell@umich.edu# All rights reserved. 155268Sksewell@umich.edu# 165268Sksewell@umich.edu# Redistribution and use in source and binary forms, with or without 175268Sksewell@umich.edu# modification, are permitted provided that the following conditions are 185268Sksewell@umich.edu# met: redistributions of source code must retain the above copyright 195268Sksewell@umich.edu# notice, this list of conditions and the following disclaimer; 205268Sksewell@umich.edu# redistributions in binary form must reproduce the above copyright 215268Sksewell@umich.edu# notice, this list of conditions and the following disclaimer in the 225268Sksewell@umich.edu# documentation and/or other materials provided with the distribution; 235268Sksewell@umich.edu# neither the name of the copyright holders nor the names of its 245268Sksewell@umich.edu# contributors may be used to endorse or promote products derived from 255268Sksewell@umich.edu# this software without specific prior written permission. 265268Sksewell@umich.edu# 275268Sksewell@umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 285268Sksewell@umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 295268Sksewell@umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 305268Sksewell@umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 312022SN/A# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 322649Ssaidi@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 332649Ssaidi@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 342706Sksewell@umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 352649Ssaidi@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 362649Ssaidi@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 372022SN/A# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 382124SN/A# 392124SN/A# Authors: Nathan Binkert 402124SN/A# Andreas Hansson 412124SN/A 422124SN/Afrom m5.params import * 432124SN/Afrom AbstractMemory import * 442124SN/A 455736Snate@binkert.orgclass SimpleMemory(AbstractMemory): 462239SN/A type = 'SimpleMemory' 472124SN/A port = SlavePort("Slave ports") 482124SN/A latency = Param.Latency('30ns', "Request to response latency") 492124SN/A latency_var = Param.Latency('0ns', "Request to response latency variance") 502124SN/A # The memory bandwidth limit default is set to 12.8GB/s which is 516207Sksewell@umich.edu # representative of a x64 DDR3-1600 channel. 522124SN/A bandwidth = Param.MemoryBandwidth('12.8GB/s', 532742Sksewell@umich.edu "Combined read and write bandwidth") 542022SN/A