Tags.py (9796:485399270ca1) Tags.py (9814:7ad2b0186a32)
1# Copyright (c) 2012-2013 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 32 unchanged lines hidden (view full) ---

41
42class BaseTags(ClockedObject):
43 type = 'BaseTags'
44 abstract = True
45 cxx_header = "mem/cache/tags/base.hh"
46 # Get the size from the parent (cache)
47 size = Param.MemorySize(Parent.size, "capacity in bytes")
48
1# Copyright (c) 2012-2013 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 32 unchanged lines hidden (view full) ---

41
42class BaseTags(ClockedObject):
43 type = 'BaseTags'
44 abstract = True
45 cxx_header = "mem/cache/tags/base.hh"
46 # Get the size from the parent (cache)
47 size = Param.MemorySize(Parent.size, "capacity in bytes")
48
49 # Get the block size from the parent (cache)
50 block_size = Param.Int(Parent.block_size, "block size in bytes")
49 # Get the block size from the parent (system)
50 block_size = Param.Int(Parent.cache_line_size, "block size in bytes")
51
52 # Get the hit latency from the parent (cache)
53 hit_latency = Param.Cycles(Parent.hit_latency,
54 "The hit latency for this cache")
55
56class LRU(BaseTags):
57 type = 'LRU'
58 cxx_class = 'LRU'
59 cxx_header = "mem/cache/tags/lru.hh"
60 assoc = Param.Int(Parent.assoc, "associativity")
61
62class FALRU(BaseTags):
63 type = 'FALRU'
64 cxx_class = 'FALRU'
65 cxx_header = "mem/cache/tags/fa_lru.hh"
51
52 # Get the hit latency from the parent (cache)
53 hit_latency = Param.Cycles(Parent.hit_latency,
54 "The hit latency for this cache")
55
56class LRU(BaseTags):
57 type = 'LRU'
58 cxx_class = 'LRU'
59 cxx_header = "mem/cache/tags/lru.hh"
60 assoc = Param.Int(Parent.assoc, "associativity")
61
62class FALRU(BaseTags):
63 type = 'FALRU'
64 cxx_class = 'FALRU'
65 cxx_header = "mem/cache/tags/fa_lru.hh"