How to get rid of the warning "WARNING:PhysDesignRules:367 - The signal IBUF is incomplete."
The "initial" block is possibly being ignored in synthesis, so the weights "w" are really being initialized as zero, so the inputs "x" are being synthesized away, since their value don't affect anything (and "y" is always zero).

To fix it, declare the weights as constants until you are ready to put some logic that drives them.  

This is one of those cases where simulation is different than synthesis, courtesy of the "initial" statement, which should only be used in testbenches.