Skip to content

Commit 8e391e2

Browse files
committedJul 28, 2015
kc705: generate 10MHz clock on GPIO SMA
For SynthNV and input tests.
1 parent 1809a70 commit 8e391e2

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed
 

Diff for: ‎soc/targets/artiq_kc705.py

+13-5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ def __init__(self, platform, rtio_internal_clk):
2525
self.clock_domains.cd_rtio = ClockDomain()
2626
self.clock_domains.cd_rtiox4 = ClockDomain(reset_less=True)
2727

28+
# 10 MHz when using 125MHz input
29+
self.clock_domains.cd_ext_clkout = ClockDomain(reset_less=True)
30+
ext_clkout = platform.request("user_sma_gpio_p")
31+
self.sync.ext_clkout += ext_clkout.eq(~ext_clkout)
32+
33+
2834
rtio_external_clk = Signal()
2935
user_sma_clock = platform.request("user_sma_clock")
3036
platform.add_period_constraint(user_sma_clock.p, 8.0)
@@ -35,6 +41,7 @@ def __init__(self, platform, rtio_internal_clk):
3541
pll_locked = Signal()
3642
rtio_clk = Signal()
3743
rtiox4_clk = Signal()
44+
ext_clkout_clk = Signal()
3845
self.specials += [
3946
Instance("PLLE2_ADV",
4047
p_STARTUP_WAIT="FALSE", o_LOCKED=pll_locked,
@@ -45,25 +52,26 @@ def __init__(self, platform, rtio_internal_clk):
4552
# Warning: CLKINSEL=0 means CLKIN2 is selected
4653
i_CLKINSEL=~self._clock_sel.storage,
4754

55+
# VCO @ 1GHz when using 125MHz input
4856
p_CLKFBOUT_MULT=8, p_DIVCLK_DIVIDE=1,
4957
i_CLKFBIN=self.cd_rtio.clk,
5058
i_RST=self._pll_reset.storage,
5159

5260
o_CLKFBOUT=rtio_clk,
5361

5462
p_CLKOUT0_DIVIDE=2, p_CLKOUT0_PHASE=0.0,
55-
o_CLKOUT0=rtiox4_clk),
63+
o_CLKOUT0=rtiox4_clk,
64+
65+
p_CLKOUT1_DIVIDE=50, p_CLKOUT1_PHASE=0.0,
66+
o_CLKOUT1=ext_clkout_clk),
5667
Instance("BUFG", i_I=rtio_clk, o_O=self.cd_rtio.clk),
5768
Instance("BUFG", i_I=rtiox4_clk, o_O=self.cd_rtiox4.clk),
69+
Instance("BUFG", i_I=ext_clkout_clk, o_O=self.cd_ext_clkout.clk),
5870

5971
AsyncResetSynchronizer(self.cd_rtio, ~pll_locked),
6072
MultiReg(pll_locked, self._pll_locked.status)
6173
]
6274

63-
# 62.5MHz when using internal RTIO clock
64-
ext_clkout = platform.request("user_sma_gpio_p")
65-
self.sync.rtio += ext_clkout.eq(~ext_clkout)
66-
6775

6876
class _NIST_QCx(MiniSoC, AMPSoC):
6977
csr_map = {

0 commit comments

Comments
 (0)
Please sign in to comment.