Preservando le larghezze delle porte
Domanda
Sto cercando di ri-uso netlists in altri disegni, senza il successo.
Ho un componente che si traduce per la netlist:
entity c is
port (... sel : in std_logic_vector(31 downto 0); ... );
Nella progettazione sto usando solo sel (4 downto 0). Gli strumenti di sintesi accorge questo comportamento e dà un avvertimento:
'ATTENZIONE: Xst: 647 - sel ingresso <31: 5> viene mai usato ..
sto generando netlist con proprietà:
- gerarchia mastio = true
- aggiungere I / O buffer = off
Ogni volta che voglio creare un'istanza di questo netlist come modulo black-box in altro circuito ho ottenuto un errore:
ERRORE: NgdBuild:. 76 - non può essere fusa in blocco perché uno o più perni sul blocco, tra pin "sel <31>", non sono stati trovati nel file
Come faccio a conservare la dimensione di Sel? Devo dire che le esigenze SEL per essere larghezza 32bit dal momento che è collegato al bus.
Soluzione
Si potrebbe provare a guidare le porte di ingresso non utilizzate a zero.
Altri suggerimenti
Si può utilizzare il componente direttamente invece di come un pre-sintetizzato black-box?
È possibile far funzionare le cose mettendo un attributo KEEP (vedi gli strumenti synth manuale) sulla porta. Ho sempre e solo provato questo su segnali, ma potrebbe funzionare.
Questo tipo di attività viene spesso descritto come "spingere sulla corda" del sintetizzatore, come è un dolore per farlo non essere così celever come vuole essere (e poi nella prossima release di strumenti necessari un attributo diverso:)