Некоторые причины, по которым в проекте Vivado может не удаваться найти критический путь:
- Асинхронность тактовых сигналов. fpga-systems.ru Тактовые сигналы считаются синхронными, если они формируются внутри FPGA из одного источника. fpga-systems.ru Для асинхронных и мезохронных сигналов невозможно точно рассчитать значения, поэтому временной анализ имеет смысл проводить только для синхронных тактовых сигналов. fpga-systems.ru
- Отсутствие синхронизаторов. fpga-systems.ru Чтобы гарантировать правильность передачи между асинхронными доменами, данные должны проходить через специальные синхронизаторы, например, через сдвоенные триггеры. fpga-systems.ru При формировании отчёта о CDC Vivado просматривает netlist и пытается найти между доменами синхронизаторы, и в случае их отсутствия выводится соответствующее замечание. fpga-systems.ru
- Слишком плотная упаковка логики. www.01signal.com Стоит быть осторожным, если логика кажется слишком плотно упакованной в целом или в каком-то конкретном регионе. www.01signal.com
Чтобы исключить путь из временного анализа, можно воспользоваться командой setfalsepath. fpga-systems.ru Флаг -from указывает начало пути, а флаг -to — его конец. fpga-systems.ru