Nein, das möchstest Du offenbar nicht. Mit Deinem Code hast Du zwei
Signale definiert, Das eine besteht aus 100, das andere aus 150
16bit-Worten. Mit der Anweisung
buf_10 <= buf_15 (99 downto 0);
machst Du nichts anderes, als die untersten 100 dieser Signale paarweise
miteinander zu verbinden. Da wird nichts verschoben, nichts kopiert und
es verändert sich nichts, das ganze ist eine rein statische Beschreibung
einer Verbindungstruktur. Ich hoffe, das ist Dir klar. Davon abgesehen
scheint Dein Code korrekt zu sein. Hast Du es ausprobiert? Gibt es ein
Problem damit?