Czy istnieje sposób użycia predefiniowanych typów z STD_LOGIC_1164 lub STD_NUMERIC do reprezentowania liczby całkowitej od 0 do 2^32-1? (biorąc pod uwagę domyślny typ całkowity z zakresu od -2^31-1 do 2^31-1)Jak reprezentować liczbę całkowitą większą niż integer'high?
Potrzebuję wprowadzić 32-bitowy licznik i szukałem sposobu na zapisanie kodu przy użyciu typu całkowitego zamiast std_logic_vector .. Dowolny wzór tego?
Lub, lepiej zapytał: Jak najlepiej deklarować 32-bitową (bez podpisu) liczbę całkowitą obsługującą operacje>/<, =, + - /?
Tahnks z góry
Edit1: Jedną z opcji znalazłem zadeklarować sygnał jako std_logic_vector (31 downto 0) i wykonywać konwersje, gdy robi porównań + lub - operacje .. ex: Counter < = licznik + std_logic_vector (unsigned (value) + 1). Nadal nie znalazłem sposobu na podział (w przypadku, gdy na przykład potrzebna jest 1/4 wartości licznika)
Preferuj numeric_std na std_logic_vector, gdzie możesz. Aby podzielić na 4 (lub potęgę 2), spójrz na operatorów zmian w numeric_std lub samodzielnie pokrój wektor. wyjście <= "00" i wejście (31 do 2); –