summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system/Sequencer.py
blob: add5a06a1c29c6c29fdbfcb85e65ec7845b6482d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from m5.params import *
from MemObject import MemObject

class RubyPort(MemObject):
    type = 'RubyPort'
    abstract = True
    port = VectorPort("M5 port")
    controller = Param.RubyController("")
    version = Param.Int(0, "")

class RubySequencer(RubyPort):
    type = 'RubySequencer'
    cxx_class = 'Sequencer'
    icache = Param.RubyCache("")
    dcache = Param.RubyCache("")
    max_outstanding_requests = Param.Int(16,
        "max requests (incl. prefetches) outstanding")
    deadlock_threshold = Param.Int(500000,
        "max outstanding cycles for a request before deadlock/livelock declared")
    funcmem_port = Port("port to functional memory")

class DMASequencer(RubyPort):
    type = 'DMASequencer'