tablicy zmienna indeksu w VHDL?

T

TechSpec

Guest
Hi, Xilinx nie ma forum, aby zapytać o VHDL więc oto jestem. Byłem trochę sfrustrowany, jak radzić sobie tablicę z pewien sposób. Nie jestem dobra w wyjaśnianiu tego, ale spróbuję. I allready czerwone wielu forach, ułatwienia w programowaniu itp., ale żaden z nich wyjaśnić, jak do zmiennej indeks 2d-tablicy. Mam krótkie bardzo uproszczony przykład kodu, jest to zasadniczo to, co usiłuję zrobić: - - pamięci typu array (INTEGER zakres) std_logic_vector (0 do 3); control_array sygnał: pamięci (0 do 4), - - begin - - control_array (store_data)
 
sztuk z jednego kodu: ... wykorzystania ieee.std_logic_arith.all; .... Write_Addr: w std_logic_vector (addr-1 downto 0); .... typu ram_type jest array (0 na głębokość-1) z std_logic_vector (szerokość-1 downto 0); sygnał tmp_ram: ram_type; .... tmp_ram (conv_integer (Write_Addr))
 
Witaj, dzięki za cynk .. Zmieniłem to wyglądać tak: .... DATA: w std_logic_vector (3 downto 0); CHANNEL: w std_logic_vector (3 downto 0); .... typu ram_type jest array (3 downto 0) z std_logic_vector (3 downto 0); sygnał tmp_ram: ram_type; .... tmp_ram (conv_integer (CHANNEL))
 
wydaje mi się, że: CHANNEL: w std_logic_vector (3 downto 0); oznacza o "0" ~ o "7", w międzyczasie: ram_type typu array (3 downto 0) z std_logic_vector (3 downto 0); rozmiar = array ( 3 downto 0) = 4. Może dlatego niedopasowania rozmiaru?
 
Liczba lokalizacji "CHANNEL" może adres jest 16, jak to jest 4 bity szeroki. Natomiast typ ram tylko 4 miejsca. stąd ostrzeżenie
 
spróbuj tego: - ram_type typu array (0 na głębokość-1) z std_logic_vector (szerokość-1 downto 0); sygnał tmp_ram: ram_type; sygnał cnt: integer zakresie od 0 do głębokości-1; tmp_ram (cnt)
 

Welcome to EDABoard.com

Sponsor

Back
Top