Your write data mask is undefined. I don't know about Lattice, but in Intel's Quartus, you need to set the 'write data mask enable' as it is used to set writing smaller bytes or individual bits, such as used in graphics pixel writes, or byte writes, when you have a memory which is wider in bits, like 32 bit or 64 bit, than a single byte. This is important unless every-time your processor want to write a single byte, it will need to read a 64 bit word, modify the 1 byte contents, then write the new modified 64 bit word. This would slow thing down considerably.
My 8 bit GPU in the other thread by nockieboy has 16bit FPGA memory and does use the enable mask set to 2 banks of 8 bit wide so that the Z80 interface can write single bytes without worrying about erasing the opposite 8 bits in each 16 bit word of ram.
Holding the write mask low would mean no write into those bits. Holding all the mask bits low would mean no write takes place at all even though a write_enable was sent.