Dado que no es posible tener una interfaz en un paquete, ¿cuál es la mejor práctica para administrar la interfaz que contiene struct
de un paquete?
package myPkg;
parameter PARAM = 4;
typedef struct packed {
logic a;
logic [PARAM-1:0] b;
} t_Map;
endpackage
interfaces.sv
:
interface myInterface;
logic elA;
t_Map elB;
endinterface
Me gustaría declarar las interfaces solo una vez en un archivo único.
Por ahora en el banco de pruebas tengo:
import myPkg::*;
'include "interfaces.sv"
Realmente no me gusta usar include
debido a la ruta relativa. Tendré que cambiar la ruta en el archivo superior donde quiero usar mi módulo.
El archivo que contiene myPkg
está en el archivo do/tcl
o en la lista de archivos de compilación.
Cuando usaré mi módulo en otro proyecto con una ruta diferente, también tendré que cambiar la ruta de include
en lugar de solo el archivo de compilación.
¿Cómo puedo manejar esto? interface
que contiene struct
que está en un package
.