1 from migen
.build
.generic_platform
import GenericPlatform
2 from migen
.build
.lattice
import common
, diamond
5 class LatticePlatform(GenericPlatform
):
8 def __init__(self
, *args
, toolchain
="diamond", **kwargs
):
9 GenericPlatform
.__init
__(self
, *args
, **kwargs
)
10 if toolchain
== "diamond":
11 self
.toolchain
= diamond
.LatticeDiamondToolchain()
13 raise ValueError("Unknown toolchain")
15 def get_verilog(self
, *args
, special_overrides
=dict(), **kwargs
):
16 so
= dict(common
.lattice_special_overrides
)
17 so
.update(special_overrides
)
18 return GenericPlatform
.get_verilog(self
, *args
, special_overrides
=so
, **kwargs
)
20 def build(self
, *args
, **kwargs
):
21 return self
.toolchain
.build(self
, *args
, **kwargs
)
23 def add_period_constraint(self
, clk
, period
):
26 self
.toolchain
.add_period_constraint(self
, clk
, period
)