[an error occurred while processing this directive]
|
Есть модуль, написанный на AHDL (MaxPlusII, baseline 10.0) в виде MACHINE с несколькими состояниями (нечто вроде генератора с задаваемой диаграммой). Он один с подключенными входами/выходами и составляет проект на ACEX1K (EP1K50TC144-2). У него есть параметр в виде константы. Так вот, значение этой константы присваивается внутренней переменной типа DFF в одном из состояний MACHINE. Судя по симулятору (чисто программно, без железяки) все работает как надо, тактовая подается 80 МГц. Решил посмотреть временной анализ (registered perfomance). Он мне показал 70,42 МГц (макс). Подумал, может выезжает на задержках, взял побыстрее корпус -1. На нем вышло 88,49 МГц (макс). На симуляторе работает точно аналогично предыдущему - как надо. Вопрос 1: почему в первом случае работало, если вроде как быстродействия не хватало?
Потом попробовал (в первом варианте) и заменил вышеупомянутую константу с 5 на 4. Перекомпилил. Проверяю быстродействие - 60 МГц с копейками (а было-то 70,42 МГц). Вопрос 2: это что нормально, если да то с чего бы это?
Вопрос 3: А как вообще относится к симулятору и временному анализу Альтеры? Кто из них ближе к истине? Или пока в реальной железяке не проверишь, - не узнаешь?
E-mail: info@telesys.ru