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