Tengo (espero que no sea tonta) una pregunta sobre el control de tipos en vhdl.
type data_t is record -- 16 bytes + 1 bit
order : std_ulogic_vector(7 downto 0);
data : std_ulogic_vector(111 downto 0); --14 bytes data
data_en : std_ulogic;
card_addr : std_ulogic_vector(7 downto 0);
end record data_t;
type order_respond_t is record -- 16 bytes + 1 bit
order : std_ulogic_vector(7 downto 0);
timestamp : std_ulogic_vector(15 downto 0);
data : std_ulogic_vector(95 downto 0);
data_en : std_ulogic;
card_addr : std_ulogic_vector(7 downto 0);
end record order_respond_t;
Anteriormente, estaba trabajando como programador integrado, así que tengo curiosidad por saber cómo funciona con vhdl. Los registros tienen exactamente el mismo tamaño pero una estructura diferente dentro. ¿Puedo hacer algo como esto?:
signal_order_respond_t < = signal_data_t;
En C puedo asignar dos estructuras diferentes entre sí usando un puntero (de modo que puedo asignar datos de una estructura a otra diferente (omitamos si es útil o no en este momento).
¿Es posible hacerlo en VHDL, está bien de acuerdo con las buenas prácticas de codificación vhdl?