Verilog VCS遇到未指定的生成块意味着什么?
我的代码:Verilog VCS遇到未指定的生成块意味着什么?,verilog,Verilog,我的代码: generate if(some_condition) begin assign A=~AB; end else begin assign A=AB; end endgenerate 我收到一个错误,说VCS遇到了未命名的生成块。它指向我有assign语句的行。是否存在多驱动器问题?试试这个 generate if(some_condition) begin : generate_block_1 assign A=~AB; end else b
generate
if(some_condition) begin
assign A=~AB;
end else begin
assign A=AB;
end
endgenerate
我收到一个错误,说VCS遇到了未命名的生成块。它指向我有assign语句的行。是否存在多驱动器问题?试试这个
generate
if(some_condition) begin : generate_block_1
assign A=~AB;
end else begin : generate_block_1
assign A=AB;
end
endgenerate
在几次修订中,Verilog改变了处理生成内容的方式。在旧版本中,generate项或关键字本身没有引入新的作用域,因此设计者必须添加一个命名块来实现这一点。我不认为这是1364-2001中的“真实”错误,因为您没有在generate中声明标识符,但命名generate块是一种良好的做法
1364-2005和SystemVerilog通过声明任何未命名的生成块都被称为genblk###来解决这个问题,尽管您仍然应该命名它们 试试这个
generate
if(some_condition) begin : generate_block_1
assign A=~AB;
end else begin : generate_block_1
assign A=AB;
end
endgenerate
在几次修订中,Verilog改变了处理生成内容的方式。在旧版本中,generate项或关键字本身没有引入新的作用域,因此设计者必须添加一个命名块来实现这一点。我不认为这是1364-2001中的“真实”错误,因为您没有在generate中声明标识符,但命名generate块是一种良好的做法
1364-2005和SystemVerilog通过声明任何未命名的生成块都被称为genblk###来解决这个问题,尽管您仍然应该命名它们