В предыдущем наборе инструментов Xilinx FPGA, который назывался ISE, у вас была возможность изменять таблицу затрат на размещение (PCT), что приводит к различному расположению логических ячеек, что приводит к различным результатам синхронизации.PCT можно было повторять в разных прогонах реализации (с использованием SmartXplorer), где он останавливался до тех пор, пока не было найдено PCT с действительными результатами синхронизации.
Xilinx отбросил эту стратегию из-за неэффективности в больших FPGA (как, например, в вашем устройстве Virtex 7).Но у вас есть несколько предопределенных стратегий, которые также можно запускать параллельно.Просто откройте Настройки реализации и попробуйте разные стратегии и посмотрите, работает ли одна из них.
Если нет, вам придется оптимизировать свой дизайн на уровне HDL.В целом, конвейерная обработка - это хорошая стратегия, но она сильно зависит от вашего кода.В общем, вам нужно уменьшить большие комбинационные конструкции, и ваш оператор case с 1024 записями является таким кандидатом для большой комбинационной конструкции.
Редактировать: См. Xilinx UG904, чтобы получить обзор и краткое описание различных стратегий реализации..