3D-Array Port (naturlige udbredelsesområde <>)

V

vollbr0t

Guest
Hej, jeg vil gerne oprette et modul (A) med en 3d-array-port. For at oprette et array-port jeg skal bruge en packge at erklære den type array. Det gør jeg sådan her: TYPE test_type er array (naturlige udbredelsesområde, naturlige udbredelsesområde, naturlige udbredelsesområde) af std_logic, jeg er nødt til at bruge "naturlige udbredelsesområde" for alle tre dimensioner, fordi portwidth er afhængig af generika videre til A: virksomhed A er generisk (gen_1: naturlige: = 5, gen_2: naturlig: = 6, gen_3: naturlig: = 7), port (matrix: IN test_type (gen_1 downto 0, gen_2 downto 0, gen_3 downto 0)); Simuleringen virker fint med denne , men i syntese jeg får "Matrix ikke understøttet endnu" på 3D-Port-Line. På grund af den nødvendige "naturlige udbredelsesområde" Jeg kan ikke bruge subtype til erklæringen i pakken, og passerer generika til pakken for ikke at anvende naturlige udbredelsesområde er ikke mulig. Har du nogen idé om at få dette til syenthesis? Med venlig hilsen Jan
 
Det eneste svar er at bruge en anden synthesisor. multi-dimensional arrays er ikke brugt meget ofte, og nogle synthesisors muligvis ikke støtter dem. Hvorfor synthesisor og hvilken version bruger du? Men mit spørgsmål er, hvorfor har du lavet en 3D matrix af std_logic? Hvorfor er der ikke du har lavet en 2d matrix af std_logic_vector?
 
Jeg don ikke tro, at det er muligt at erklære noget som dette: TYPE test_type er array (naturlige udbredelsesområde, naturlige udbredelsesområde) af std_logic_vector (naturlige udbredelsesområde) * edit Jeg bruger ISE 13,2
 
1. du er nødt til at indstille længden af ​​std_logic_vector når du erklære den, så det ville være: Type test_type er array (naturlige udbredelsesområde, naturlige udbredelsesområde) af std_logic_vector (7 downto 0), medmindre du kan finde en VHDL 2008 kompatibel synthesisor, hvor du kan forlade std_logic_vector som naturlige udbredelsesområde. Jeg ville undgå at erklære arrays af std_logic - det gør livet lidt irriterende. 2. I dont bruge ISE, men jeg kender quartus (Altera) ville sikkert støtte det. Xilinx er kendt for at være lidt langsom til at indhente alle andre!
 
men dette er problemet: alle tre dimensioner skal være generiske!
 
du måske nødt til at lave en soft-type. fx: std_logic_vector (M * N * P-1 downto 0), og derefter udføre den indeksering for at få specifikke emner.
 

Welcome to EDABoard.com

Sponsor

Back
Top