Kannst du mir eklären, was diese Zeile bedeutet:
1 | subtype negativ_index is std_logic_vector (address_width_heap - 1 downto -1);
|
Ich würde das so interpretieren, dass es nach dem 0. Bit noch
ein -1. Bit gibt. Mithin eine recht unübliche Darstellungsweise.
Auf jeden Fall heißt diese Zeile nicht, dass "negativ_index" bis zum
Wert -1 gehen kann.
Du wirst übrigens später noch auf wesentlich schwerer zu fassende
Probleme stoßen, denn ich vermute, dass das nicht der einzige Takt ist:
> if rising_edge(clock_heap) then...
Eine kurze Frage dazu: Wielviele Takte verwendest du?
Wenn die Antwort größer als 1 ist, dann solltest du dir die Geschicht
mit dem Clock-Enable nochmal genauer anschauen ;-)