fhdl: pad support in fragments
This commit is contained in:
parent
4d1a960308
commit
a49ecc4331
|
@ -194,15 +194,20 @@ class Instance:
|
||||||
return id(self)
|
return id(self)
|
||||||
|
|
||||||
class Fragment:
|
class Fragment:
|
||||||
def __init__(self, comb=StatementList(), sync=StatementList(), instances=[]):
|
def __init__(self, comb=StatementList(), sync=StatementList(), instances=[], pads=set()):
|
||||||
self.comb = _sl(comb)
|
self.comb = _sl(comb)
|
||||||
self.sync = _sl(sync)
|
self.sync = _sl(sync)
|
||||||
self.instances = instances
|
self.instances = instances
|
||||||
|
self.pads = pads
|
||||||
|
|
||||||
def __add__(self, other):
|
def __add__(self, other):
|
||||||
return Fragment(self.comb.l + other.comb.l, self.sync.l + other.sync.l, self.instances + other.instances)
|
return Fragment(self.comb.l + other.comb.l,
|
||||||
|
self.sync.l + other.sync.l,
|
||||||
|
self.instances + other.instances,
|
||||||
|
self.pads | other.pads)
|
||||||
def __iadd__(self, other):
|
def __iadd__(self, other):
|
||||||
self.comb.l += other.comb.l
|
self.comb.l += other.comb.l
|
||||||
self.sync.l += other.sync.l
|
self.sync.l += other.sync.l
|
||||||
self.instances += other.instances
|
self.instances += other.instances
|
||||||
|
self.pads |= other.pads
|
||||||
return self
|
return self
|
|
@ -119,6 +119,8 @@ def Convert(f, ios=set(), name="top", clkname="sys_clk", rstname="sys_rst"):
|
||||||
clks = Signal(name=clkname)
|
clks = Signal(name=clkname)
|
||||||
rsts = Signal(name=rstname)
|
rsts = Signal(name=rstname)
|
||||||
|
|
||||||
|
ios |= f.pads
|
||||||
|
|
||||||
sigs = ListSignals(f)
|
sigs = ListSignals(f)
|
||||||
targets = ListTargets(f)
|
targets = ListTargets(f)
|
||||||
instouts = ListInstOuts(f)
|
instouts = ListInstOuts(f)
|
||||||
|
|
Loading…
Reference in New Issue