Merge pull request #452 from Icenowy/im1283-enh
Some small enhancements to iSX iM1283
This commit is contained in:
commit
888b52d838
|
@ -39,17 +39,19 @@ class _CRG(LiteXModule):
|
||||||
# # #
|
# # #
|
||||||
self.pll = pll = S7PLL(speedgrade=-2)
|
self.pll = pll = S7PLL(speedgrade=-2)
|
||||||
pll.register_clkin(platform.request("clk200"), 200e6)
|
pll.register_clkin(platform.request("clk200"), 200e6)
|
||||||
|
self.comb += pll.reset.eq(self.rst)
|
||||||
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
||||||
pll.create_clkout(self.cd_sys4x, 4*sys_clk_freq)
|
pll.create_clkout(self.cd_sys4x, 4*sys_clk_freq)
|
||||||
pll.create_clkout(self.cd_sys4x_dqs, 4*sys_clk_freq, phase=90)
|
pll.create_clkout(self.cd_sys4x_dqs, 4*sys_clk_freq, phase=90)
|
||||||
pll.create_clkout(self.cd_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
# BaseSoC ------------------------------------------------------------------------------------------
|
# BaseSoC ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
class BaseSoC(SoCCore):
|
class BaseSoC(SoCCore):
|
||||||
def __init__(self, sys_clk_freq=80e6, with_led_chaser=True, **kwargs):
|
def __init__(self, sys_clk_freq=80e6, with_led_chaser=True, with_jtagbone=True, **kwargs):
|
||||||
platform = isx_im1283.Platform()
|
platform = isx_im1283.Platform()
|
||||||
|
|
||||||
# SoCCore ----------------------------------------------------------------------------------
|
# SoCCore ----------------------------------------------------------------------------------
|
||||||
|
@ -60,6 +62,10 @@ class BaseSoC(SoCCore):
|
||||||
# CRG --------------------------------------------------------------------------------------
|
# CRG --------------------------------------------------------------------------------------
|
||||||
self.crg = _CRG(platform, sys_clk_freq)
|
self.crg = _CRG(platform, sys_clk_freq)
|
||||||
|
|
||||||
|
# Jtagbone ---------------------------------------------------------------------------------
|
||||||
|
if with_jtagbone:
|
||||||
|
self.add_jtagbone()
|
||||||
|
|
||||||
# DDR3 SDRAM -------------------------------------------------------------------------------
|
# DDR3 SDRAM -------------------------------------------------------------------------------
|
||||||
if not self.integrated_main_ram_size:
|
if not self.integrated_main_ram_size:
|
||||||
self.ddrphy = s7ddrphy.A7DDRPHY(platform.request("ddram"),
|
self.ddrphy = s7ddrphy.A7DDRPHY(platform.request("ddram"),
|
||||||
|
@ -84,6 +90,7 @@ def main():
|
||||||
from litex.build.parser import LiteXArgumentParser
|
from litex.build.parser import LiteXArgumentParser
|
||||||
parser = LiteXArgumentParser(platform=isx_im1283.Platform, description="LiteX SoC on iM1283.")
|
parser = LiteXArgumentParser(platform=isx_im1283.Platform, description="LiteX SoC on iM1283.")
|
||||||
parser.add_argument("--sys-clk-freq", default=80e6, type=float, help="System clock frequency.")
|
parser.add_argument("--sys-clk-freq", default=80e6, type=float, help="System clock frequency.")
|
||||||
|
parser.add_target_argument("--with-jtagbone", action="store_true", help="Enable Jtagbone support.")
|
||||||
sdopts = parser.add_mutually_exclusive_group()
|
sdopts = parser.add_mutually_exclusive_group()
|
||||||
sdopts.add_argument("--with-spi-sdcard", action="store_true", help="Enable SPI-mode SDCard support.")
|
sdopts.add_argument("--with-spi-sdcard", action="store_true", help="Enable SPI-mode SDCard support.")
|
||||||
sdopts.add_argument("--with-sdcard", action="store_true", help="Enable SDCard support.")
|
sdopts.add_argument("--with-sdcard", action="store_true", help="Enable SDCard support.")
|
||||||
|
@ -91,6 +98,7 @@ def main():
|
||||||
|
|
||||||
soc = BaseSoC(
|
soc = BaseSoC(
|
||||||
sys_clk_freq = args.sys_clk_freq,
|
sys_clk_freq = args.sys_clk_freq,
|
||||||
|
with_jtagbone = args.with_jtagbone,
|
||||||
**parser.soc_argdict
|
**parser.soc_argdict
|
||||||
)
|
)
|
||||||
if args.with_spi_sdcard:
|
if args.with_spi_sdcard:
|
||||||
|
|
Loading…
Reference in New Issue