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)
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.sync = _sl(sync)
self.instances = instances
self.pads = pads
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):
self.comb.l += other.comb.l
self.sync.l += other.sync.l
self.instances += other.instances
self.pads |= other.pads
return self

View File

@ -119,6 +119,8 @@ def Convert(f, ios=set(), name="top", clkname="sys_clk", rstname="sys_rst"):
clks = Signal(name=clkname)
rsts = Signal(name=rstname)
ios |= f.pads
sigs = ListSignals(f)
targets = ListTargets(f)
instouts = ListInstOuts(f)