|
9 | 9 |
|
10 | 10 | class Function(vtypes.VeriloggenNode): |
11 | 11 |
|
12 | | - def __init__(self, name, width=1): |
| 12 | + def __init__(self, name, width=1, raw_width=None): |
13 | 13 | vtypes.VeriloggenNode.__init__(self) |
14 | 14 | self.name = name |
15 | 15 | self.width = width |
16 | | - self.width_msb = None |
17 | | - self.width_lsb = None |
| 16 | + self.raw_width = raw_width |
18 | 17 | self.io_variable = collections.OrderedDict() |
19 | 18 | self.variable = collections.OrderedDict() |
20 | 19 | self.statement = None |
21 | 20 | self.subst = [] |
22 | 21 |
|
23 | | - def Input(self, name, width=None, length=None, signed=False, value=None): |
24 | | - t = vtypes.Input(width, length, signed, value, name=name) |
| 22 | + def Input(self, name, width=None, dims=None, signed=False, value=None): |
| 23 | + t = vtypes.Input(width, dims, signed, value, name=name) |
25 | 24 | self.io_variable[name] = t |
26 | 25 | return t |
27 | 26 |
|
28 | | - def Reg(self, name, width=None, length=None, signed=False, value=None): |
29 | | - t = vtypes.Reg(width, length, signed, value, name=name) |
| 27 | + def Reg(self, name, width=None, dims=None, signed=False, value=None): |
| 28 | + t = vtypes.Reg(width, dims, signed, value, name=name) |
30 | 29 | self.variable[name] = t |
31 | 30 | return t |
32 | 31 |
|
33 | | - def Integer(self, name, width=None, length=None, signed=False, value=None): |
34 | | - t = vtypes.Integer(width, length, signed, value, name=name) |
| 32 | + def Integer(self, name, width=None, dims=None, signed=False, value=None): |
| 33 | + t = vtypes.Integer(width, dims, signed, value, name=name) |
35 | 34 | self.variable[name] = t |
36 | 35 | return t |
37 | 36 |
|
@@ -60,15 +59,9 @@ def _add_subst(self, s): |
60 | 59 | def _get_subst(self): |
61 | 60 | return self.subst |
62 | 61 |
|
63 | | - def _set_raw_width(self, msb, lsb): |
64 | | - self.width_msb = msb |
65 | | - self.width_lsb = lsb |
66 | | - |
67 | 62 | def __setattr__(self, attr, value): |
68 | | - # when width or length is overwritten, msb and lsb values are reset. |
69 | 63 | if attr == 'width': |
70 | | - object.__setattr__(self, 'width_msb', None) |
71 | | - object.__setattr__(self, 'width_lsb', None) |
| 64 | + object.__setattr__(self, 'raw_width', None) |
72 | 65 | object.__setattr__(self, attr, value) |
73 | 66 |
|
74 | 67 | def __call__(self, value): |
|
0 commit comments