ecpix5: add option to select ECP5 device
This commit is contained in:
parent
bee71da774
commit
a678672fc9
|
@ -111,8 +111,9 @@ class Platform(LatticePlatform):
|
||||||
default_clk_name = "clk100"
|
default_clk_name = "clk100"
|
||||||
default_clk_period = 1e9/100e6
|
default_clk_period = 1e9/100e6
|
||||||
|
|
||||||
def __init__(self, toolchain="trellis", **kwargs):
|
def __init__(self, device="85F", toolchain="trellis", **kwargs):
|
||||||
LatticePlatform.__init__(self, "LFE5UM5G-85F-8BG554I", _io, _connectors, toolchain=toolchain, **kwargs)
|
assert device in ["45F", "85F"]
|
||||||
|
LatticePlatform.__init__(self, f"LFE5UM5G-{device}-8BG554I", _io, _connectors, toolchain=toolchain, **kwargs)
|
||||||
|
|
||||||
def create_programmer(self):
|
def create_programmer(self):
|
||||||
return OpenOCDJTAGProgrammer("openocd_ecpix5.cfg")
|
return OpenOCDJTAGProgrammer("openocd_ecpix5.cfg")
|
||||||
|
|
|
@ -77,8 +77,8 @@ class _CRG(Module):
|
||||||
# BaseSoC ------------------------------------------------------------------------------------------
|
# BaseSoC ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
class BaseSoC(SoCCore):
|
class BaseSoC(SoCCore):
|
||||||
def __init__(self, sys_clk_freq=int(75e6), with_ethernet=False, **kwargs):
|
def __init__(self, device="85F", sys_clk_freq=int(75e6), with_ethernet=False, **kwargs):
|
||||||
platform = ecpix5.Platform(toolchain="trellis")
|
platform = ecpix5.Platform(device=device, toolchain="trellis")
|
||||||
|
|
||||||
# SoCCore ----------------------------------------------------------------------------------
|
# SoCCore ----------------------------------------------------------------------------------
|
||||||
SoCCore.__init__(self, platform, sys_clk_freq,
|
SoCCore.__init__(self, platform, sys_clk_freq,
|
||||||
|
@ -128,6 +128,7 @@ def main():
|
||||||
parser = argparse.ArgumentParser(description="LiteX SoC on ECPIX-5")
|
parser = argparse.ArgumentParser(description="LiteX SoC on ECPIX-5")
|
||||||
parser.add_argument("--build", action="store_true", help="Build bitstream")
|
parser.add_argument("--build", action="store_true", help="Build bitstream")
|
||||||
parser.add_argument("--load", action="store_true", help="Load bitstream")
|
parser.add_argument("--load", action="store_true", help="Load bitstream")
|
||||||
|
parser.add_argument("--device", default="85F", help="ECP5 device (default: 85F)")
|
||||||
parser.add_argument("--sys-clk-freq", default=75e6, help="System clock frequency (default: 75MHz)")
|
parser.add_argument("--sys-clk-freq", default=75e6, help="System clock frequency (default: 75MHz)")
|
||||||
parser.add_argument("--with-sdcard", action="store_true", help="Enable SDCard support")
|
parser.add_argument("--with-sdcard", action="store_true", help="Enable SDCard support")
|
||||||
parser.add_argument("--with-ethernet", action="store_true", help="Enable Ethernet support")
|
parser.add_argument("--with-ethernet", action="store_true", help="Enable Ethernet support")
|
||||||
|
@ -137,6 +138,7 @@ def main():
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
soc = BaseSoC(
|
soc = BaseSoC(
|
||||||
|
device = args.device,
|
||||||
sys_clk_freq = int(float(args.sys_clk_freq)),
|
sys_clk_freq = int(float(args.sys_clk_freq)),
|
||||||
with_ethernet = args.with_ethernet,
|
with_ethernet = args.with_ethernet,
|
||||||
**soc_core_argdict(args)
|
**soc_core_argdict(args)
|
||||||
|
|
Loading…
Reference in New Issue