1 # This file is Copyright (c) 2020 Florent Kermarrec <florent@enjoy-digital.fr>
6 from litex
.soc
.cores
.clock
import *
9 class TestClock(unittest
.TestCase
):
13 pll
.register_clkin(Signal(), 100e6
)
14 for i
in range(pll
.nclkouts_max
):
15 pll
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
20 dcm
.register_clkin(Signal(), 100e6
)
21 for i
in range(dcm
.nclkouts_max
):
22 dcm
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
28 pll
.register_clkin(Signal(), 100e6
)
29 for i
in range(pll
.nclkouts_max
):
30 pll
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
33 def test_s7mmcm(self
):
35 mmcm
.register_clkin(Signal(), 100e6
)
36 for i
in range(mmcm
.nclkouts_max
):
37 mmcm
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
43 pll
.register_clkin(Signal(), 100e6
)
44 for i
in range(pll
.nclkouts_max
):
45 pll
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
48 def test_usmmcm(self
):
50 mmcm
.register_clkin(Signal(), 100e6
)
51 for i
in range(mmcm
.nclkouts_max
):
52 mmcm
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
56 def test_ice40pll(self
):
58 pll
.register_clkin(Signal(), 100e6
)
59 for i
in range(pll
.nclkouts_max
):
60 pll
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
64 def test_ecp5pll(self
):
66 pll
.register_clkin(Signal(), 100e6
)
67 for i
in range(pll
.nclkouts_max
):
68 pll
.create_clkout(ClockDomain("clkout{}".format(i
)), 200e6
)
72 def test_cycloneivpll(self
):
74 pll
.register_clkin(Signal(), 50e6
)
75 for i
in range(pll
.nclkouts_max
):
76 pll
.create_clkout(ClockDomain("clkout{}".format(i
)), 100e6
)
80 def test_cyclonevpll(self
):
82 pll
.register_clkin(Signal(), 50e6
)
83 for i
in range(pll
.nclkouts_max
):
84 pll
.create_clkout(ClockDomain("clkout{}".format(i
)), 100e6
)