У меня есть дизайн контроллера Serial-ATA, работающий практически на любых устройствах серии Xilinx 7, за исключением устройства Artix-7, которое вызывает у меня головную боль ...
Чистая конструкция (SATA 6,0 Гбит / с, тактовая частота 150 МГц) может быть реализована на моем Artix-7 200T. Если я добавлю ядра ILA (ранее известные как ChipScope), время не будет соблюдено.
Что я сделал, чтобы смягчить ситуацию: - добавил 2 этапа конвейера в каждом ядре ILA - добавил 1 этап конвейера между приемопередатчиком GTP и логикой - использовал ретайминг, переназначение и широкое размещение в качестве альтернативной стратегии реализации
Эти изображения показывают нормальный дизайн потока. Ядра ILA находятся далеко от SATAController (SATAC) и 8-битного CPU ( SoFPGA ), но у контроллера все еще есть ошибочные пути (это единственная область с ошибочными путями).
Такое ощущение, что Artix-7 не хватает ресурсов маршрутизации в некоторых областях. Как я могу получить отчет с указанием такого подозрения?
Я также попытался использовать ретайминг, переназначение и более широкие стратегии размещения. Результат таков:
Ошибка синхронизации почти такая же ...
PS В проекте используется только 178 из> 300 BlockRAM. Я использовал Xilinx ISE, чтобы использовать почти все BlockRAM в других проектах, но я никогда не сталкивался с таким поведением.
Редактировать:
Вот тепловая карта всех отрицательных значений провисания для среза (выделена красным)
Ответы:
Вы можете получить подробный отчет, выполнив анализ дизайна в Xilinx Vivado. Выполните следующую команду в консоли tcl: «report_design_analysis». Она дает вам отчет о сроках, сложности и загруженности реализованного проекта. Вы также можете запустить этот отчет, перейдя в Инструменты-> Отчет-> Отчет Design_analysis.
В этом отчете вы можете увидеть, какие области вызывают заторы из-за размещения. Какие ломтики полностью используются или что такое аренда таких ломтиков и / или маршрутов.
Я надеюсь, что это помогло.
С уважением, KWQ
источник