write arty SoC generator
This commit is contained in:
parent
ab63321e36
commit
175a3fbe3c
|
@ -0,0 +1,38 @@
|
||||||
|
# Construct SoC.
|
||||||
|
|
||||||
|
from migen import ClockSignal
|
||||||
|
from litex_boards.targets.digilent_arty import BaseSoC
|
||||||
|
from litex_boards.platforms.digilent_arty import Platform, Builder
|
||||||
|
from litescope import LiteScopeAnalyzer
|
||||||
|
|
||||||
|
platform = Platform(variant="a7-100")
|
||||||
|
platform.add_source("../boothmul.v")
|
||||||
|
|
||||||
|
class TestPlatform(BaseSoC):
|
||||||
|
def __init__(self, platform, constwid = 48, inwid = 48):
|
||||||
|
BaseSoC.__init__(
|
||||||
|
with_uartbone = True,
|
||||||
|
toolchain = "symbiflow",
|
||||||
|
platform = platform
|
||||||
|
)
|
||||||
|
|
||||||
|
self.const_in = CSRStorage(constwid)
|
||||||
|
self.inval = CSRStorage(inwid)
|
||||||
|
self.outval = CSRStatus(const_wid + inwid)
|
||||||
|
self.arm = CSRStorage(arm)
|
||||||
|
self.fin = CSRStatus(arm)
|
||||||
|
|
||||||
|
self.specials += Instance("boothmul",
|
||||||
|
p_A1_LEN = constwid,
|
||||||
|
p_A2_LEN = inwid,
|
||||||
|
A2LEN_SIZ = math.ceil(math.log2(inwid) + 1) + 1,
|
||||||
|
clk = ClockSignal(),
|
||||||
|
a1 = self.const_in.storage,
|
||||||
|
a2 = self.inval.storage,
|
||||||
|
outn = self.outval.status,
|
||||||
|
i_arm = self.arm.storage,
|
||||||
|
fin = self.fin.status
|
||||||
|
)
|
||||||
|
|
||||||
|
builder = Builder(TestPlatform(platform), csr_csv="csr.csv")
|
||||||
|
builder.build()
|
Loading…
Reference in New Issue