@@ -55,6 +55,7 @@ namespace diag {
5555 DiagCode EdgeImplicitMixing (DiagSubsystem::Netlist, 1002 );
5656 DiagCode GenericTimingUnsyn (DiagSubsystem::Netlist, 1003 );
5757 DiagCode BothEdgesUnsupported (DiagSubsystem::Netlist, 1004 );
58+ DiagCode WaitStatementUnsupported (DiagSubsystem::Netlist, 1011 );
5859 DiagCode NoteSignalEvent (DiagSubsystem::Netlist, 1005 );
5960 DiagCode ExpectingIfElseAload (DiagSubsystem::Netlist, 1006 );
6061 DiagCode NoteDuplicateEdgeSense (DiagSubsystem::Netlist, 1007 );
@@ -95,19 +96,21 @@ namespace diag {
9596 DiagCode PortCorrespondence (DiagSubsystem::Netlist, 1042 );
9697 DiagCode UnsynthesizableFeature (DiagSubsystem::Netlist, 1043 );
9798 DiagCode SVAUnsupported (DiagSubsystem::Netlist, 1044 );
98- DiagCode ForbiddenDemotion (DiagSubsystem::Netlist, 1045 );
99- DiagCode UdpUnsupported (DiagSubsystem::Netlist, 1046 );
100- DiagCode PrimTypeUnsupported (DiagSubsystem::Netlist, 1047 );
101- DiagCode ReferenceAcrossKeptHierBoundary (DiagSubsystem::Netlist, 1048 );
102- DiagCode NoteModuleBlackboxBecauseAttribute (DiagSubsystem::Netlist, 1049 );
103- DiagCode NoteModuleBlackboxBecauseEmpty (DiagSubsystem::Netlist, 1050 );
104- DiagCode NoteModuleNotDissolvedBecauseBlackbox (DiagSubsystem::Netlist, 1051 );
105- DiagCode NoteModuleNotDissolvedBecauseKeepHierarchy (DiagSubsystem::Netlist, 1052 );
106- DiagCode BlockingAssignmentAfterNonblocking (DiagSubsystem::Netlist, 1053 );
107- DiagCode NonblockingAssignmentAfterBlocking (DiagSubsystem::Netlist, 1054 );
108- DiagCode NotePreviousAssignment (DiagSubsystem::Netlist, 1055 );
109- DiagCode NetTypeUnsupported (DiagSubsystem::Netlist, 1056 );
110- DiagCode NoAllowTopLevelIfacePorts (DiagSubsystem::Netlist, 1057 );
99+ DiagCode ExpectStatementUnsupported (DiagSubsystem::Netlist, 1045 );
100+ DiagCode ProgramUnsupported (DiagSubsystem::Netlist, 1046 );
101+ DiagCode ForbiddenDemotion (DiagSubsystem::Netlist, 1047 );
102+ DiagCode UdpUnsupported (DiagSubsystem::Netlist, 1048 );
103+ DiagCode PrimTypeUnsupported (DiagSubsystem::Netlist, 1049 );
104+ DiagCode ReferenceAcrossKeptHierBoundary (DiagSubsystem::Netlist, 1050 );
105+ DiagCode NoteModuleBlackboxBecauseAttribute (DiagSubsystem::Netlist, 1051 );
106+ DiagCode NoteModuleBlackboxBecauseEmpty (DiagSubsystem::Netlist, 1052 );
107+ DiagCode NoteModuleNotDissolvedBecauseBlackbox (DiagSubsystem::Netlist, 1053 );
108+ DiagCode NoteModuleNotDissolvedBecauseKeepHierarchy (DiagSubsystem::Netlist, 1054 );
109+ DiagCode BlockingAssignmentAfterNonblocking (DiagSubsystem::Netlist, 1055 );
110+ DiagCode NonblockingAssignmentAfterBlocking (DiagSubsystem::Netlist, 1056 );
111+ DiagCode NotePreviousAssignment (DiagSubsystem::Netlist, 1057 );
112+ DiagCode NetTypeUnsupported (DiagSubsystem::Netlist, 1058 );
113+ DiagCode NoAllowTopLevelIfacePorts (DiagSubsystem::Netlist, 1059 );
111114
112115 DiagGroup unsynthesizable (" unsynthesizable" , {IffUnsupported, GenericTimingUnsyn, BothEdgesUnsupported, ExpectingIfElseAload,
113116 IfElseAloadPolarity, IfElseAloadMismatch, UnsynthesizableFeature});
@@ -121,6 +124,8 @@ namespace diag {
121124 engine.setMessage (EdgeImplicitMixing, " mixing of implicit and edge sensitivity" );
122125 engine.setMessage (GenericTimingUnsyn, " unsynthesizable timing control (ignore with '--ignore-timing')" );
123126 engine.setMessage (BothEdgesUnsupported, " 'edge' sensitivity will not be synthesized" );
127+ engine.setMessage (WaitStatementUnsupported, " wait statement will not be synthesized" );
128+ engine.setSeverity (WaitStatementUnsupported, DiagnosticSeverity::Warning);
124129 engine.setMessage (NoteSignalEvent, " signal event specified here" );
125130 engine.setSeverity (NoteSignalEvent, DiagnosticSeverity::Note);
126131
@@ -223,6 +228,12 @@ namespace diag {
223228 engine.setMessage (SVAUnsupported, " SVA unsupported (ignore all assertions with '--ignore-assertions')" );
224229 engine.setSeverity (SVAUnsupported, DiagnosticSeverity::Error);
225230
231+ engine.setMessage (ExpectStatementUnsupported, " expect statement will not be synthesized" );
232+ engine.setSeverity (ExpectStatementUnsupported, DiagnosticSeverity::Warning);
233+
234+ engine.setMessage (ProgramUnsupported, " program block will not be synthesized" );
235+ engine.setSeverity (ProgramUnsupported, DiagnosticSeverity::Warning);
236+
226237 engine.setMessage (ForbiddenDemotion, " disabling error '{}' is unsupported with yosys-slang" );
227238 engine.setSeverity (ForbiddenDemotion, DiagnosticSeverity::Error);
228239
0 commit comments