[an error occurred while processing this directive]
|
Привет ZG ! Спасибо за подробный ответ. Что-то похожее я и подозревал, но думал что ошибки происходят на стадии глобальной оптимизации во время синтеза. Почему мне и казалось что использовав инкрементальный синтез без группировки логики это можно побороть. Если же дело в маппинге, очевидно логику придется группировать и использовать guided mode для map и par. Вопрос можно ли этого избежать. Не хотелось бы добавлять в проект лишний и далеко неочевидный шаг группировки и привязки логики. Можно ли как-то отключить оптимизацию маппинга ? А вообще странные вещи творятся. Тот же Xilinx при модульном дизайне рекомендует окружать регистрами каждый модуль. А ты говоришь что регистр все равно выкидывается маппером. Жаль нет у меня FPGA editor-a, не входит он в WebPack, но наверно можно перегнать ngc в edif, а потом в Альдеке edif в bde и таким образом посмотреть что происходит. Кстати не мог бы ты закинуть минимальный примерчик, иллюстрирующий такие баги ? И главный вопрос КАК ТЫ САМ С ЭТИМ БОРЕШСЯ ? Используешь guided mode ? Или есть подход более удобный ?
А с симуляцией в Альдеке увы, я поступаю точно так как ты и советуешь. Проблема тут в другом. После синтеза проект неузнаваемо искажается. Если сигналы на входах и выходах смотреть можно столь же просто как на функциональной модели, то при желании залезть внутрь приходится по полчаса искать нужный сигнал. Да, его найти можно, но уж очень тяжко. А желание посмотреть что происходит внутри возникает всегда, когда убеждаешся что модель работает неверно :) Именно поэтому я обычно ограничиваюсь функциональными моделями. Там внутренности легко доступны. Думал может кто-нибудь подскажет как легко ориентироваться во внутренностях postsyntesis/timing-моделей ? Увы, выводить наружу какие-то внутренние сигналы для наблюдения - тоже не вариант. Потому что это изменение проекта, которое может изменить его функционирование до неузнаваемости.
E-mail: info@telesys.ru