Я создаю довольно сложный модуль, который включает в себя временный анализ 2 модулей, каждый из которых имеет свой собственный алгоритм, но принимает в качестве входных данных 2 подписанных числа и выводит подписанное число.Настройка рабочей частоты модуля в Verilog
Я проектирую этот модуль для FPGA в Verilog, используя Xilinx в качестве инструмента для синтеза. Теперь я понимаю, что Xilinx обычно дает худший анализ времени для любого модуля. Это означает, что если у меня есть диапазон чисел, который принимает 250 пикосекунд, от ввода к выходу, включая время маршрутизации, если есть даже один набор входов, который занимает 400 пикосекунд, анализ времени, показанный Xilinx, будет составлять 400 пикосекунд.
Моя цель состоит в том, чтобы найти:
1) Если модуль 1 быстрее, чем модуль 2 для любого набора чисел.
1) Диапазон чисел, для которых модуль 1 быстрее, чем модуль 2.
Единственный логический подход я могу думать о том, за счет увеличения рабочей частоты модуля. Это вынуждает оба модуля давать свои выходы после 300 пикосекунд, а не 400 пикосекунд.
Очевидно, что если я увеличиваю рабочую частоту, некоторые из входов в тестовом стенде выдадут ошибочные выходы. Моя гипотеза заключается в том, что сначала модуль, который начинает выдавать ошибочные ответы, имеет алгоритм.
Так что мои сомнения:
1) Можно ли увеличить рабочую частоту модуля в Verilog использованием Xilinx (некоторые настройки, которые я должен накладывать на процессе синтеза или анализа). Если нет, есть ли лучший инструмент, который будет выполнять мой анализ времени?
2) Является ли этот подход жизнеспособным? Если не считать синтеза уровня ворот, используя Cadence, есть ли в любом случае, я могу узнать фактический анализ временной задержки для каждого набора подписанных чисел для каждого затвора с помощью Verilog?
Вы правы. В большинстве случаев это самый важный случай. Тем не менее, я пытаюсь найти средний сценарий. Вот почему мне нужно знать конкретный анализ времени для определенного диапазона входных данных. –