Skip to content

Commit b2c7658

Browse files
committed
memimg_name with tempfile
1 parent 473975e commit b2c7658

File tree

9 files changed

+64
-26
lines changed

9 files changed

+64
-26
lines changed

examples/thread_embedded_verilog_ipxact/test_thread_embedded_verilog_ipxact.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@
228228
reg [8-1:0] _memory_mem [0:2**20-1];
229229
230230
initial begin
231-
$readmemh("_memory_memimg_.out", _memory_mem);
231+
$readmemh("memimg_thread_embedded_verilog_ipxact.out", _memory_mem);
232232
end
233233
234234
reg [33-1:0] _write_count;
@@ -2878,7 +2878,10 @@
28782878

28792879
def test():
28802880
veriloggen.reset()
2881-
test_module = thread_embedded_verilog_ipxact.mkTest()
2881+
2882+
memimg_name = 'memimg_thread_embedded_verilog_ipxact.out'
2883+
2884+
test_module = thread_embedded_verilog_ipxact.mkTest(memimg_name=memimg_name)
28822885
code = test_module.to_verilog()
28832886

28842887
from pyverilog.vparser.parser import VerilogParser

examples/thread_embedded_verilog_ipxact/thread_embedded_verilog_ipxact.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def copy(copy_bytes, src_offset, dst_offset):
8282
return m
8383

8484

85-
def mkTest():
85+
def mkTest(memimg_name=None):
8686
m = Module('test')
8787

8888
copy_bytes = 1024 * 4
@@ -94,7 +94,8 @@ def mkTest():
9494
clk = uut['CLK']
9595
rst = uut['RST']
9696

97-
memory = axi.AxiMemoryModel(m, 'memory', clk, rst)
97+
memory = axi.AxiMemoryModel(m, 'memory', clk, rst,
98+
memimg_name=memimg_name)
9899
memory.connect(uut.get_inst_ports(), 'maxi')
99100

100101
# AXI-Slave controller
@@ -159,7 +160,10 @@ def ctrl():
159160

160161

161162
if __name__ == '__main__':
162-
test = mkTest()
163+
164+
memimg_name = 'memimg_thread_embedded_verilog_ipxact.out'
165+
166+
test = mkTest(memimg_name=memimg_name)
163167
verilog = test.to_verilog('tmp.v')
164168
print(verilog)
165169

examples/thread_memcpy_ipxact_ultra96v2_pynq/test_thread_memcpy_ipxact.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@
226226
reg [8-1:0] _memory_mem [0:2**20-1];
227227
228228
initial begin
229-
$readmemh("_memory_memimg_.out", _memory_mem);
229+
$readmemh("memimg_thread_embedded_verilog_ipxact.out", _memory_mem);
230230
end
231231
232232
reg [33-1:0] _write_count;
@@ -2861,7 +2861,10 @@
28612861

28622862
def test():
28632863
veriloggen.reset()
2864-
test_module = thread_memcpy_ipxact.mkTest()
2864+
2865+
memimg_name = 'memimg_thread_embedded_verilog_ipxact.out'
2866+
2867+
test_module = thread_memcpy_ipxact.mkTest(memimg_name=memimg_name)
28652868
code = test_module.to_verilog()
28662869

28672870
from pyverilog.vparser.parser import VerilogParser

examples/thread_memcpy_ipxact_ultra96v2_pynq/thread_memcpy_ipxact.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def copy(copy_bytes, src_offset, dst_offset):
6565
return m
6666

6767

68-
def mkTest():
68+
def mkTest(memimg_name=None):
6969
m = Module('test')
7070

7171
copy_bytes = 1024 * 4
@@ -77,7 +77,8 @@ def mkTest():
7777
clk = uut['CLK']
7878
rst = uut['RST']
7979

80-
memory = axi.AxiMemoryModel(m, 'memory', clk, rst)
80+
memory = axi.AxiMemoryModel(m, 'memory', clk, rst,
81+
memimg_name=memimg_name)
8182
memory.connect(uut.get_inst_ports(), 'maxi')
8283

8384
# AXI-Slave controller
@@ -142,7 +143,10 @@ def ctrl():
142143

143144

144145
if __name__ == '__main__':
145-
test = mkTest()
146+
147+
memimg_name = 'memimg_thread_memcpy_ipxact.out'
148+
149+
test = mkTest(memimg_name=memimg_name)
146150
verilog = test.to_verilog('tmp.v')
147151
print(verilog)
148152

examples/thread_uart_top_nexys4/thread_uart_top.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ def mkTest(baudrate=19200, clockfreq=19200 * 10):
9696
rx.assign(txd)
9797
rxd.assign(tx)
9898

99-
simulation.setup_waveform(m, uut, uart_tx, uart_rx)
99+
vcd_name = os.path.splitext(os.path.basename(__file__))[0] + '.vcd'
100+
simulation.setup_waveform(m, uut, uart_tx, uart_rx, dumpfile=vcd_name)
100101
simulation.setup_clock(m, clk, hperiod=5)
101102
init = simulation.setup_reset(m, rst, m.make_reset(), period=100)
102103

examples/thread_verilog_submodule_ipxact/test_thread_verilog_submodule_ipxact.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@
228228
reg [8-1:0] _memory_mem [0:2**20-1];
229229
230230
initial begin
231-
$readmemh("_memory_memimg_.out", _memory_mem);
231+
$readmemh("memimg_thread_verilog_submodule_ipxact.out", _memory_mem);
232232
end
233233
234234
reg [33-1:0] _write_count;
@@ -3047,7 +3047,10 @@
30473047

30483048
def test():
30493049
veriloggen.reset()
3050-
test_module = thread_verilog_submodule_ipxact.mkTest()
3050+
3051+
memimg_name = 'memimg_thread_verilog_submodule_ipxact.out'
3052+
3053+
test_module = thread_verilog_submodule_ipxact.mkTest(memimg_name=memimg_name)
30513054
code = test_module.to_verilog()
30523055

30533056
from pyverilog.vparser.parser import VerilogParser

examples/thread_verilog_submodule_ipxact/thread_verilog_submodule_ipxact.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def copy(copy_bytes, src_offset, dst_offset):
175175
return m
176176

177177

178-
def mkTest():
178+
def mkTest(memimg_name=None):
179179
m = Module('test')
180180

181181
copy_bytes = 1024 * 4
@@ -187,7 +187,8 @@ def mkTest():
187187
clk = uut['CLK']
188188
rst = uut['RST']
189189

190-
memory = axi.AxiMemoryModel(m, 'memory', clk, rst)
190+
memory = axi.AxiMemoryModel(m, 'memory', clk, rst,
191+
memimg_name=memimg_name)
191192
memory.connect(uut.get_inst_ports(), 'maxi')
192193

193194
# AXI-Slave controller
@@ -252,7 +253,10 @@ def ctrl():
252253

253254

254255
if __name__ == '__main__':
255-
test = mkTest()
256+
257+
memimg_name = 'memimg_thread_verilog_submodule_ipxact.out'
258+
259+
test = mkTest(memimg_name=memimg_name)
256260
verilog = test.to_verilog('tmp.v')
257261
print(verilog)
258262

tests/extension/types_/ipxact_/master/test_types_ipxact_master.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
reg [8-1:0] _memory_mem [0:2**20-1];
144144
145145
initial begin
146-
$readmemh("_memory_memimg_.out", _memory_mem);
146+
$readmemh("memimg_types_ipxact_master.out", _memory_mem);
147147
end
148148
149149
reg [33-1:0] _write_count;
@@ -986,7 +986,10 @@
986986

987987
def test():
988988
veriloggen.reset()
989-
test_module = types_ipxact_master.mkTest()
989+
990+
memimg_name = 'memimg_types_ipxact_master.out'
991+
992+
test_module = types_ipxact_master.mkTest(memimg_name=memimg_name)
990993
code = test_module.to_verilog()
991994

992995
from pyverilog.vparser.parser import VerilogParser

veriloggen/types/axi.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
from __future__ import print_function
33
from __future__ import division
44

5+
import os
56
import functools
67
import math
8+
import tempfile
79
from collections import defaultdict
810

911
import veriloggen.core.vtypes as vtypes
@@ -2344,7 +2346,8 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32,
23442346

23452347
if memimg is None:
23462348
if memimg_name is None:
2347-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
2349+
memimg_name = get_memimg_name()
2350+
23482351
size = 2 ** self.mem_addrwidth
23492352
width = self.mem_datawidth
23502353
self._make_img(memimg_name, size, width)
@@ -2361,7 +2364,7 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32,
23612364
if memimg_datawidth is None:
23622365
memimg_datawidth = mem_datawidth
23632366
if memimg_name is None:
2364-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
2367+
memimg_name = get_memimg_name()
23652368

23662369
num_words = to_memory_image(memimg_name, memimg, datawidth=memimg_datawidth)
23672370
# resize mem_addrwidth according to the memimg size
@@ -2893,7 +2896,8 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32, numports=2,
28932896

28942897
if memimg is None:
28952898
if memimg_name is None:
2896-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
2899+
memimg_name = get_memimg_name()
2900+
28972901
size = 2 ** self.mem_addrwidth
28982902
width = self.mem_datawidth
28992903
self._make_img(memimg_name, size, width)
@@ -2910,7 +2914,7 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32, numports=2,
29102914
if memimg_datawidth is None:
29112915
memimg_datawidth = mem_datawidth
29122916
if memimg_name is None:
2913-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
2917+
memimg_name = get_memimg_name()
29142918

29152919
num_words = to_memory_image(memimg_name, memimg, datawidth=memimg_datawidth)
29162920
# resize mem_addrwidth according to the memimg size
@@ -3371,7 +3375,7 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32,
33713375

33723376
if memimg is None:
33733377
if memimg_name is None:
3374-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
3378+
memimg_name = get_memimg_name()
33753379
size = 2 ** self.mem_addrwidth
33763380
width = self.mem_datawidth
33773381
self._make_img(memimg_name, size, width)
@@ -3388,7 +3392,7 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32,
33883392
if memimg_datawidth is None:
33893393
memimg_datawidth = mem_datawidth
33903394
if memimg_name is None:
3391-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
3395+
memimg_name = get_memimg_name()
33923396

33933397
num_words = to_memory_image(memimg_name, memimg, datawidth=memimg_datawidth)
33943398
# resize mem_addrwidth according to the memimg size
@@ -3768,7 +3772,7 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32, numports=2,
37683772

37693773
if memimg is None:
37703774
if memimg_name is None:
3771-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
3775+
memimg_name = get_memimg_name()
37723776
size = 2 ** self.mem_addrwidth
37733777
width = self.mem_datawidth
37743778
self._make_img(memimg_name, size, width)
@@ -3785,7 +3789,7 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32, numports=2,
37853789
if memimg_datawidth is None:
37863790
memimg_datawidth = mem_datawidth
37873791
if memimg_name is None:
3788-
memimg_name = '_'.join(['', self.name, 'memimg', '.out'])
3792+
memimg_name = get_memimg_name()
37893793

37903794
num_words = to_memory_image(memimg_name, memimg, datawidth=memimg_datawidth)
37913795
# resize mem_addrwidth according to the memimg size
@@ -4363,3 +4367,12 @@ def split_read_write(m, ports, prefix,
43634367
w_ports[w_name] = w_port
43644368

43654369
return r_ports, w_ports
4370+
4371+
4372+
def get_memimg_name():
4373+
memimg_fd = tempfile.NamedTemporaryFile(prefix="memimg_",
4374+
suffix=".out",
4375+
dir=os.getcwd(),
4376+
delete=False)
4377+
memimg_name = memimg_fd.name
4378+
return memimg_name

0 commit comments

Comments
 (0)