diff --git a/scripts/vlsi_mem_gen b/scripts/vlsi_mem_gen index d5ec2b17..b1374820 100755 --- a/scripts/vlsi_mem_gen +++ b/scripts/vlsi_mem_gen @@ -101,6 +101,13 @@ def gen_mem(name, width, depth, mask_gran, mask_seg, ports): sequential.append(' if (%s) reg_%saddr <= %saddr;' % (en, prefix, prefix)) combinational.append('`ifdef RANDOMIZE_GARBAGE_ASSIGN') combinational.append('reg [%d:0] %srandom;' % (((width-1)//32+1)*32-1, prefix)) + combinational.append('`ifdef RANDOMIZE_MEM_INIT') + combinational.append(' initial begin') + combinational.append(' #0.002 begin end') + combinational.append(' reg_%sren = $random;' % prefix) + combinational.append(' %srandom = {%s};' % (prefix, ', '.join(['$random'] * ((width-1)//32+1)))) + combinational.append(' end') + combinational.append('`endif') combinational.append('always @(posedge %sclk) %srandom <= {%s};' % (prefix, prefix, ', '.join(['$random'] * ((width-1)//32+1)))) combinational.append('assign %s = reg_%sren ? ram[reg_%saddr] : %srandom[%d:0];' % (data, prefix, prefix, prefix, width-1)) combinational.append('`else')