mirror of
https://github.com/litex-hub/litex-boards.git
synced 2025-01-03 03:43:36 -05:00
targets/xilinx: add comment on sys_clk to pll.clkin false path.
This commit is contained in:
parent
1ac1c6857f
commit
d73bd2f7ce
28 changed files with 28 additions and 28 deletions
|
@ -50,7 +50,7 @@ class _CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ class CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ class CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ class _CRG(Module):
|
||||||
pll.register_clkin(platform.request("clk300", 0), 300e6)
|
pll.register_clkin(platform.request("clk300", 0), 300e6)
|
||||||
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
||||||
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.specials += [
|
self.specials += [
|
||||||
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
||||||
|
|
|
@ -47,7 +47,7 @@ class _CRG(Module):
|
||||||
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)
|
||||||
pll.create_clkout(self.cd_eth, 25e6)
|
pll.create_clkout(self.cd_eth, 25e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ class _CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ class _CRG(Module):
|
||||||
self.comb += pll.reset.eq(self.rst)
|
self.comb += pll.reset.eq(self.rst)
|
||||||
pll.register_clkin(platform.request("clk200"), 200e6)
|
pll.register_clkin(platform.request("clk200"), 200e6)
|
||||||
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
# BaseSoC ------------------------------------------------------------------------------------------
|
# BaseSoC ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ class _CRG(Module):
|
||||||
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_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ class _CRG(Module):
|
||||||
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_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ class _CRG(Module):
|
||||||
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
||||||
pll.create_clkout(self.cd_idelay, 200e6, with_reset=False)
|
pll.create_clkout(self.cd_idelay, 200e6, with_reset=False)
|
||||||
pll.create_clkout(self.cd_eth, 200e6)
|
pll.create_clkout(self.cd_eth, 200e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.specials += [
|
self.specials += [
|
||||||
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
||||||
|
|
|
@ -39,7 +39,7 @@ class _CRG(Module):
|
||||||
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_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ class CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ class _CRG(Module):
|
||||||
pll.register_clkin(platform.request("clk100"), 100e6)
|
pll.register_clkin(platform.request("clk100"), 100e6)
|
||||||
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
||||||
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.specials += [
|
self.specials += [
|
||||||
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
||||||
|
|
|
@ -45,7 +45,7 @@ class _CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ class _CRG(Module):
|
||||||
pll.create_clkout(self.cd_sys2x_ps, 2*sys_clk_freq, phase=90)
|
pll.create_clkout(self.cd_sys2x_ps, 2*sys_clk_freq, phase=90)
|
||||||
else:
|
else:
|
||||||
pll.create_clkout(self.cd_sys_ps, sys_clk_freq, phase=90)
|
pll.create_clkout(self.cd_sys_ps, sys_clk_freq, phase=90)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
# SDRAM clock
|
# SDRAM clock
|
||||||
sdram_clk = ClockSignal("sys2x_ps" if sdram_rate == "1:2" else "sys_ps")
|
sdram_clk = ClockSignal("sys2x_ps" if sdram_rate == "1:2" else "sys_ps")
|
||||||
|
|
|
@ -47,7 +47,7 @@ class CRG(Module):
|
||||||
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_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ class _CRG(Module):
|
||||||
pll.create_clkout(self.cd_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
pll.create_clkout(self.cd_clk100, 100e6)
|
pll.create_clkout(self.cd_clk100, 100e6)
|
||||||
pll.create_clkout(self.cd_eth, 50e6)
|
pll.create_clkout(self.cd_eth, 50e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ class _CRG(Module):
|
||||||
pll.create_clkout(self.cd_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
pll.create_clkout(self.cd_eth, 50e6)
|
pll.create_clkout(self.cd_eth, 50e6)
|
||||||
pll.create_clkout(self.cd_vga, 25e6)
|
pll.create_clkout(self.cd_vga, 25e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ class _CRG(Module):
|
||||||
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)
|
||||||
pll.create_clkout(self.cd_clk100, 100e6)
|
pll.create_clkout(self.cd_clk100, 100e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ class _CRG(Module):
|
||||||
self.comb += pll.reset.eq(~platform.request("user_btn_n") | self.rst)
|
self.comb += pll.reset.eq(~platform.request("user_btn_n") | self.rst)
|
||||||
pll.register_clkin(platform.request("clk125"), 125e6)
|
pll.register_clkin(platform.request("clk125"), 125e6)
|
||||||
pll.create_clkout(self.cd_sys, clk_freq)
|
pll.create_clkout(self.cd_sys, clk_freq)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
# BaseSoC ------------------------------------------------------------------------------------------
|
# BaseSoC ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ class _CRG(Module):
|
||||||
self.comb += pll.reset.eq(self.rst)
|
self.comb += pll.reset.eq(self.rst)
|
||||||
pll.register_clkin(platform.request(platform.default_clk_name), platform.default_clk_freq)
|
pll.register_clkin(platform.request(platform.default_clk_name), platform.default_clk_freq)
|
||||||
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
# BaseSoC ------------------------------------------------------------------------------------------
|
# BaseSoC ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ class _CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ class CRG(Module):
|
||||||
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(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ class _CRG(Module):
|
||||||
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_idelay, 200e6)
|
pll.create_clkout(self.cd_idelay, 200e6)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
self.submodules.idelayctrl = S7IDELAYCTRL(self.cd_idelay)
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ class _CRG(Module):
|
||||||
pll.register_clkin(platform.request("clk125"), 125e6)
|
pll.register_clkin(platform.request("clk125"), 125e6)
|
||||||
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
||||||
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.specials += [
|
self.specials += [
|
||||||
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
||||||
|
|
|
@ -43,7 +43,7 @@ class _CRG(Module):
|
||||||
pll.register_clkin(platform.request("clk300", ddram_channel), 300e6)
|
pll.register_clkin(platform.request("clk300", ddram_channel), 300e6)
|
||||||
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
||||||
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.specials += [
|
self.specials += [
|
||||||
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
||||||
|
|
|
@ -42,7 +42,7 @@ class _CRG(Module):
|
||||||
pll.register_clkin(platform.request("clk125"), 125e6)
|
pll.register_clkin(platform.request("clk125"), 125e6)
|
||||||
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
pll.create_clkout(self.cd_pll4x, sys_clk_freq*4, buf=None, with_reset=False)
|
||||||
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
pll.create_clkout(self.cd_idelay, 500e6, with_reset=False)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
self.specials += [
|
self.specials += [
|
||||||
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
Instance("BUFGCE_DIV", name="main_bufgce_div",
|
||||||
|
|
|
@ -40,7 +40,7 @@ class _CRG(Module):
|
||||||
self.comb += pll.reset.eq(self.rst)
|
self.comb += pll.reset.eq(self.rst)
|
||||||
pll.register_clkin(platform.request("clk125"), 125e6)
|
pll.register_clkin(platform.request("clk125"), 125e6)
|
||||||
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
pll.create_clkout(self.cd_sys, sys_clk_freq)
|
||||||
platform.add_false_path_constraints(pll.clkin, self.cd_sys.clk)
|
platform.add_false_path_constraints(self.cd_sys.clk, pll.clkin) # Ignore sys_clk to pll.clkin path created by SoC's rst.
|
||||||
|
|
||||||
# BaseSoC ------------------------------------------------------------------------------------------
|
# BaseSoC ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue