diff --git a/hdl/syn/sf2-test/envm.cfg b/hdl/syn/sf2-test/envm.cfg
index 1d04cd5b7b11e83479c9bdf72cb05425ce9e5ee5..eb0b0653ce4152709a3c605d312cae4987e24cd3 100644
--- a/hdl/syn/sf2-test/envm.cfg
+++ b/hdl/syn/sf2-test/envm.cfg
@@ -1,6 +1,6 @@
 nvm_set_data_storage_client \
    -client_name {code}  \
-   -number_of_words 168 \
+   -number_of_words 256 \
    -word_size 8 \
    -use_for_simulation {0}  \
    -content_type {MEMORY_FILE}  \
diff --git a/sw/sf2-test/Makefile b/sw/sf2-test/Makefile
index 52a50e0b0a693367622085b649d0c79aefc54490..e7ce6c0974d56924398ca5922ea3d65eb7686c4a 100644
--- a/sw/sf2-test/Makefile
+++ b/sw/sf2-test/Makefile
@@ -21,7 +21,7 @@ main.o: main.c
 	${OBJCOPY} -O binary $< $@
 
 %.mem: %.bin
-	./tomem.py $< > $@
+	./tomem.py $< 1024 > $@
 
 $(OUTPUT).elf: $(LDS) $(OBJS)
 	${XCC} $(CFLAGS) -o $@ -nostartfiles $(OBJS) -T $(LDS) -Wl,-Map=$(OUTPUT).map
diff --git a/sw/sf2-test/tomem.py b/sw/sf2-test/tomem.py
index 17337f2710ef99fdd705b78a2347491925329a98..e5c1f322c157d7034d480acbcabb21b707ad6169 100755
--- a/sw/sf2-test/tomem.py
+++ b/sw/sf2-test/tomem.py
@@ -4,15 +4,23 @@ import sys
 
 def main():
     if len(sys.argv) < 2:
-        sys.exit("Usage: {} FILE".format(sys.argv[0]))
+        sys.exit("Usage: {} FILE [LEN]".format(sys.argv[0]))
 
     filename = sys.argv[1]
     b = open(filename, 'rb').read()
     if len(b) % 4 != 0:
         sys.exit("length of {} is not a multiple of 4".format(filename))
+    if len(sys.argv) > 1:
+        flen = int(sys.argv[2])
+        if len(b) > flen:
+            sys.exit("{} is longer than {}".format(filename, flen))
+    else:
+        flen = len(b)
     for i in range(len(b)):
         v, = struct.unpack('<B', b[i])
         print('{:08b}'.format(v))
+    for i in range(len(b), flen):
+        print('{:08b}'.format(0))
 
 if __name__ == '__main__':
     main()