Gast
#1459808
Hallo ich bin ein neuling was VHDL angeht und ich habe da ein Problem. Es wäre super wenn mir jemand eine Hilfestellung geben könnte. Ich möchte in einem Programm 16 Zähler Herunterzaehlen. Ich hab mir das so gedacht, dass ich ein Array einbinde, welches 16 Adressen enthält und wo ich in jeder Adresse jeweils Integer Werte von 40000 herunterzählen lasse. Leider gibt mir das Programm Libero welches ich benutze immer den folgenden Fehler aus: C:/Actel/Work/UART_APB_state_machine/hdl/Master.vhd(108): ERROR: type integer does not match with a string literal (VHDL-1276) Hier mal der Auszug aus meinem Code: type array_Timeout is Array (3 downto 0) of integer range 40000 to 0; signal array_Timeout_Sicherungsmesswerte : array_Timeout; if array_Timeout_Sicherungsmesswerte("0000") > 0 then array_Timeout_Sicherungsmesswerte("0000") <= array_Timeout_Sicherungsmesswerte("0000") - 1 ; else array_Timeout_Sicherungsmesswerte("0000") <= 0; Ich möchte sozusuagen wenn der Integer Wert groesser als 0 ist ihn immer um 1 herunterzaehlen. Ansonsten soll er auf 0 gesetzt werden.Hier will ich quasi das erste Feld in meinem Array ("0000") ansprechen und diesen Counter herunterzaehlen. Ich weiß nicht ob das ueberhaupt so geht die Adressen (sozusagen die 16 Felder des Arrays) als std_logic Vector zu deklarieren aber die Inhalte der Adressen mit Integer Zahlen zu befüllen Falls jemand Idee hat wäre ich sehr dakbar. Viele Grüße Steve