Tengo algunos códigos de systemverilog creados por otros colegas y ejecutados en hardware sin problema.
Puedo ver que hay algunas conexiones para dos módulos que no tienen una declaración de señal local como esta:
module module_top (
input clk,
input rst,
output result
);
logic[255:0] data; // connector for data
logic[4:0] empty; // connector for empty
// there are no connectors for vld, sop and eop signals
module_to to (
.clk(clk),
.rst(rst),
.in_vld(vld),
.in_sop(sop),
.in_eop(eop),
.in_data(data),
.in_empty(empty),
);
module_from from (
.clk(clk),
.rst(rst),
.out_vld(vld),
.out_sop(sop),
.out_eop(eop),
.out_data(data),
.out_empty(empty),
);
endmodule
El código anterior se puede compilar sin errores y se ejecuta sin problemas en hardware.
Intenté eliminar la declaración de datos [255: 0]. No funciona en hardware. Por lo tanto, por favor aconseje la teoría detrás de esto.