default_clk_name = "clk100"
default_clk_period = 10
- def __init__(self, **kwargs):
- LatticePlatform.__init__(self, "LFE5U-45F-6BG381C", _io, **kwargs)
+ def __init__(self, device="LFE5U-45F", **kwargs):
+ LatticePlatform.__init__(self, device + "-6BG381C", _io, **kwargs)
# BaseSoC ------------------------------------------------------------------------------------------
class BaseSoC(SoCSDRAM):
- def __init__(self, toolchain="diamond", **kwargs):
- platform = ulx3s.Platform(toolchain=toolchain)
+ def __init__(self, platform, **kwargs):
sys_clk_freq = int(50e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
parser = argparse.ArgumentParser(description="LiteX SoC on ULX3S")
parser.add_argument("--gateware-toolchain", dest="toolchain", default="diamond",
help='gateware toolchain to use, diamond (default) or trellis')
+ parser.add_argument("--device", dest="device", default="LFE5U-45F",
+ help='FPGA device, ULX3S can be populated with LFE5U-45F (default) or LFE5U-85F')
builder_args(parser)
soc_sdram_args(parser)
args = parser.parse_args()
- soc = BaseSoC(toolchain=args.toolchain, **soc_sdram_argdict(args))
+ platform = ulx3s.Platform(device=args.device, toolchain=args.toolchain)
+ soc = BaseSoC(platform, **soc_sdram_argdict(args))
builder = Builder(soc, **builder_argdict(args))
builder.build()