###
+ clk_dejitter = Signal()
+ dcm_locked = Signal()
+ self.specials += Instance("DCM_CLKGEN",
+ Instance.Parameter("CLKIN_PERIOD", 26.7),
+ Instance.Parameter("CLKFX_DIVIDE", 2),
+ Instance.Parameter("CLKFX_MULTIPLY", 2),
+ Instance.Parameter("CLKFX_MD_MAX", 1.0),
+ Instance.Input("CLKIN", pads.clk),
+ Instance.Input("RST", self._r_pll_reset.storage),
+ Instance.Output("CLKFX", clk_dejitter),
+ Instance.Output("LOCKED", dcm_locked)
+ )
+
clkfbout = Signal()
pll_locked = Signal()
pll_clk0 = Signal()
Instance.Output("CLKOUT3", pll_clk3),
Instance.Output("LOCKED", pll_locked),
Instance.Input("CLKFBIN", clkfbout),
- Instance.Input("CLKIN", pads.clk),
- Instance.Input("RST", self._r_pll_reset.storage)
+ Instance.Input("CLKIN", clk_dejitter),
+ Instance.Input("RST", ~dcm_locked)
)
locked_async = Signal()