Merge pull request #1488 from Icenowy/wide-soc
Misc changes for a wider SoC
This commit is contained in:
commit
3a5a2b5c7d
|
@ -40,7 +40,7 @@ def get_mem_regions(filename_or_regions, offset):
|
||||||
return regions
|
return regions
|
||||||
|
|
||||||
def get_mem_data(filename_or_regions, data_width=32, endianness="big", mem_size=None, offset=0):
|
def get_mem_data(filename_or_regions, data_width=32, endianness="big", mem_size=None, offset=0):
|
||||||
assert data_width in [32, 64]
|
assert data_width % 32 == 0
|
||||||
assert endianness in ["big", "little"]
|
assert endianness in ["big", "little"]
|
||||||
|
|
||||||
# Return empty list if no filename or regions.
|
# Return empty list if no filename or regions.
|
||||||
|
@ -80,11 +80,11 @@ def get_mem_data(filename_or_regions, data_width=32, endianness="big", mem_size=
|
||||||
"little": "<I",
|
"little": "<I",
|
||||||
"big": ">I"
|
"big": ">I"
|
||||||
}[endianness]
|
}[endianness]
|
||||||
if data_width == 32:
|
data[(base - offset)//bytes_per_data + i] = 0
|
||||||
data[(base - offset)//bytes_per_data + i] = struct.unpack(unpack_order, w)[0]
|
for filled_data_width in range(0, data_width, 32):
|
||||||
if data_width == 64:
|
cur_byte = filled_data_width//8
|
||||||
data[(base - offset)//bytes_per_data + i] = (struct.unpack(unpack_order, w[0:4])[0] << 0)
|
data[(base - offset)//bytes_per_data + i] |= (struct.unpack(unpack_order, w[cur_byte:cur_byte+4])[0] << filled_data_width)
|
||||||
data[(base - offset)//bytes_per_data + i] |= (struct.unpack(unpack_order, w[4:8])[0] << 32)
|
filled_data_width += 32
|
||||||
i += 1
|
i += 1
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
|
@ -1581,7 +1581,7 @@ class LiteXSoC(SoC):
|
||||||
port.data_width = 2**int(log2(port.data_width)) # Round to nearest power of 2.
|
port.data_width = 2**int(log2(port.data_width)) # Round to nearest power of 2.
|
||||||
|
|
||||||
# Create Wishbone Slave.
|
# Create Wishbone Slave.
|
||||||
wb_sdram = wishbone.Interface()
|
wb_sdram = wishbone.Interface(data_width=self.bus.data_width)
|
||||||
self.bus.add_slave("main_ram", wb_sdram)
|
self.bus.add_slave("main_ram", wb_sdram)
|
||||||
|
|
||||||
# L2 Cache
|
# L2 Cache
|
||||||
|
|
Loading…
Reference in New Issue