2015-01-07 13 views

risposta

9

È inoltre possibile utilizzare $cast per controllare se è valido, e copiare allo stesso tempo . Così, invece di fare: cmd = my_cmd'(value_from_bus);, si può fare questo:

if ($cast(cmd, value_from_bus)) 
    $display("Valid: %s", cmd.name()); 
else 
    $display("Invalid"); 

Esempio su EDA Playground

3

È possibile utilizzare nome di enum() funzione:

if (cmd.name() == "") 
    $display("%0d is bad", cmd); 
    else 
    $display("%s:%0d is good", cmd.name(), cmd); 

Esempio su EDA Playground

+0

Interessante! Anche se dubito che sia sintetizzabile. – Ari

+0

In Quartus Prime, questo non è riuscito nell'analisi: "il nome non è dichiarato sotto questo prefisso" – Purag

Problemi correlati