After waiting patiently for Xilinx to support always @* properly, I'm still having problem with this code:
localparam integer D_W = 32; localparam integer DEPTH = 512; reg [D_W-1:0] memory [0:DEPTH-1]; reg [DEPTH-1:0] memory_or;
always @* begin for ( i = 0; i < DEPTH; i = i + 1 ) begin memory_or[ i ] = | memory[ i ]; // is any bit high? end end // always @*
... "unexpected event in sensitivity-list of always block."
Same code synthesizes fine in Altera Quartus-II 7.1 Web Edition. For the case I show above, I can workaround it using a generate-loop, and a bunch of assign statements...but there are other code-blocks which I can't easily workaround.