Include unused I/Os in pre-naming dictionary and register signals with name_override

This commit is contained in:
Sebastien Bourdeauducq 2012-01-20 22:20:32 +01:00
parent 904d14d4cf
commit e4f531a739
2 changed files with 11 additions and 5 deletions

View File

@ -122,10 +122,16 @@ def last_flagged(seq):
a = b
yield a, True
def build_pnd(signals):
def build_namespace(signals):
sig_iters = [(signal, last_flagged(signal.backtrace))
for signal in signals]
return _r_build_pnd(_StepNamer(), sig_iters)
for signal in signals if signal.name_override is None]
pnd = _r_build_pnd(_StepNamer(), sig_iters)
ns = Namespace(pnd)
# register signals with name_override
for signal in signals:
if signal.name_override is not None:
ns.get_name(signal)
return ns
class Namespace:
def __init__(self, pnd):

View File

@ -3,7 +3,7 @@ from functools import partial
from migen.fhdl.structure import *
from migen.fhdl.structure import _Operator, _Slice, _Assign, _StatementList
from migen.fhdl.tools import *
from migen.fhdl.namer import Namespace, build_pnd
from migen.fhdl.namer import Namespace, build_namespace
def _printsig(ns, s):
if s.bv.signed:
@ -213,7 +213,7 @@ def convert(f, ios=set(), name="top", clk_signal=None, rst_signal=None, return_n
if rst_signal is None:
rst_signal = Signal(name_override="sys_rst")
ios.add(rst_signal)
ns = Namespace(namer.build_pnd(list_signals(f)))
ns = build_namespace(list_signals(f) | ios)
ios |= f.pads