compat.fhdl.bitcontainer: import/wrap Migen code.

This commit is contained in:
whitequark 2018-12-12 14:11:19 +00:00
parent 1d4d00aac6
commit 356852a570
4 changed files with 45 additions and 1 deletions

11
nmigen/compat/__init__.py Normal file
View file

@ -0,0 +1,11 @@
# from .fhdl.structure import *
# from .fhdl.module import *
# from .fhdl.specials import *
from .fhdl.bitcontainer import *
# from .fhdl.decorators import *
# from .fhdl.simplify import *
# from .sim import *
# from .genlib.record import *
# from .genlib.fsm import *

View file

View file

@ -0,0 +1,21 @@
from ... import tools
from ...fhdl import ast
from ...tools import deprecated
__all__ = ["log2_int", "bits_for", "value_bits_sign"]
@deprecated("instead of `log2_int`, use `nmigen.tools.log2_int`")
def log2_int(n, need_pow2=True):
return tools.log2_int(n, need_pow2)
@deprecated("instead of `bits_for`, use `nmigen.tools.bits_for`")
def bits_for(n, require_sign_bit=False):
return tools.bits_for(n, require_sign_bit)
@deprecated("instead of `value_bits_sign(v)`, use `v.bits_sign()`")
def value_bits_sign(v):
return ast.Value.wrap(v).bits_sign()

View file

@ -1,7 +1,9 @@
from collections import Iterable
import functools
import warnings
__all__ = ["flatten", "union", "log2_int", "bits_for"]
__all__ = ["flatten", "union", "log2_int", "bits_for", "deprecated"]
def flatten(i):
@ -40,3 +42,13 @@ def bits_for(n, require_sign_bit=False):
if require_sign_bit:
r += 1
return r
def deprecated(message):
def decorator(f):
@functools.wraps(f)
def wrapper(*args, **kwargs):
warnings.warn(message, DeprecationWarning, stacklevel=2)
return f(*args, **kwargs)
return wrapper
return decorator