3 def write_init_vh(filename
, initbits
):
4 with
open(filename
, "w") as f
:
6 print("localparam [255:0] INIT_%X = {" % i
, file=f
)
8 print(" %s%s" % (", ".join(["INIT[%4d]" % initbits
[i
*256 + 255 - k
*8 - l
] for l
in range(8)]), "," if k
!= 31 else ""), file=f
)
11 write_init_vh("techlibs/ice40/brams_init1.vh", [i
//2 + 2048*(i
%2) for i
in range(4096)])
12 write_init_vh("techlibs/ice40/brams_init2.vh", [i
//4 + 1024*(i
%4) for i
in range(4096)])
13 write_init_vh("techlibs/ice40/brams_init3.vh", [i
//8 + 512*(i
%8) for i
in range(4096)])