Mam projekt kontrolera Serial-ATA działający na prawie każdym urządzeniu z serii Xilinx 7, z wyjątkiem urządzenia Artix-7, które sprawia mi ból głowy ...
Czysty projekt (SATA 6.0Gb / s, zegar projektowy 150 MHz) może być zaimplementowany w moim Artix-7 200T. Jeśli dodam rdzenie ILA (wcześniej znane jako ChipScope), czas nie zostanie spełniony.
Co zrobiłem, aby złagodzić sytuację: - dodano 2 etapy rurociągu w każdym rdzeniu ILA - dodano 1 etap rurociągu między transceiverem GTP a logiką - zastosowałem retiming, remap i szerokie rozmieszczenie jako alternatywną strategię wdrażania
Te obrazy pokazują normalny przebieg projektu. Rdzenie ILA są daleko od SATAController (SATAC) i 8-bitowego procesora ( SoFPGA ), ale kontroler nadal ma ścieżki wadliwe (to jedyny region z wadliwymi ścieżkami).
Wydaje się, że w niektórych obszarach Artix-7 nie ma zasobów do routingu. Jak mogę uzyskać raport wskazujący na takie podejrzenie?
Próbowałem też stosować metody Retiming, Remap i szersze strategie rozmieszczania. Rezultat jest następujący:
Błąd synchronizacji jest prawie taki sam ...
PS Projekt wykorzystuje tylko 178 z> 300 BlockRAMów. Użyłem Xilinx ISE, aby użyć prawie każdego BlockRAMu w innych projektach, ale nigdy nie spotkałem się z takim zachowaniem.
Edytować:
Oto mapa cieplna wszystkich ujemnych wartości luzu na plaster (kolor czerwony)
Odpowiedzi:
Możesz uzyskać szczegółowy raport, wykonując analizę projektu w Xilinx Vivado. Uruchom następującą komendę w konsoli tcl: „report_design_analysis” Daje raport czasu, złożoności i przeciążenia wdrożonego projektu. Możesz także uruchomić ten raport, przechodząc do Narzędzia-> Raport-> Raport Analiza_projektów.
W tym raporcie możesz zobaczyć, które obszary powodują zatory spowodowane umieszczaniem. Które plastry są w pełni wykorzystywane lub jaka jest czynsz za takie plastry i / lub trasy.
Mam nadzieję, że to pomogło.
Pozdrawiam, KWQ
źródło