Я сталкивался с подобными проблемами несколько раз за всю свою карьеру. Даже если первоначальный инженер был доступен, было бы сложно выяснить, почему что-то было сделано, например, в нескольких последних проектах.
Обычно причина root была связана со сроками и / или проблемами области со стандартом. клеточная библиотека или синтезатор. В вашем конкретном случае c похоже, что 40-битный компаратор был менее эффективен, чем использование принудительного 41-битного вычитателя. Это все еще может быть правдой.
Вы должны сделать пробный синтез и синхронизировать аналитиков. Независимо от результатов, добавьте более содержательный комментарий в код, объясняющий рациональность, чтобы он имел смысл при проверке кода, и тот, кто наследует код последним. Даже если компаратор на этот раз более эффективен. Следующий технологический узел или цель fpga могут снова отличаться. Лучше иметь как с одним закомментированным, так и с хорошими комментариями, объясняющими это.