Skip to content

Commit ce11b30

Browse files
committedJul 24, 2015
misoclib: integrate mxcrg.py in mlabs_video target, remove others directory
we should also get rid of mxcrg.v (similar to what is done on papilio or pipstrello)
1 parent b75b93d commit ce11b30

File tree

4 files changed

+40
-44
lines changed

4 files changed

+40
-44
lines changed
 
File renamed without changes.

Diff for: ‎misoclib/others/__init__.py

Whitespace-only changes.

Diff for: ‎misoclib/others/mxcrg.py

-41
This file was deleted.

Diff for: ‎targets/mlabs_video.py

+40-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from migen.fhdl.std import *
66
from mibuild.generic_platform import ConstraintError
77

8-
from misoclib.others import mxcrg
98
from misoclib.mem.sdram.module import MT46V32M16
109
from misoclib.mem.sdram.phy import s6ddrphy
1110
from misoclib.mem.sdram.core.lasmicon import LASMIconSettings
@@ -18,6 +17,44 @@
1817
from misoclib.com.liteeth.core.mac import LiteEthMAC
1918

2019

20+
class _MXCRG(Module):
21+
def __init__(self, pads, outfreq1x):
22+
self.clock_domains.cd_sys = ClockDomain()
23+
self.clock_domains.cd_sdram_half = ClockDomain()
24+
self.clock_domains.cd_sdram_full_wr = ClockDomain()
25+
self.clock_domains.cd_sdram_full_rd = ClockDomain()
26+
self.clock_domains.cd_base50 = ClockDomain(reset_less=True)
27+
28+
self.clk4x_wr_strb = Signal()
29+
self.clk4x_rd_strb = Signal()
30+
31+
###
32+
33+
infreq = 50*1000000
34+
ratio = Fraction(outfreq1x)/Fraction(infreq)
35+
in_period = float(Fraction(1000000000)/Fraction(infreq))
36+
37+
self.specials += Instance("mxcrg",
38+
Instance.Parameter("in_period", in_period),
39+
Instance.Parameter("f_mult", ratio.numerator),
40+
Instance.Parameter("f_div", ratio.denominator),
41+
Instance.Input("clk50_pad", pads.clk50),
42+
Instance.Input("trigger_reset", pads.trigger_reset),
43+
44+
Instance.Output("sys_clk", self.cd_sys.clk),
45+
Instance.Output("sys_rst", self.cd_sys.rst),
46+
Instance.Output("clk2x_270", self.cd_sdram_half.clk),
47+
Instance.Output("clk4x_wr", self.cd_sdram_full_wr.clk),
48+
Instance.Output("clk4x_rd", self.cd_sdram_full_rd.clk),
49+
Instance.Output("base50_clk", self.cd_base50.clk),
50+
51+
Instance.Output("clk4x_wr_strb", self.clk4x_wr_strb),
52+
Instance.Output("clk4x_rd_strb", self.clk4x_rd_strb),
53+
Instance.Output("norflash_rst_n", pads.norflash_rst_n),
54+
Instance.Output("ddr_clk_pad_p", pads.ddr_clk_p),
55+
Instance.Output("ddr_clk_pad_n", pads.ddr_clk_n))
56+
57+
2158
class _MXClockPads:
2259
def __init__(self, platform):
2360
self.clk50 = platform.request("clk50")
@@ -42,7 +79,7 @@ def __init__(self, platform, sdram_controller_settings=LASMIconSettings(), **kwa
4279
sdram_controller_settings=sdram_controller_settings,
4380
**kwargs)
4481

45-
self.submodules.crg = mxcrg.MXCRG(_MXClockPads(platform), self.clk_freq)
82+
self.submodules.crg = _MXCRG(_MXClockPads(platform), self.clk_freq)
4683

4784
if not self.integrated_main_ram_size:
4885
self.submodules.ddrphy = s6ddrphy.S6DDRPHY(platform.request("ddram"),
@@ -67,7 +104,7 @@ def __init__(self, platform, sdram_controller_settings=LASMIconSettings(), **kwa
67104
INST "mxcrg/wr_bufpll" LOC = "BUFPLL_X0Y2";
68105
INST "mxcrg/rd_bufpll" LOC = "BUFPLL_X0Y3";
69106
""")
70-
platform.add_source_dir(os.path.join("misoclib", "others"))
107+
platform.add_source(os.path.join("misoclib", "mxcrg.v"))
71108

72109

73110
class MiniSoC(BaseSoC):

0 commit comments

Comments
 (0)