Dove forzare Xilinx ISE utilizzare a blocchi cilindri?
Domanda
I sintetizzato un piccolo dispositivo per testare l'inferenza blocco-ram.
ho ricevuto un messaggio da XST:
Il piccolo RAM sarà implementato su LUT per massimizzare le prestazioni e risparmiare blocco risorse RAM. Se si vuole forzare sua attuazione sul blocco, uso / vincolo ram_style .
Tuttavia, non so dove trovare questa opzione / vincolo sia in ISE (11.1 nel mio caso) oppure in file vincolo ...
Non voglio usare VHDL attributi direttamente nel mio codice.
Soluzione
Nella directory del progetto, troverete un file chiamato "your-design.xst". È possibile aggiungere il seguente alla fine della lista (o in qualsiasi dopo il "run"):
-ram_style block # ( | auto | distributed )
-rom_style block # ( | auto | distributed )
Si dovrebbe fare in modo che si sta andando ad ottenere la mappatura BRAM invece di RAM distribuita (il che significa che la memoria LUT-based).
Questa opzione potrebbe anche rivelarsi utile:
-auto_bram_packing yes # ( | no )
Si ricordi che ciascuno di quelli deve essere su una linea di loro, e che avrete bisogno di rimuovere il "#" e ciò che viene dopo.
Se si utilizza la GUI ISE, vai a
Synthesis -> Process Properties -> HDL options
e scegliere le opzioni di cui sopra c'è.
(A proposito, stiamo cercando di avviare un sito dedicato a SE FPGA ... considerano lo sostiene ... http://area51.stackexchange.com/proposals/20632/programmable-logic-and-fpga-design?referrer=YmxhQ2OJUo-FAaI1gMp5oQ2 )
Altri suggerimenti
eseguire BLOCK -ram_style può fare il trucco in linea di comando.