Most of the targets can now generate an abritrary sys_clk_freq from onboard XO.
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(100e6), **kwargs):
platform = ac701.Platform()
- sys_clk_freq = int(100e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
integrated_sram_size=0x8000,
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(100e6), **kwargs):
platform = arty.Platform()
- sys_clk_freq = int(100e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
integrated_sram_size=0x8000,
# BaseSoC ------------------------------------------------------------------------------------------
class BaseSoC(SoCSDRAM):
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(100e6), **kwargs):
+ assert sys_clk_freq == int(100e6)
platform = de0nano.Platform()
- sys_clk_freq = int(100e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
**kwargs)
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(125e6), **kwargs):
platform = genesys2.Platform()
- sys_clk_freq = int(125e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
integrated_sram_size=0x8000,
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(125e6), **kwargs):
platform = kc705.Platform()
- sys_clk_freq = int(125e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
integrated_sram_size=0x8000,
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(125e6), **kwargs):
platform = kcu105.Platform()
- sys_clk_freq = int(125e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
integrated_sram_size=0x8000,
# BaseSoC ------------------------------------------------------------------------------------------
class BaseSoC(SoCSDRAM):
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(80e6), **kwargs):
+ assert sys_clk_freq == int(80e6)
platform = minispartan6.Platform()
- sys_clk_freq = int(80e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
**kwargs)
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(100e6), **kwargs):
platform = nexys4ddr.Platform()
- sys_clk_freq = int(100e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
integrated_sram_size=0x8000,
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, **kwargs):
+ def __init__(self, sys_clk_freq=int(100e6), **kwargs):
platform = nexys_video.Platform()
- sys_clk_freq = int(100e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
integrated_sram_size=0x8000,
# CRG ----------------------------------------------------------------------------------------------
class _CRG(Module):
- def __init__(self, platform):
+ def __init__(self, platform, sys_clk_freq):
self.clock_domains.cd_sys = ClockDomain()
self.clock_domains.cd_sys_ps = ClockDomain(reset_less=True)
self.submodules.pll = pll = ECP5PLL()
self.comb += pll.reset.eq(rst)
pll.register_clkin(clk25, 25e6)
- pll.create_clkout(self.cd_sys, 50e6, phase=11)
- pll.create_clkout(self.cd_sys_ps, 50e6, phase=20)
+ pll.create_clkout(self.cd_sys, sys_clk_freq, phase=11)
+ pll.create_clkout(self.cd_sys_ps, sys_clk_freq, phase=20)
self.specials += AsyncResetSynchronizer(self.cd_sys, rst)
# sdram clock
integrated_rom_size=0x8000,
**kwargs)
- self.submodules.crg = _CRG(platform)
+ self.submodules.crg = _CRG(platform, sys_clk_freq)
if not self.integrated_main_ram_size:
self.submodules.sdrphy = GENSDRPHY(platform.request("sdram"))
"ddrphy": 16,
}
csr_map.update(SoCSDRAM.csr_map)
- def __init__(self, toolchain="diamond", **kwargs):
+ def __init__(self, sys_clk_freq=int(75e6), toolchain="diamond", **kwargs):
platform = versa_ecp5.Platform(toolchain=toolchain)
- sys_clk_freq = int(75e6)
SoCSDRAM.__init__(self, platform, clk_freq=sys_clk_freq,
integrated_rom_size=0x8000,
**kwargs)