Zsyntetyzowałem małe urządzenie, aby przetestować wnioskowanie block-tryna.
Dostałem wiadomość od XST:
Będzie to mała pamięć RAM realizowane na LUT w celu maksymalizuj wydajność i oszczędzaj blok Zasoby RAM. Jeśli chcesz wymusić jego realizacja na bloku, wykorzystanie opcja / constraint ram_style.
Jednak nie wiem, gdzie znaleźć tę opcję / ograniczenie w ISE (11.1 w moim przypadku) lub w plikach ograniczeń ...
Nie chcę używać atrybutów VHDL bezpośrednio w moim kodzie.
Odpowiedzi:
5 dla odpowiedzi № 1W twoim katalogu projektu znajdziesz plik o nazwie "twój-projekt.xst". Możesz dodać następujące elementy na końcu listy (lub gdziekolwiek po "uruchomieniu"):
-ram_style block # ( | auto | distributed )
-rom_style block # ( | auto | distributed )
Powinny one upewnić się, że otrzymasz mapowanie BRAM zamiast rozproszonej pamięci RAM (co oznacza pamięć opartą na LUT).
Ta opcja również może się przydać:
-auto_bram_packing yes # ( | no )
Pamiętaj, że każdy z nich musi znajdować się w osobnym wierszu, a będziesz musiał usunąć "#" i cokolwiek przyjdzie po tym.
Jeśli używasz GUI ISE, przejdź do
Synthesis -> Process Properties -> HDL options
i wybierz powyższe opcje.
(BTW, próbujemy uruchomić witrynę poświęconą FPGA ... rozważ wsparcie ... http://area51.stackexchange.com/proposals/20632/programmable-logic-and-fpga-design?referrer=YmxhQ2OJUo-FAaI1gMp5oQ2)
2 dla odpowiedzi nr 2
run -ram_style BLOCK może zrobić lewę w linii poleceń.