3D-Array Port (aire de répartition naturelle <>)

V

vollbr0t

Guest
Salut, Je voudrais créer un module (A) avec un port 3d-tableau. Pour créer un tableau-port que je dois utiliser un packge de déclarer le type de tableau. Je le fais comme ceci: test_type TYPE est un tableau (plage naturelle, aire de répartition naturelle, aire naturelle) de std_logic; je dois utiliser "aire naturelle" pour les trois dimensions parce que le portwidth est fonction de génériques passé à un: l'entité A est générique (gen_1: naturel: = 5, gen_2: naturel: = 6, gen_3: naturel: = 7); port (matrice: EN test_type (gen_1 downto 0, gen_2 downto 0, gen_3 downto 0)); La simulation fonctionne très bien avec ce , mais dans la synthèse de i get "Matrix n'est pas encore supporté" sur le 3D-Port-Line. En raison de la nécessaire "aire naturelle" Je ne peux pas utiliser le sous-type pour la déclaration dans le paquet, et en passant les génériques à l'ensemble de ne pas utiliser aire de répartition naturelle n'est pas possible. Avez-vous la moindre idée d'obtenir cette syenthesis d'? Meilleures salutations, Jan
 
La seule réponse est d'utiliser un autre synthesisor. tableaux multi-dimensionnels sont pas très souvent utilisé et certaines synthesisors ne peut pas les soutenir. Pourquoi la version synthesisor et ce que vous utilisez? Mais ma question est: pourquoi avez-vous fait une matrice 3D de std_logic? Pourquoi havent vous avez fait une matrice 2D de std_logic_vector?
 
Je ne pense pas que sa possible de déclarer quelque chose comme ceci: test_type TYPE est un tableau (plage naturelle, aire naturelle) de std_logic_vector (aire naturelle); * modifier J'utilise ISE 13.2
 
1. vous devez régler la longueur de la std_logic_vector quand vous le déclare, il faudrait: test_type type est array (aire naturelle, aire naturelle) de std_logic_vector (7 downto 0); à moins que vous pouvez trouver un langage VHDL 2008 synthesisor compatibles, où vous pouvez laisser le std_logic_vector que la gamme naturelle. Je voudrais éviter de déclarer des tableaux de std_logic - elle rend la vie un peu ennuyeux. 2. Je ne utilisez ISE, mais je sais Quartus (Altera) serait probablement le soutenir. Xilinx est réputé pour être un peu lent pour rattraper tout le monde!
 
mais c'est le problème: les trois dimensions doivent être génériques!
 
vous pourriez avoir à faire un type soft-. ex: std_logic_vector (M * N * P-1 downto 0), et ensuite effectuer l'indexation d'obtenir des objets spécifiques.
 

Welcome to EDABoard.com

Sponsor

Back
Top