Skip to content

Commit 8ca881e

Browse files
committed
Fixed method definitions in thread is moved
1 parent 011e9ca commit 8ca881e

File tree

4 files changed

+11
-17
lines changed

4 files changed

+11
-17
lines changed

tests/extension/thread_/fixed_const/thread_fixed_const.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def mkLed():
2727

2828
def blink(times):
2929
led.value = 0
30-
next_val = FixedConst(0, 8)
30+
next_val = vthread.fixed.FixedConst(0, 8)
3131
for i in range(times):
3232
next_val = next_val + 1
3333
led.value = next_val

veriloggen/thread/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
from .pool import ThreadPool
66
from .stream import Stream
77
from .ttypes import *
8+
from . import fixed

veriloggen/thread/compiler.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
from . import optimizer
1313
from .scope import ScopeName, ScopeFrameList, ScopeFrame
1414
from .operator import getVeriloggenOp, getMethodName, applyMethod
15-
from . import fixed_intrinsics as fxi
1615

1716

1817
numerical_types = vtypes.numerical_types
@@ -69,15 +68,6 @@ def __init__(self, m, name, clk, rst, fsm,
6968
self.start_frame = start_frame
7069
self.datawidth = datawidth
7170

72-
fixed_intrinsics = {
73-
'FixedConst': fxi._intrinsic_FixedConst,
74-
'to_fixed': fxi._intrinsic_to_fixed,
75-
'fixed_to_int': fxi._intrinsic_fixed_to_int,
76-
'fixed_to_int_low': fxi._intrinsic_fixed_to_int_low,
77-
'fixed_to_real': fxi._intrinsic_fixed_to_real,
78-
}
79-
self.intrinsic_functions.update(fixed_intrinsics)
80-
8171
self.scope = ScopeFrameList()
8272
self.loop_info = OrderedDict()
8373

@@ -615,7 +605,7 @@ def _call_Attribute(self, node):
615605
value = self.visit(node.func.value)
616606
method = getattr(value, node.func.attr)
617607

618-
if not inspect.ismethod(method):
608+
if not inspect.ismethod(method) and not inspect.isfunction(method):
619609
raise TypeError("'%s' object is not callable" % str(type(method)))
620610

621611
# prepare the argument values

veriloggen/thread/fixed_intrinsics.py renamed to veriloggen/thread/fixed.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,26 @@
44
import veriloggen.core.vtypes as vtypes
55
import veriloggen.types.fixed as fixed
66

7+
__intrinsics__ = ('FixedConst', 'to_fixed', 'fixed_to_int',
8+
'fixed_to_int_low', 'fixed_to_real')
79

8-
def _intrinsic_FixedConst(fsm, value, point=0, signed=True, raw=False):
10+
11+
def FixedConst(fsm, value, point=0, signed=True, raw=False):
912
point = vtypes.raw_value(point)
1013
return fixed.FixedConst(value, point, signed, raw)
1114

1215

13-
def _intrinsic_to_fixed(fsm, value, point, signed=False):
16+
def to_fixed(fsm, value, point, signed=False):
1417
return fixed.to_fixed(value, point, signed)
1518

1619

17-
def _intrinsic_fixed_to_int(fsm, value, point, signed=False):
20+
def fixed_to_int(fsm, value, point, signed=False):
1821
return fixed.fixed_to_int(value, point, signed)
1922

2023

21-
def _intrinsic_fixed_to_int_low(fsm, value, point):
24+
def fixed_to_int_low(fsm, value, point):
2225
return fixed.fixed_to_int_low(value, point)
2326

2427

25-
def _intrinsic_fixed_to_real(fsm, value, point, signed=False):
28+
def fixed_to_real(fsm, value, point, signed=False):
2629
return fixed.fixed_to_real(value, point, signed)

0 commit comments

Comments
 (0)