@@ -1371,7 +1371,8 @@ class AxiMemoryModel(object):
13711371 def __init__ (self , m , name , clk , rst ,
13721372 datawidth = 32 , addrwidth = 32 ,
13731373 mem_datawidth = 32 , mem_addrwidth = 20 ,
1374- memimg = None , write_delay = 10 , read_delay = 10 , sleep = 4 ):
1374+ memimg = None , memimg_name = None ,
1375+ write_delay = 10 , read_delay = 10 , sleep = 4 ):
13751376
13761377 if mem_datawidth % 8 != 0 :
13771378 raise ValueError ('mem_datawidth must be a multiple of 8' )
@@ -1401,20 +1402,22 @@ def __init__(self, m, name, clk, rst,
14011402 '_' .join (['' , self .name , 'mem' ]), 8 , vtypes .Int (2 ) ** self .mem_addrwidth )
14021403
14031404 if memimg is None :
1404- filename = '_' .join (['' , self .name , 'memimg' , '.out' ])
1405+ if memimg_name is None :
1406+ memimg_name = '_' .join (['' , self .name , 'memimg' , '.out' ])
14051407 size = 2 ** self .mem_addrwidth
14061408 wordsize = self .mem_datawidth // 8
1407- self ._make_img (filename , size , wordsize )
1409+ self ._make_img (memimg_name , size , wordsize )
14081410
14091411 elif isinstance (memimg , str ):
1410- filename = memimg
1412+ memimg_name = memimg
14111413
14121414 else :
1413- filename = '_' .join (['' , self .name , 'memimg' , '.out' ])
1414- to_memory_image (filename , memimg , datawidth = mem_datawidth )
1415+ if memimg_name is None :
1416+ memimg_name = '_' .join (['' , self .name , 'memimg' , '.out' ])
1417+ to_memory_image (memimg_name , memimg , datawidth = mem_datawidth )
14151418
14161419 self .m .Initial (
1417- vtypes .Systask ('readmemh' , filename , self .mem )
1420+ vtypes .Systask ('readmemh' , memimg_name , self .mem )
14181421 )
14191422
14201423 self .fsm = FSM (self .m , '_' .join (['' , self .name , 'fsm' ]), clk , rst )
0 commit comments