diff --git a/litex/soc/integration/common.py b/litex/soc/integration/common.py index 7fa11a340..d07f05185 100644 --- a/litex/soc/integration/common.py +++ b/litex/soc/integration/common.py @@ -12,21 +12,9 @@ from migen import * # Helpers ---------------------------------------------------------------------------------------- -def mem_decoder(address, size=0x10000000): - address &= ~0x80000000 - size = 2**log2_int(size, False) - assert (address & (size - 1)) == 0 - address >>= 2 # bytes to words aligned - size >>= 2 # bytes to words aligned - return lambda a: (a[log2_int(size):-1] == (address >> log2_int(size))) - def get_version(with_time=True): - if with_time: - return datetime.datetime.fromtimestamp( - time.time()).strftime("%Y-%m-%d %H:%M:%S") - else: - return datetime.datetime.fromtimestamp( - time.time()).strftime("%Y-%m-%d") + fmt = "%Y-%m-%d %H:%M:%S" if with_time else "%Y-%m-%d" + return datetime.datetime.fromtimestamp(time.time()).strftime("%Y-%m-%d %H:%M:%S") def get_mem_data(filename_or_regions, endianness="big", mem_size=None): # create memory regions diff --git a/litex/soc/integration/soc_core.py b/litex/soc/integration/soc_core.py index 25a10d252..6106dedfc 100644 --- a/litex/soc/integration/soc_core.py +++ b/litex/soc/integration/soc_core.py @@ -37,6 +37,16 @@ __all__ = [ "soc_mini_argdict", ] +# Helpers ------------------------------------------------------------------------------------------ + +def mem_decoder(address, size=0x10000000): + size = 2**log2_int(size, False) + assert (address & (size - 1)) == 0 + address >>= 2 # bytes to words aligned + size >>= 2 # bytes to words aligned + return lambda a: (a[log2_int(size):] == (address >> log2_int(size))) + + # SoCCore ------------------------------------------------------------------------------------------ class SoCCore(LiteXSoC):