In VHDL ist es üblich, vor dem Senden von Daten mehrere Informationen (Signale) in einen grossen Vektor zusammenzubauen.
Beim Empfangen wird dann der grosse Vektor wieder in seine Einzelteile zerlegt.
1. Einzelne Signalgrössen
signal s_tone_on: std_logic; signal s_note_value: std_logic_vector(7 downto 0); signal s_velocity: std_logic_vector(7 downto 0); signal s_midi: std_logic_vector(16 dowonto 0);
2. Addition zu Vektor
// Vektor für innerhalb Entity bilden
s_midi <= s_tone_on & s_note_value & s_velocity;
// oder direkt beim Port
GPIO_0 <= s_tone_on & s_note_value & s_velocity;
Man kann auch nur Teile des Vektors addieren.