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):
|
||||
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):
|
||||
def __init__(self):
|
||||
self.target_context = False
|
||||
|
|
|
@ -201,15 +201,6 @@ def _printcomb(f, ns, display_run):
|
|||
r += "\n"
|
||||
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):
|
||||
r = ""
|
||||
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+"'")
|
||||
|
||||
f = lower_complex_slices(f)
|
||||
_insert_resets(f)
|
||||
insert_resets(f)
|
||||
f = lower_basics(f)
|
||||
fs, lowered_specials = _lower_specials(special_overrides, f.specials)
|
||||
f += lower_basics(fs)
|
||||
|
|
Loading…
Reference in New Issue