Error while assigning an array in generate block

In reply to Nimisha Varadkar:
Per 1800 27.2 Overview
Generate constructs are used to either conditionally or multiply instantiate generate blocks into a model. Thus,

 
generate  for(genvar j =0; j<32; j=j+1)
         begin
          temp[j] <= {6{data >> (j*6)}}; //  <<---- This is NOT a block 
// Below is a block with the always
// Below is OK,  DO you need this? 
generate  for(genvar j =0; j<32; j=j+1)
         begin
            always  @(posedge vld) begin 
              temp[j] = {6{data >> (j*6)}};
             assert property (data_valid(temp[j])); 
            end 
           end
   endgenerate

// Is  your intention is to do the following? 
generate  for(genvar j =0; j<32; j=j+1)  begin    
             assert property (data_valid(temp[j])); 
           end
    
   endgenerate
    
   initial   
    for( int j =0; j<32; j=j+1)
         temp[j] <= {6{data >> (j*6)}};

Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact Home - My cvcblr

** SVA Handbook 4th Edition, 2016 ISBN 978-1518681448

  1. SVA Package: Dynamic and range delays and repeats SVA: Package for dynamic and range delays and repeats | Verification Academy
  2. Free books: Component Design by Example FREE BOOK: Component Design by Example … A Step-by-Step Process Using VHDL with UART as Vehicle | Verification Academy
    Real Chip Design and Verification Using Verilog and VHDL($3) Amazon.com
  3. Papers: