Cache.py revision 1310
112109SRekai.GonzalezAlberquilla@arm.comfrom BaseMem import BaseMem 212109SRekai.GonzalezAlberquilla@arm.com 312109SRekai.GonzalezAlberquilla@arm.comsimobj BaseCache(BaseMem): 412109SRekai.GonzalezAlberquilla@arm.com adaptive_compression = Param.Bool(false, 512109SRekai.GonzalezAlberquilla@arm.com "Use an adaptive compression scheme") 612109SRekai.GonzalezAlberquilla@arm.com assoc = Param.Int("associativity") 712109SRekai.GonzalezAlberquilla@arm.com block_size = Param.Int("block size in bytes") 812109SRekai.GonzalezAlberquilla@arm.com compressed_bus = Param.Bool(false, 912109SRekai.GonzalezAlberquilla@arm.com "This cache connects to a compressed memory") 1012109SRekai.GonzalezAlberquilla@arm.com compression_latency = Param.Int(0, 1112109SRekai.GonzalezAlberquilla@arm.com "Latency in cycles of compression algorithm") 1212109SRekai.GonzalezAlberquilla@arm.com do_copy = Param.Bool(false, "perform fast copies in the cache") 1312109SRekai.GonzalezAlberquilla@arm.com hash_delay = Param.Int(1, "time in cycles of hash access") 1412109SRekai.GonzalezAlberquilla@arm.com in_bus = Param.Bus(NULL, "incoming bus object") 1512109SRekai.GonzalezAlberquilla@arm.com max_miss_count = Param.Counter(0, 1612109SRekai.GonzalezAlberquilla@arm.com "number of misses to handle before calling exit") 1712109SRekai.GonzalezAlberquilla@arm.com mshrs = Param.Int("number of MSHRs (max outstanding requests)") 1812109SRekai.GonzalezAlberquilla@arm.com out_bus = Param.Bus("outgoing bus object") 1912109SRekai.GonzalezAlberquilla@arm.com prioritizeRequests = Param.Bool(false, 2012109SRekai.GonzalezAlberquilla@arm.com "always service demand misses first") 2112109SRekai.GonzalezAlberquilla@arm.com protocol = Param.CoherenceProtocol(NULL, "coherence protocol to use") 2212109SRekai.GonzalezAlberquilla@arm.com repl = Param.Repl(NULL, "replacement policy") 2312109SRekai.GonzalezAlberquilla@arm.com size = Param.Int("capacity in bytes") 2412109SRekai.GonzalezAlberquilla@arm.com store_compressed = Param.Bool(false, 2512109SRekai.GonzalezAlberquilla@arm.com "Store compressed data in the cache") 2612109SRekai.GonzalezAlberquilla@arm.com subblock_size = Param.Int(0, 2712109SRekai.GonzalezAlberquilla@arm.com "Size of subblock in IIC used for compression") 2812109SRekai.GonzalezAlberquilla@arm.com tgts_per_mshr = Param.Int("max number of accesses per MSHR") 2912109SRekai.GonzalezAlberquilla@arm.com trace_addr = Param.Addr(0, "address to trace") 3012109SRekai.GonzalezAlberquilla@arm.com write_buffers = Param.Int(8, "number of write buffers") 3112109SRekai.GonzalezAlberquilla@arm.com