La préservation de la largeur des ports
Question
Je suis en train de netlists réutilisation dans d'autres modèles sans succès.
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:
'AVERTISSEMENT: Xème: 647 - sel entrée <31: 5> est jamais utilisé ..
Je génère netlist propriétés:
- keep hiérarchie = true
- ajouter E / S tampons = off
Chaque fois que je veux instancier ce netlist comme module boîte noire dans un autre circuit que je suis une erreur:
ERREUR: NgdBuild:. 76 - ne peuvent être fusionnées dans le bloc, car une ou plusieurs broches sur le bloc, y compris la broche "sel <31>", sont introuvables dans le fichier
Comment puis-je conserver la taille de sel? Je dois mentionner que les besoins de sel pour être 32bits largeur car il est connecté au bus.
La solution
Vous pouvez essayer de conduire les ports d'entrée inutilisés à zéro.
Autres conseils
Pouvez-vous utiliser le composant directement au lieu comme une boîte noire pré-synthétisée?
Vous pouvez faire avancer les choses au travail en mettant un attribut KEEP (voir vos outils de synthé manuel) sur le port. Je ne l'ai jamais essayé cela sur les signaux, mais il peut fonctionner.
Ce type de tâche est souvent décrite comme « pousser sur la corde » du synthétiseur, car il est une douleur pour obtenir de ne pas être aussi celever qu'il veut être (puis dans la prochaine version des outils dont vous avez besoin un attribut différent:)