From ea8e745ac28cfbf62319eaf50b755ec4f4ad3e3d Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Tue, 11 Feb 2020 08:44:23 +0100 Subject: [PATCH] soc_core/common: move old mem_decoder to soc_core, simplify get_version --- litex/soc/integration/common.py | 16 ++-------------- litex/soc/integration/soc_core.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/litex/soc/integration/common.py b/litex/soc/integration/common.py index 7fa11a34..d07f0518 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 25a10d25..6106dedf 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): -- 2.30.2