# 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
"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):