You can't instantiate a Vec in one module and use it in another. An idiosyncrasy of the Chisel2 implementation let this one slip by. In this case, it's just a matter of using def instead of val.