2017-03-21 3 views

Antwort

3

Sie eine Funktion in eine separate Datei setzen und schließen es mit `umfassen:

`include "some_file_name.sv" 

jedoch ein viel besserer Weg ist es, ein Paket zu verwenden:

package some_package_name; 
    function string some_function_name; 
    return "some_function_name called"; 
    endfunction 
endpackage 

Sie würden lege das in eine separate Datei und du musst das kompilieren, bevor du irgendein Modul kompilierst, das es benutzt. Sie dann Import das Paket in jedem Modul:

module some_module_name; 
    import some_package_name::*; // or import some_package_name::some_function_name; 
    initial 
    $display(some_function_name); 
endmodule 

eine Funktion in einem Paket zu platzieren, ist besser als nur in eine Datei setzen und mit umfassen, weil ein Paket ein Umfang genannt ist. Da ein Paket ein benannter Bereich ist, können alle Probleme mit einem gewissen Zusammenprall des Namen durch gelöst werden, statt mit Import, bezogen auf den vollständigen Namen der Funktion in der Verpackung, zum Beispiel:

module some_module_name; 
    initial 
    $display(some_package_name::some_function_name); 
endmodule 
+1

Sie sollten hinzufügen Verweise auf die freien IEEE Std 1800-2012 Abschnitte. Unterrichten, um zu fischen, etc ... – toolic