Verific: Produce errors for instantiating unknown module
authorClifford Wolf <clifford@clifford.at>
Sun, 22 Jul 2018 16:44:05 +0000 (18:44 +0200)
committerClifford Wolf <clifford@clifford.at>
Sun, 22 Jul 2018 16:44:05 +0000 (18:44 +0200)
Because if the unknown module is connected to any constants, Verific will
actually break all constants in the same module, even if they have nothing
to do structurally with that instance of an unknown module.

Signed-off-by: Clifford Wolf <clifford@clifford.at>
frontends/verific/verific.cc

index 8937cdde8014bef2e5937085dfe9ddece2b2807d..b8dd72b989a91d30e78f10eaea753439832e9c9d 100644 (file)
@@ -1800,6 +1800,9 @@ struct VerificPass : public Pass {
                RuntimeFlags::SetVar("veri_extract_multiport_rams", 1);
                RuntimeFlags::SetVar("db_infer_wide_operators", 1);
 
+               // WARNING: instantiating unknown module 'XYZ' (VERI-1063)
+               Message::SetMessageType("VERI-1063", VERIFIC_ERROR);
+
                verific_verbose = 0;
 
                const char *release_str = Message::ReleaseString();