Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NotImplementedError: Unexpected object of type Error, #151

Closed
SingaDK opened this issue Apr 14, 2021 · 4 comments
Closed

NotImplementedError: Unexpected object of type Error, #151

SingaDK opened this issue Apr 14, 2021 · 4 comments

Comments

@SingaDK
Copy link

SingaDK commented Apr 14, 2021

Hi,
I am trying to parse Ibex RiscV core, files, When I try to parse some files and export to JSON, I get this error

NotImplementedError: Unexpected object of type <class 'hdlConvertorAst.hdlAst._expr.HdlExprNotImplemented'>

The error line is

module ibex_alu #(
  parameter ibex_pkg::rv32b_e RV32B = ibex_pkg::RV32BNone
) (
    input  ibex_pkg::alu_op_e operator_i,
    input  logic [31:0]       operand_a_i,
    input  logic [31:0]       operand_b_i, ........)

"Ibex_pkg::rv32b" -> double colon.
I am using,

d = c.parse(filenames, Language.SYSTEM_VERILOG_2017, include_dirs, hierarchyOnly=False, debug=True)
from hdlConvertorAst.to.json import ToJson
import json
tj = ToJson()
j = tj.visit_HdlContext(d)
# pretty print json
print(json.dumps(j, sort_keys=True,
                 indent=4, separators=(',', ': ')))

There is no error in parsing the file. The error happens only on visit_HdlContext
I can get JSON out of most files in the core, but not files with the above-mentioned parameter definition.
Any pointers on this will be highly helpful.
Many thanks in advance.

@Nic30
Copy link
Owner

Nic30 commented Apr 15, 2021

Hello @SingaDK,
can you try installation of latest version from git?

pip3 install git+git://github.com/Nic30/hdlConvertorAst.git@master#egg=hdlConvertorAst --upgrade --no-cache
pip3 install git+git://github.com/Nic30/hdlConvertor.git@master#egg=hdlConvertor --upgrade --no-cache

It should be fixed, but I can not immediately do a new release because there is some problem with documentation:
sphinx-pyreverse/sphinx-pyreverse#20 (comment)
pylint-dev/astroid#930

And also circleci does not work today so the build seems to be failing, but it failed before the machine was even started from some circleci related problem.

@SingaDK
Copy link
Author

SingaDK commented Apr 15, 2021

Hi @Nic30,
Many thanks for the quick response and fix.
I tried the new installation. I am not getting that error anymore instead, I got more. The parsing itself throws so many errors like
It mostly with always ff, always comb, assertions, unique case

VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented

VerStatementParser.visitAlways_construct.always_keyword` - non pure always Conversion to Python object not implemented

VerStatementParser.visitCase_statement.unique_priority`` Conversion to Python object not implemented

VerGenerateParser.visitModule_or_generate_item.assertion_item Conversion to Python object not implemented

VerModuleParser.visitModule_header_common - package_import_declaration Conversion to Python object not implemented

The file I am trying to parse is ibex_alu.sv.

Below I attached the full log of the error flow. Sorry for the long post, But many thanks in advance for looking into this.

/home/singa/ibex/rtl/ibex_alu.sv:51:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:53:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_SUB,ALU_EQ,ALU_NE,ALU_GE,ALU_GEU,ALU_LT,ALU_LTU,ALU_SLT,ALU_SLTU,ALU_MIN,ALU_MINU,ALU_MAX,ALU_MAXU:adder_op_b_negate=1'b1;default:;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:76:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:77:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)multdiv_sel_i:adder_in_b=multdiv_operand_b_i;adder_op_b_negate:adder_in_b=operand_b_neg;default:adder_in_b={operand_b_i,1'b0};endcase...
/home/singa/ibex/rtl/ibex_alu.sv:99:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:100:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_GE,ALU_LT,ALU_SLT,ALU_MIN,ALU_MAX:cmp_signed=1'b1;default:cmp_signed=1'b0;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:116:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:139:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:140:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_EQ:cmp_result=is_equal;ALU_NE:cmp_result=~is_equal;ALU_GE,ALU_GEU,ALU_MAX,ALU_MAXU:cmp_result=is_greater_equal;ALU_LT,ALU_LTU,ALU_MIN,ALU_MINU,ALU_SLT,ALU_SLTU:cmp_result=~is_greater_equal;default:cmp_result=is_equal;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:262:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:284:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:285:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_SLL:shift_left=1'b1;ALU_SLO,ALU_BFP:shift_left=(RV32B!=RV32BNone)?1'b1:1'b0;ALU_ROL:shift_left=(RV32B!=RV32BNone)?instr_first_cycle_i:0;ALU_ROR:shift_left=(RV32B!=RV32BNone)?~instr_first_cycle_i:0;ALU_FSL:shift_left=(RV32B!=RV32BNone)?(shift_amt[5]?~instr_first_cycle_i:instr_first_cycle_i):1'b0;ALU_FSR:shift_left=(RV32B!=RV32BNone)?(shift_amt[5]?instr_first_cycle_i:~instr_first_cycle_i):1'b0;default:shift_left=1'b0;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:309:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:315:6: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)bfp_op:shift_operand=bfp_mask_rev;shift_sbmode:shift_operand=32'h8000_0000;default:shift_operand=shift_left?operand_a_rev:operand_a_i;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:351:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:352:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_XNOR,ALU_ORN,ALU_ANDN:bwlogic_op_b_negate=(RV32B!=RV32BNone)?1'b1:1'b0;ALU_CMIX:bwlogic_op_b_negate=(RV32B!=RV32BNone)?~instr_first_cycle_i:1'b0;default:bwlogic_op_b_negate=1'b0;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:371:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:372:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)bwlogic_or:bwlogic_result=bwlogic_or_result;bwlogic_and:bwlogic_result=bwlogic_and_result;default:bwlogic_result=bwlogic_xor_result;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:425:4: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:437:4: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:486:4: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:487:23: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{default:'0}...
/home/singa/ibex/rtl/ibex_alu.sv:542:4: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:543:6: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)packu:pack_result={operand_b_i[31:16],operand_a_i[31:16]};packh:pack_result={16'h0,operand_b_i[7:0],operand_a_i[7:0]};default:pack_result={operand_b_i[15:0],operand_a_i[15:0]};endcase...
/home/singa/ibex/rtl/ibex_alu.sv:561:4: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:562:6: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_SBSET:singlebit_result=operand_a_i|shift_result;ALU_SBCLR:singlebit_result=operand_a_i&~shift_result;ALU_SBINV:singlebit_result=operand_a_i^shift_result;default:singlebit_result={31'h0,shift_result[0]};endcase...
/home/singa/ibex/rtl/ibex_alu.sv:585:4: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:630:10: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{32'h00ff_0000,32'h0f00_0f00,32'h3030_3030,32'h4444_4444}...
/home/singa/ibex/rtl/ibex_alu.sv:632:10: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{32'h0000_ff00,32'h00f0_00f0,32'h0c0c_0c0c,32'h2222_2222}...
/home/singa/ibex/rtl/ibex_alu.sv:635:10: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{32'h2200_1100,32'h0044_0000,32'h4411_0000,32'h1100_0000}...
/home/singa/ibex/rtl/ibex_alu.sv:637:10: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{32'h0088_0044,32'h0000_2200,32'h0000_8822,32'h0000_0088}...
/home/singa/ibex/rtl/ibex_alu.sv:649:6: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:788:6: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:789:27: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{default:'0}...
/home/singa/ibex/rtl/ibex_alu.sv:848:6: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:874:6: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:1008:6: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:1009:8: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)crc_bmode:crc_operand={operand_a_i[7:0],24'h0};crc_hmode:crc_operand={operand_a_i[15:0],16'h0};default:crc_operand=operand_a_i;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:1017:6: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:1055:6: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:1084:4: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:1085:6: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_CMOV:beginmulticycle_result=(operand_b_i==32'h0)?operand_a_i:imd_val_q_i[0];imd_val_d_o='{operand_a_i,32'h0};if(instr_first_cycle_i)beginimd_val_we_o=2'b01;endelsebeginimd_val_we_o=2'b00;endendALU_CMIX:beginmulticycle_result=imd_val_q_i[0]|bwlogic_and_result;imd_val_d_o='{bwlogic_and_result,32'h0};if(instr_first_cycle_i)beginimd_val_we_o=2'b01;endelsebeginimd_val_we_o=2'b00;endendALU_FSR,ALU_FSL,ALU_ROL,ALU_ROR:beginif(shift_amt[4:0]==5'h0)beginmulticycle_result=shift_amt[5]?operand_a_i:imd_val_q_i[0];endelsebeginmulticycle_result=imd_val_q_i[0]|shift_result;endimd_val_d_o='{shift_result,32'h0};if(instr_first_cycle_i)beginimd_val_we_o=2'b01;endelsebeginimd_val_we_o=2'b00;endendALU_CRC32_W,ALU_CRC32C_W,ALU_CRC32_H,ALU_CRC32C_H,ALU_CRC32_B,ALU_CRC32C_B:beginif(RV32B==RV32BFull)beginuniquecase(1'b1)crc_bmode:multicycle_result=clmul_result_rev^(operand_a_i>>8);crc_hmode:multicycle_result=clmul_result_rev^(operand_a_i>>16);default:multicycle_result=clmul_result_rev;endcaseimd_val_d_o='{clmul_result_rev,32'h0};if(instr_first_cycle_i)beginimd_val_we_o=2'b01;endelsebeginimd_val_we_o=2'b00;endendelsebeginimd_val_d_o='{operand_a_i,32'h0};imd_val_we_o=2'b00;multicycle_result='0;endendALU_BEXT,ALU_BDEP:beginif(RV32B==RV32BFull)beginmulticycle_result=(operator_i==ALU_BDEP)?butterfly_result:invbutterfly_result;imd_val_d_o='{bitcnt_partial_lsb_d,bitcnt_partial_msb_d};if(instr_first_cycle_i)beginimd_val_we_o=2'b11;endelsebeginimd_val_we_o=2'b00;endendelsebeginimd_val_d_o='{operand_a_i,32'h0};imd_val_we_o=2'b00;multicycle_result='0;endenddefault:beginimd_val_d_o='{operand_a_i,32'h0};imd_val_we_o=2'b00;multicycle_result='0;endendcase...
/home/singa/ibex/rtl/ibex_alu.sv:1088:24: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1098:24: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{bwlogic_and_result,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1113:24: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{shift_result,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1113:24: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{shift_result,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1113:24: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{shift_result,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1113:24: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{shift_result,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1125:12: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)crc_bmode:multicycle_result=clmul_result_rev^(operand_a_i>>8);crc_hmode:multicycle_result=clmul_result_rev^(operand_a_i>>16);default:multicycle_result=clmul_result_rev;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:1130:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{clmul_result_rev,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1137:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1125:12: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)crc_bmode:multicycle_result=clmul_result_rev^(operand_a_i>>8);crc_hmode:multicycle_result=clmul_result_rev^(operand_a_i>>16);default:multicycle_result=clmul_result_rev;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:1130:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{clmul_result_rev,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1137:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1125:12: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)crc_bmode:multicycle_result=clmul_result_rev^(operand_a_i>>8);crc_hmode:multicycle_result=clmul_result_rev^(operand_a_i>>16);default:multicycle_result=clmul_result_rev;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:1130:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{clmul_result_rev,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1137:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1125:12: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)crc_bmode:multicycle_result=clmul_result_rev^(operand_a_i>>8);crc_hmode:multicycle_result=clmul_result_rev^(operand_a_i>>16);default:multicycle_result=clmul_result_rev;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:1130:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{clmul_result_rev,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1137:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1125:12: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)crc_bmode:multicycle_result=clmul_result_rev^(operand_a_i>>8);crc_hmode:multicycle_result=clmul_result_rev^(operand_a_i>>16);default:multicycle_result=clmul_result_rev;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:1130:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{clmul_result_rev,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1137:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1125:12: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(1'b1)crc_bmode:multicycle_result=clmul_result_rev^(operand_a_i>>8);crc_hmode:multicycle_result=clmul_result_rev^(operand_a_i>>16);default:multicycle_result=clmul_result_rev;endcase...
/home/singa/ibex/rtl/ibex_alu.sv:1130:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{clmul_result_rev,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1137:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1146:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{bitcnt_partial_lsb_d,bitcnt_partial_msb_d}...
/home/singa/ibex/rtl/ibex_alu.sv:1153:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1146:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{bitcnt_partial_lsb_d,bitcnt_partial_msb_d}...
/home/singa/ibex/rtl/ibex_alu.sv:1153:26: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1160:24: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{operand_a_i,32'h0}...
/home/singa/ibex/rtl/ibex_alu.sv:1188:33: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{default:'0}...
/home/singa/ibex/rtl/ibex_alu.sv:1189:33: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{default:'0}...
/home/singa/ibex/rtl/ibex_alu.sv:1196:2: VerStatementParser.visitAlways_construct.always_keyword - non pure always Conversion to Python object not implemented
    ...always_comb...
/home/singa/ibex/rtl/ibex_alu.sv:1199:4: VerStatementParser.visitCase_statement.unique_priority Conversion to Python object not implemented
    ...uniquecase(operator_i)ALU_XOR,ALU_XNOR,ALU_OR,ALU_ORN,ALU_AND,ALU_ANDN:result_o=bwlogic_result;ALU_ADD,ALU_SUB:result_o=adder_result;ALU_SLL,ALU_SRL,ALU_SRA,ALU_SLO,ALU_SRO:result_o=shift_result;ALU_SHFL,ALU_UNSHFL:result_o=shuffle_result;ALU_EQ,ALU_NE,ALU_GE,ALU_GEU,ALU_LT,ALU_LTU,ALU_SLT,ALU_SLTU:result_o={31'h0,cmp_result};ALU_MIN,ALU_MAX,ALU_MINU,ALU_MAXU:result_o=minmax_result;ALU_CLZ,ALU_CTZ,ALU_PCNT:result_o={26'h0,bitcnt_result};ALU_PACK,ALU_PACKH,ALU_PACKU:result_o=pack_result;ALU_SEXTB,ALU_SEXTH:result_o=sext_result;ALU_CMIX,ALU_CMOV,ALU_FSL,ALU_FSR,ALU_ROL,ALU_ROR,ALU_CRC32_W,ALU_CRC32C_W,ALU_CRC32_H,ALU_CRC32C_H,ALU_CRC32_B,ALU_CRC32C_B,ALU_BEXT,ALU_BDEP:result_o=multicycle_result;ALU_SBSET,ALU_SBCLR,ALU_SBINV,ALU_SBEXT:result_o=singlebit_result;ALU_GREV,ALU_GORC:result_o=rev_result;ALU_BFP:result_o=bfp_result;ALU_CLMUL,ALU_CLMULR,ALU_CLMULH:result_o=clmul_result;default:;endcase...
home/singa/ibex/rtl/ibex_fetch_fifo.sv:371:2: VerGenerateParser.visitModule_or_generate_item.assertion_item Conversion to Python object not implemented
    ...IbexFetchFifoPushPopFull:assertproperty(@(posedgeclk_i)disableiff((!rst_ni)!=='0)((in_valid_i&&pop_fifo)|->(!valid_q[DEPTH-1]||clear_i)))elsebegin$error("%0t: (%0s:%0d) [%m] [ASSERT FAILED] %0s",$time,"/home/singa/ibex/rtl/ibex_fetch_fifo.sv",250,"IbexFetchFifoPushPopFull");end...
/home/singa/ibex/rtl/ibex_fetch_fifo.sv:381:2: VerGenerateParser.visitModule_or_generate_item.assertion_item Conversion to Python object not implemented
    ...IbexFetchFifoPushFull:assertproperty(@(posedgeclk_i)disableiff((!rst_ni)!=='0)((in_valid_i)|->(!valid_q[DEPTH-1]||clear_i)))elsebegin$error("%0t: (%0s:%0d) [%m] [ASSERT FAILED] %0s",$time,"/home/singa/ibex/rtl/ibex_fetch_fifo.sv",254,"IbexFetchFifoPushFull");end...


/home/singa/ibex/rtl/ibex_ex_block.sv:86:25: VerExprPrimaryParser.visitPrimaryAssig Conversion to Python object not implemented
    ...'{imd_val_q_i[0][31:0],imd_val_q_i[1][31:0]}...

@Nic30
Copy link
Owner

Nic30 commented Apr 17, 2021

VerStatementParser.visitAlways_construct.always_keyword

VerStatementParser.visitCase_statement.unique_priority

VerExprPrimaryParser.visitPrimaryAssig

Now ibex_alu.sv should be parsed successfully and without any warning, please check. If possible send pull request with minimal simple tests or at least provide minimal simple code examples which do not work or are not currently tested.

@Nic30
Copy link
Owner

Nic30 commented May 14, 2021

Fixed in mentioned commits.

@Nic30 Nic30 closed this as completed May 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants