Skip to content

Commit 0f5aac4

Browse files
committed
TmpObjectLike methods are added.
1 parent 952ba9f commit 0f5aac4

File tree

3 files changed

+54
-1
lines changed

3 files changed

+54
-1
lines changed

tests/core/like/like.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,15 @@ def mkLed():
2626
# signals with different name
2727
width1 = m.ParameterLike(width, name='WIDTH1')
2828
width2 = m.LocalparamLike(width, name='WIDTH2')
29+
width3 = m.TmpLocalparamLike(width)
2930

3031
input_count = m.OutputLike(count, name='input_count')
3132
output_count = m.OutputLike(count, name='output_count')
3233
wire_count = m.WireLike(count, name='wire_count')
3334
reg_count = m.RegLike(count, name='reg_count', initval=8)
34-
35+
tmpwire_count = m.TmpWireLike(count)
36+
tmpreg_count = m.TmpRegLike(count)
37+
3538
m.Assign( wire_count(input_count) )
3639
m.Assign( output_count(reg_count) )
3740

tests/core/like/test_like.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@
1818
);
1919
2020
localparam WIDTH2 = 8;
21+
localparam _tmp_0 = 8;
2122
2223
wire [32-1:0] wire_count;
2324
reg [32-1:0] reg_count;
25+
wire [32-1:0] _tmp_1;
26+
reg [32-1:0] _tmp_2;
27+
2428
assign wire_count = input_count;
2529
assign output_count = reg_count;
2630

veriloggen/core/module.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ def WireLike(self, src, name=None, width=None, length=None, signed=None, value=N
202202
if value is None: value = src.value
203203
return self.Wire(name, width, length, signed, value)
204204

205+
def TmpWireLike(self, src, width=None, length=None, signed=None, value=None):
206+
if width is None: width = src.width
207+
if length is None: length = src.length
208+
if signed is None: signed = src.signed
209+
if value is None: value = src.value
210+
return self.TmpWire(width, length, signed, value)
211+
205212
def RegLike(self, src, name=None, width=None, length=None, signed=None, value=None, initval=None):
206213
if name is None: name = src.name
207214
if width is None: width = src.width
@@ -211,6 +218,14 @@ def RegLike(self, src, name=None, width=None, length=None, signed=None, value=No
211218
if initval is None: initval = src.initval
212219
return self.Reg(name, width, length, signed, value, initval)
213220

221+
def TmpRegLike(self, src, width=None, length=None, signed=None, value=None, initval=None):
222+
if width is None: width = src.width
223+
if length is None: length = src.length
224+
if signed is None: signed = src.signed
225+
if value is None: value = src.value
226+
if initval is None: initval = src.initval
227+
return self.TmpReg(width, length, signed, value, initval)
228+
214229
def IntegerLike(self, src, name=None, width=None, length=None, signed=None, value=None, initval=None):
215230
if name is None: name = src.name
216231
if width is None: width = src.width
@@ -220,6 +235,14 @@ def IntegerLike(self, src, name=None, width=None, length=None, signed=None, valu
220235
if initval is None: initval = src.initval
221236
return self.Integer(name, width, length, signed, value, initval)
222237

238+
def TmpIntegerLike(self, src, width=None, length=None, signed=None, value=None, initval=None):
239+
if width is None: width = src.width
240+
if length is None: length = src.length
241+
if signed is None: signed = src.signed
242+
if value is None: value = src.value
243+
if initval is None: initval = src.initval
244+
return self.TmpInteger(width, length, signed, value, initval)
245+
223246
def RealLike(self, src, name=None, width=None, length=None, signed=None, value=None, initval=None):
224247
if name is None: name = src.name
225248
if width is None: width = src.width
@@ -229,6 +252,14 @@ def RealLike(self, src, name=None, width=None, length=None, signed=None, value=N
229252
if initval is None: initval = src.initval
230253
return self.Real(name, width, length, signed, value, initval)
231254

255+
def TmpRealLike(self, src, width=None, length=None, signed=None, value=None, initval=None):
256+
if width is None: width = src.width
257+
if length is None: length = src.length
258+
if signed is None: signed = src.signed
259+
if value is None: value = src.value
260+
if initval is None: initval = src.initval
261+
return self.TmpReal(width, length, signed, value, initval)
262+
232263
def GenvarLike(self, src, name=None, width=None, length=None, signed=None, value=None):
233264
if name is None: name = src.name
234265
if width is None: width = src.width
@@ -238,6 +269,14 @@ def GenvarLike(self, src, name=None, width=None, length=None, signed=None, value
238269
if value is None: value = src.value
239270
return self.Genvar(name, width, length, signed, value)
240271

272+
def TmpGenvarLike(self, src, width=None, length=None, signed=None, value=None):
273+
if width is None: width = src.width
274+
#if length is None: length = src.length
275+
if length is None: length = None
276+
if signed is None: signed = src.signed
277+
if value is None: value = src.value
278+
return self.TmpGenvar(width, length, signed, value)
279+
241280
def ParameterLike(self, src, name=None, value=None, width=None, signed=False, length=None):
242281
if name is None: name = src.name
243282
if value is None: value = src.value
@@ -254,6 +293,13 @@ def LocalparamLike(self, src, name=None, value=None, width=None, signed=False, l
254293
if length is None: length = src.length
255294
return self.Localparam(name, value, width, signed, length)
256295

296+
def TmpLocalparamLike(self, src, value=None, width=None, signed=False, length=None):
297+
if value is None: value = src.value
298+
if width is None: width = src.width
299+
if signed is None: signed = src.signed
300+
if length is None: length = src.length
301+
return self.TmpLocalparam(value, width, signed, length)
302+
257303
#---------------------------------------------------------------------------
258304
# User interface for control statements
259305
#---------------------------------------------------------------------------

0 commit comments

Comments
 (0)