生成的开始结束块必须命名
Generated begin-end blocks must be named
我正在 Xilinx 中编译名为“ODIN”的 SNN 模拟器。对于生成块,我收到此错误,但我认为此块没有任何问题。你能帮我解决这个问题吗?
'''
genvar i;
generate
for (i=0; i<8; i=i+1) begin
sdsp_update #(
.WIDTH(3)
) sdsp_update_gen (
// Inputs
// General
.SYN_PRE(CTRL_PRE_EN[i] & (SPI_UPDATE_UNMAPPED_SYN | SYNARRAY_RDATA[(i<<2)+3])),
.SYN_BIST_REF(CTRL_BIST_REF),
// From neuron
.V_UP(NEUR_V_UP_int[i]),
.V_DOWN(NEUR_V_DOWN_int[i]),
// From SRAM
.WSYN_CURR(SYNARRAY_RDATA[(i<<2)+3:(i<<2)]),
// Output
.WSYN_NEW(SYNARRAY_WDATA_int[(i<<2)+3:(i<<2)])
);
end
endgenerate
我收到这些错误:
Generated begin-end blocks must be named
Illegal redeclaration of ''
一些编译器希望在生成逻辑时有一个名字。此名称取自开始结束块的名称。
试试这个:
'''
genvar i;
generate
for (i=0; i<8; i=i+1)
begin : sdsp_gen // <<< Name for begin/end block
sdsp_update #(
.WIDTH(3)
) sdsp_update_gen (
// Inputs
// General
.SYN_PRE(CTRL_PRE_EN[i] & (SPI_UPDATE_UNMAPPED_SYN | SYNARRAY_RDATA[(i<<2)+3])),
.SYN_BIST_REF(CTRL_BIST_REF),
// From neuron
.V_UP(NEUR_V_UP_int[i]),
.V_DOWN(NEUR_V_DOWN_int[i]),
// From SRAM
.WSYN_CURR(SYNARRAY_RDATA[(i<<2)+3:(i<<2)]),
// Output
.WSYN_NEW(SYNARRAY_WDATA_int[(i<<2)+3:(i<<2)])
);
end
endgenerate
我正在 Xilinx 中编译名为“ODIN”的 SNN 模拟器。对于生成块,我收到此错误,但我认为此块没有任何问题。你能帮我解决这个问题吗?
'''
genvar i;
generate
for (i=0; i<8; i=i+1) begin
sdsp_update #(
.WIDTH(3)
) sdsp_update_gen (
// Inputs
// General
.SYN_PRE(CTRL_PRE_EN[i] & (SPI_UPDATE_UNMAPPED_SYN | SYNARRAY_RDATA[(i<<2)+3])),
.SYN_BIST_REF(CTRL_BIST_REF),
// From neuron
.V_UP(NEUR_V_UP_int[i]),
.V_DOWN(NEUR_V_DOWN_int[i]),
// From SRAM
.WSYN_CURR(SYNARRAY_RDATA[(i<<2)+3:(i<<2)]),
// Output
.WSYN_NEW(SYNARRAY_WDATA_int[(i<<2)+3:(i<<2)])
);
end
endgenerate
我收到这些错误:
Generated begin-end blocks must be named
Illegal redeclaration of ''
一些编译器希望在生成逻辑时有一个名字。此名称取自开始结束块的名称。 试试这个:
'''
genvar i;
generate
for (i=0; i<8; i=i+1)
begin : sdsp_gen // <<< Name for begin/end block
sdsp_update #(
.WIDTH(3)
) sdsp_update_gen (
// Inputs
// General
.SYN_PRE(CTRL_PRE_EN[i] & (SPI_UPDATE_UNMAPPED_SYN | SYNARRAY_RDATA[(i<<2)+3])),
.SYN_BIST_REF(CTRL_BIST_REF),
// From neuron
.V_UP(NEUR_V_UP_int[i]),
.V_DOWN(NEUR_V_DOWN_int[i]),
// From SRAM
.WSYN_CURR(SYNARRAY_RDATA[(i<<2)+3:(i<<2)]),
// Output
.WSYN_NEW(SYNARRAY_WDATA_int[(i<<2)+3:(i<<2)])
);
end
endgenerate