I believe that in https://github.com/physical-computation/RV32I_iCE40/blob/master/verilog/instruction_mem.v#L13:
assign out = instruction_memory[addr >> 2];
Is not getting synthesised as BRAM. To fix this I think this line may need to be moved into an always block.