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

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

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'