XBar.py (11132:fbd597034299) | XBar.py (11334:9bd2e84abdca) |
---|---|
1# Copyright (c) 2012, 2015 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 --- 86 unchanged lines hidden (view full) --- 95 96 # The coherent crossbar additionally has snoop responses that are 97 # forwarded after a specific latency. 98 snoop_response_latency = Param.Cycles("Snoop response latency") 99 100 # An optional snoop filter 101 snoop_filter = Param.SnoopFilter(NULL, "Selected snoop filter") 102 | 1# Copyright (c) 2012, 2015 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 --- 86 unchanged lines hidden (view full) --- 95 96 # The coherent crossbar additionally has snoop responses that are 97 # forwarded after a specific latency. 98 snoop_response_latency = Param.Cycles("Snoop response latency") 99 100 # An optional snoop filter 101 snoop_filter = Param.SnoopFilter(NULL, "Selected snoop filter") 102 |
103 # Determine how this crossbar handles packets where caches have 104 # already committed to responding, by establishing if the crossbar 105 # is the point of coherency or not. 106 point_of_coherency = Param.Bool(False, "Consider this crossbar the " \ 107 "point of coherency") 108 |
|
103 system = Param.System(Parent.any, "System that the crossbar belongs to.") 104 105class SnoopFilter(SimObject): 106 type = 'SnoopFilter' 107 cxx_header = "mem/snoop_filter.hh" 108 109 # Lookup latency of the snoop filter, added to requests that pass 110 # through a coherent crossbar. --- 31 unchanged lines hidden (view full) --- 142 143 # A handful pipeline stages for each portion of the latency 144 # contributions. 145 frontend_latency = 3 146 forward_latency = 4 147 response_latency = 2 148 snoop_response_latency = 4 149 | 109 system = Param.System(Parent.any, "System that the crossbar belongs to.") 110 111class SnoopFilter(SimObject): 112 type = 'SnoopFilter' 113 cxx_header = "mem/snoop_filter.hh" 114 115 # Lookup latency of the snoop filter, added to requests that pass 116 # through a coherent crossbar. --- 31 unchanged lines hidden (view full) --- 148 149 # A handful pipeline stages for each portion of the latency 150 # contributions. 151 frontend_latency = 3 152 forward_latency = 4 153 response_latency = 2 154 snoop_response_latency = 4 155 |
156 # This specialisation of the coherent crossbar is to be considered 157 # the point of coherency, as there are no (coherent) downstream 158 # caches. 159 point_of_coherency = True 160 |
|
150# In addition to the system interconnect, we typically also have one 151# or more on-chip I/O crossbars. Note that at some point we might want 152# to also define an off-chip I/O crossbar such as PCIe. 153class IOXBar(NoncoherentXBar): 154 # 128-bit crossbar by default 155 width = 16 156 157 # Assume a simpler datapath than a coherent crossbar, incuring 158 # less pipeline stages for decision making and forwarding of 159 # requests. 160 frontend_latency = 2 161 forward_latency = 1 162 response_latency = 2 | 161# In addition to the system interconnect, we typically also have one 162# or more on-chip I/O crossbars. Note that at some point we might want 163# to also define an off-chip I/O crossbar such as PCIe. 164class IOXBar(NoncoherentXBar): 165 # 128-bit crossbar by default 166 width = 16 167 168 # Assume a simpler datapath than a coherent crossbar, incuring 169 # less pipeline stages for decision making and forwarding of 170 # requests. 171 frontend_latency = 2 172 forward_latency = 1 173 response_latency = 2 |