Skip to content

[MooreToCore] Unsupported $fatal to sim.terminate conversion #8934

@Scheremo

Description

@Scheremo

New circt user here, trying to run circt-verilog on my design.
I run into an issue when trying to parse the $fatal system verilog system task.

The System Verilog code in question is:

 $fatal(1, "Timeout exceeded!");

The moore IR emitted is:

%12 = moore.fmt.literal "Timeout exceeded!"
moore.builtin.severity fatal %12
moore.builtin.finish_message false
moore.builtin.finish 1
moore.unreachable

I suppose this should be converted into a sim.terminate op, but I am unsure how to match/combine moore.builtin.finish. Any advice?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions