soc/cores/clock/ECP5PLL: add basic phase support
This commit is contained in:
parent
a7b5b9d212
commit
9c801fbe50
|
@ -206,7 +206,7 @@ class S7IDELAYCTRL(Module):
|
||||||
# Lattice
|
# Lattice
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# - add phase shift support
|
# - add proper phase support.
|
||||||
|
|
||||||
class ECP5PLL(Module):
|
class ECP5PLL(Module):
|
||||||
nclkouts_max = 3
|
nclkouts_max = 3
|
||||||
|
@ -241,7 +241,6 @@ class ECP5PLL(Module):
|
||||||
(clko_freq_min, clko_freq_max) = self.clko_freq_range
|
(clko_freq_min, clko_freq_max) = self.clko_freq_range
|
||||||
assert freq >= clko_freq_min
|
assert freq >= clko_freq_min
|
||||||
assert freq <= clko_freq_max
|
assert freq <= clko_freq_max
|
||||||
assert phase == 0
|
|
||||||
assert self.nclkouts < self.nclkouts_max
|
assert self.nclkouts < self.nclkouts_max
|
||||||
clkout = Signal()
|
clkout = Signal()
|
||||||
self.clkouts[self.nclkouts] = (clkout, freq, phase, margin)
|
self.clkouts[self.nclkouts] = (clkout, freq, phase, margin)
|
||||||
|
@ -301,6 +300,6 @@ class ECP5PLL(Module):
|
||||||
self.params["p_CLKO{}_ENABLE".format(n_to_l[n])] = "ENABLED"
|
self.params["p_CLKO{}_ENABLE".format(n_to_l[n])] = "ENABLED"
|
||||||
self.params["p_CLKO{}_DIV".format(n_to_l[n])] = config["clko{}_div".format(n)]
|
self.params["p_CLKO{}_DIV".format(n_to_l[n])] = config["clko{}_div".format(n)]
|
||||||
self.params["p_CLKO{}_FPHASE".format(n_to_l[n])] = 0
|
self.params["p_CLKO{}_FPHASE".format(n_to_l[n])] = 0
|
||||||
self.params["p_CLKO{}_CPHASE".format(n_to_l[n])] = 0
|
self.params["p_CLKO{}_CPHASE".format(n_to_l[n])] = p
|
||||||
self.params["o_CLKO{}".format(n_to_l[n])] = clk
|
self.params["o_CLKO{}".format(n_to_l[n])] = clk
|
||||||
self.specials += Instance("EHXPLLL", **self.params)
|
self.specials += Instance("EHXPLLL", **self.params)
|
||||||
|
|
Loading…
Reference in New Issue