Estoy tratando de convertir código VHDL altamente parametrizado a verilog. Este código VHDL usa una buena cantidad de paquetes y registros y no pude encontrar el sustituto para aquellos en verilog. También tengo solo 3 días de edad en verilog.
Los archivos de paquete y entidad en VHDL son los siguientes:
package control_package is
type control_ca_out is record
reset : std_logic;
end record;
type control_in is record
clk : std_logic;
ha : psl_control_in;
dc : dma_dc_out;
end record;
type control_out is record
ca : control_ca_out;
ah : psl_control_out;
cd : dma_cd_in;
end record;
entity control is
port (
i : in control_in;
o : out control_out
);
end entity control;
El paquete y la entidad están en archivos separados. ¿Cómo implemento lo mismo en verilog? Sé que hay una forma de agrupar todos los campos de registros en un solo vector y luego usar la selección parcial para acceder a diferentes campos de registro. ¿Cómo podría incluirlos en un módulo separado en verilog?