Assigning a zero to a vector in Verilog
SystemVerilog has the bit fill literals '0, '1, 'x, and 'z.  This means fill a vector with a digit to whatever width is required by the context. (In a self-determined context, it is just a single bit) You should write:
assign x = '0;