litex/soc: update API to avoid unfortunate terms

Provides an alternate API to some functions of the SoCBusHandler and bus
Arbiter classes to allow users of the API to avoid the terms 'master'
and 'slave' in certain situations.

Signed-off-by: Alan Green <alan.green@gmail.com>
This commit is contained in:
Alan Green 2022-11-04 04:09:16 +11:00
parent cd2805b422
commit 61be01ebd4
2 changed files with 12 additions and 1 deletions

View File

@ -416,6 +416,9 @@ class SoCBusHandler(LiteXModule):
colorer(name, color="underline"),
colorer("added", color="green")))
def add_controller(self, name=None, controller=None):
self.add_master(self, name=name, master=controller)
def add_slave(self, name=None, slave=None, region=None):
no_name = name is None
no_region = region is None
@ -448,6 +451,9 @@ class SoCBusHandler(LiteXModule):
colorer(name, color="underline"),
colorer("added", color="green")))
def add_peripheral(self, name=None, peripheral=None, region=None):
self.add_slave(self, name=name, slave=peripheral, region=region)
def get_address_width(self, standard):
standard_from = self.standard
standard_to = standard

View File

@ -149,7 +149,12 @@ class InterconnectPointToPoint(Module):
class Arbiter(Module):
def __init__(self, masters, target):
def __init__(self, masters=None, target=None, controllers=None):
assert target is not None
assert (masters is not None) or (controllers is not None)
if controllers is not None:
masters = controllers
self.submodules.rr = roundrobin.RoundRobin(len(masters))
# mux master->slave signals