@@ -2301,10 +2301,12 @@ def _make_img(filename, size, width, blksize=4096):
23012301 mask = np .full ([1 ], 2 ** 8 - 1 , dtype = np .int64 )
23022302 data = (((zero + base ) >> shamt ) & mask ).reshape ([- 1 ])
23032303 fmt = '%02x\n '
2304- s = '' .join ([fmt % d for d in data ])
23052304
23062305 with open (filename , 'w' ) as f :
2307- f .write (s )
2306+ for i in range (0 , len (data ), blksize ):
2307+ blk = data [i :i + blksize ]
2308+ s = '' .join ([fmt % d for d in blk ])
2309+ f .write (s )
23082310
23092311 def _make_fsm (self , write_delay = 10 , read_delay = 10 , sleep = 4 ):
23102312 write_mode = 100
@@ -2558,7 +2560,7 @@ def make_memory_image(filename, length, pattern='inc', dtype=None,
25582560
25592561
25602562def to_memory_image (filename , array , length = None ,
2561- datawidth = 32 , wordwidth = 8 , endian = 'little' ):
2563+ datawidth = 32 , wordwidth = 8 , endian = 'little' , blksize = 4096 ):
25622564
25632565 import numpy as np
25642566
@@ -2592,9 +2594,12 @@ def to_memory_image(filename, array, length=None,
25922594
25932595 mask = np .full ([1 ], 2 ** wordwidth - 1 , dtype = np .int64 )
25942596 data = (((zero + base ) >> shamt ) & mask ).reshape ([- 1 ])
2595- s = '' . join ([ fmt % d for d in data ])
2597+
25962598 with open (filename , 'w' ) as f :
2597- f .write (s )
2599+ for i in range (0 , len (data ), blksize ):
2600+ blk = data [i :i + blksize ]
2601+ s = '' .join ([fmt % d for d in blk ])
2602+ f .write (s )
25982603
25992604 return len (data )
26002605
@@ -2609,9 +2614,12 @@ def to_memory_image(filename, array, length=None,
26092614 mask = np .full ([1 ], 2 ** datawidth - 1 , dtype = np .int64 )
26102615 data = (base .reshape ([- 1 , num ]) & mask ) << shamt
26112616 data = np .bitwise_or .reduce (data , - 1 ).reshape ([- 1 ])
2612- s = '' . join ( fmt % d for d in data )
2617+
26132618 with open (filename , 'w' ) as f :
2614- f .write (s )
2619+ for i in range (0 , len (data ), blksize ):
2620+ blk = data [i :i + blksize ]
2621+ s = '' .join ([fmt % d for d in blk ])
2622+ f .write (s )
26152623
26162624 return len (data )
26172625
0 commit comments