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
…
- SVA Package: Dynamic and range delays and repeats SVA: Package for dynamic and range delays and repeats | Verification Academy
- 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 - Papers:
- SVA Alternative for Complex Assertions
Verification Horizons - March 2018 Issue | Verification Academy - SVA in a UVM Class-based Environment
SVA in a UVM Class-based Environment | Verification Horizons | Verification Academy - Understanding the SVA Engine,
Verification Horizons - July 2020 | Verification Academy