Skip to content

(System)Verilog parallel_case attribute is not supported #185

Description

@KatCe

Hello.

hdlConvertor does not support the parallel_case attribute. An example can be found here: https://github.com/KatCe/hdlConvertor_issue_185

Using the python script in the repo I tried all 3 language settings mentioned and saved the ast as text files (ast_v.txt: Language.VERILOG, ast_v2005.txt: Language.VERILOG_2005, ast_sv2017.txt: Language.SYSTEM_VERILOG_2017).

The parallel_case attribute was not understood by hdlConvertor. Error output:

python3 ast_to_json.py > ast_v.txt
./picorv32_sv2v_out.v:276:2: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case*)...
./picorv32_sv2v_out.v:331:2: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*full_case*)...
./picorv32_sv2v_out.v:1017:3: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case*)...
./picorv32_sv2v_out.v:1139:2: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1149:2: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1178:3: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case*)...
./picorv32_sv2v_out.v:1289:3: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1296:5: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case*)...
./picorv32_sv2v_out.v:1372:5: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case*)...
./picorv32_sv2v_out.v:1412:7: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1506:8: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case*)...
./picorv32_sv2v_out.v:1534:5: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case*)...
./picorv32_sv2v_out.v:1603:6: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1612:6: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1626:7: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1650:7: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...
./picorv32_sv2v_out.v:1667:7: AttributeParser.visitAttribute_instance Conversion to Python object not implemented
    ...(*parallel_case,full_case*)...

The parallel_case in line 1139/1140 of picorv32_sv2v_out.v is a good example where the case statement without attribute has a different semantic than with it, so the attribute should not be dropped. Corresponding line in ast_v.txt:31946.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions