fhdl: pad support in fragments

This commit is contained in:
Sebastien Bourdeauducq 2011-12-10 20:25:24 +01:00
parent 4d1a960308
commit a49ecc4331
2 changed files with 10 additions and 3 deletions

View File

@ -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
return self self.pads |= other.pads
return self

View File

@ -118,6 +118,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)