fhdl: move insert_resets to tools
This commit is contained in:
parent
305c6985bc
commit
eb1417c5ed
|
@ -128,6 +128,15 @@ def generate_reset(rst, sl):
|
||||||
def insert_reset(rst, sl):
|
def insert_reset(rst, sl):
|
||||||
return [If(rst, *generate_reset(rst, sl)).Else(*sl)]
|
return [If(rst, *generate_reset(rst, sl)).Else(*sl)]
|
||||||
|
|
||||||
|
def insert_resets(f):
|
||||||
|
newsync = dict()
|
||||||
|
for k, v in f.sync.items():
|
||||||
|
if f.clock_domains[k].rst is not None:
|
||||||
|
newsync[k] = insert_reset(ResetSignal(k), v)
|
||||||
|
else:
|
||||||
|
newsync[k] = v
|
||||||
|
f.sync = newsync
|
||||||
|
|
||||||
class _Lowerer(NodeTransformer):
|
class _Lowerer(NodeTransformer):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.target_context = False
|
self.target_context = False
|
||||||
|
|
|
@ -201,15 +201,6 @@ def _printcomb(f, ns, display_run):
|
||||||
r += "\n"
|
r += "\n"
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def _insert_resets(f):
|
|
||||||
newsync = dict()
|
|
||||||
for k, v in f.sync.items():
|
|
||||||
if f.clock_domains[k].rst is not None:
|
|
||||||
newsync[k] = insert_reset(ResetSignal(k), v)
|
|
||||||
else:
|
|
||||||
newsync[k] = v
|
|
||||||
f.sync = newsync
|
|
||||||
|
|
||||||
def _printsync(f, ns):
|
def _printsync(f, ns):
|
||||||
r = ""
|
r = ""
|
||||||
for k, v in sorted(f.sync.items(), key=itemgetter(0)):
|
for k, v in sorted(f.sync.items(), key=itemgetter(0)):
|
||||||
|
@ -303,7 +294,7 @@ def convert(f, ios=None, name="top",
|
||||||
raise KeyError("Unresolved clock domain: '"+cd_name+"'")
|
raise KeyError("Unresolved clock domain: '"+cd_name+"'")
|
||||||
|
|
||||||
f = lower_complex_slices(f)
|
f = lower_complex_slices(f)
|
||||||
_insert_resets(f)
|
insert_resets(f)
|
||||||
f = lower_basics(f)
|
f = lower_basics(f)
|
||||||
fs, lowered_specials = _lower_specials(special_overrides, f.specials)
|
fs, lowered_specials = _lower_specials(special_overrides, f.specials)
|
||||||
f += lower_basics(fs)
|
f += lower_basics(fs)
|
||||||
|
|
Loading…
Reference in New Issue