2010-11-15 9 views
0

J'essaie de réutiliser des listes de réseaux dans d'autres conceptions sans succès.Préserver les largeurs de ports

J'ai un composant qui se traduit à la netlist:

entity c is 
    port (... sel : in std_logic_vector(31 downto 0); ...); 

Dans la conception que je me sers juste sel (4 downto 0). Les outils de synthèse remarque ce comportement et donne un avertissement:

'WARNING:Xst:647 - Input sel<31:5> is never used ..

Je suis générer netlist propriétés:

  • donjon hiérarchie = true
  • ajouter des tampons d'E/S = off

Chaque fois que je veux instancier cette netlist en tant que module de boîte noire dans un autre circuit, j'ai une erreur:

ERROR:NgdBuild:76 - cannot be merged into block because one or more pins on the block, including pin "sel<31>", were not found in the file.

Comment puis-je conserver la taille de sel? Je dois mentionner que le sel doit avoir une largeur de 32 bits puisqu'il est connecté au bus.

Répondre

2

Vous pouvez essayer de ramener les ports d'entrée inutilisés à zéro.

+0

Je suis d'accord, il suffit d'utiliser une affectation continue et le conduire à tout ce qui conviendra à votre conception. –

1

Pouvez-vous utiliser le composant directement plutôt que comme une boîte noire pré-synthétisée?

Vous pouvez obtenir des choses à travailler en mettant un attribut KEEP (voir votre manuel d'outils de synthé) sur le port. Je n'ai jamais essayé que ça sur les signaux, mais ça peut marcher. Ce type de tâche est souvent décrit comme "poussant sur la corde" du synthétiseur, car il est si difficile de ne pas être aussi bon qu'il le souhaite (et ensuite dans la prochaine version des outils besoin d'un attribut différent :)

Questions connexes