3D-масивів Port (природний діапазон <>)

V

vollbr0t

Guest
Привіт, я хотів би створити модуль (А) з 3d-масив порт. Щоб створити масив-порт я повинен використовувати packge оголосити тип масиву. Я роблю це так: ТИП test_type є масив (природного ареалу, природний ареал, природний діапазон) std_logic, я повинен використовувати "природного ареалу" для всіх трьох вимірах, тому portwidth знаходиться в залежності від дженериків передається: особа є загальним (gen_1: природно: = 5, gen_2: природно: = 6, gen_3: натуральний: = 7); порт (матриці: В test_type (gen_1 downto 0, gen_2 downto 0, gen_3 downto 0)); моделювання прекрасно працює з цим , але в синтезі я отримую "Матриці поки не підтримується" на 3D-Порт-Line. Через необхідність "природного ареалу" я не можу використовувати підтип для оголошення в пакет і, пройшовши дженериків в пакет, щоб не використовувати природного ареалу не представляється можливим. Чи є у вас ідея отримати це syenthesis? З повагою, Ян
 
Єдина відповідь, полягає у використанні іншого synthesisor. багатовимірні масиви не використовуються дуже часто, а деякі synthesisors можуть не підтримувати їх. Чому synthesisor і якої версії ви використовуєте? Але моє запитання, чому ви зробили 3d матриця std_logic? чому немає ви зробили 2-матриця std_logic_vector?
 
Я не не думаю, що його можна заявити щось подібне до цього: TYPE test_type є масив (природного ареалу, природні діапазон) std_logic_vector (природного ареалу); * редагування Я використовую ISE 13,2
 
1. Ви повинні встановити довжину std_logic_vector при її оголошенні, тому він повинен бути: тип test_type є масив (природного ареалу, природні діапазон) std_logic_vector (7 downto 0); якщо ви не можете знайти VHDL 2008 сумісна synthesisor, де ви можете залишити std_logic_vector як природного ареалу. Я хотів би уникнути про масивах std_logic - це робить життя трохи дратує. 2. Я не використовую ISE, але я знаю, Quartus (Altera), ймовірно, підтримує його. Xilinx знаменитий тим, що трохи повільно, щоб наздогнати і всі інші!
 
але це проблема: всі три виміри повинні бути спільні!
 
Ви можете зробити м'який тип. наприклад: std_logic_vector (M * N * P-1 downto 0), а потім виконати індексацію, щоб отримати конкретні елементи.
 

Welcome to EDABoard.com

Sponsor

Back
Top