[an error occurred while processing this directive]
|
Во-первых, спасибо за совет!
Воспользоваться им точно, как ты написал не смог. В некоторых имеющихся у меня примерах на VHDL, entity заканчивается словами END ENTITY - так вот, такой комбинации в файле нет, поэтому найти конец entity, в котором встречается ошибка для меня проблема. Посмотрел файл версии 621 и обнаружил там упоминание библиотеки maxplus2.vhd, где описаны компоненты CARRYи LCELL. В 701 ни разу не упоминается эта либа! Поэтому вместо поиска конца entity нашел начало, где подключаются другие либы и добавил к ним maxplus2.vhd. Действительно, ты прав – добавить пришлось дважды, чтобы столкнуть компилятор до успешного выполнения. Но получил 974 предупреждения и первый файл pof!!! Да, это после повтора компилирования, т.е. в первый раз было еще больше предупреждений, что меня крайне смутило...
Поэтому вставил maxplus2.vhd везде, где упоминалась либа ieee.std_logic_1164 – предупреждений почти столько же, но повтор компиляции стабилен. Число LC возросло примерно на 300 – это второй pof.
Залил первый pof в рабочую плату (до этого там был тот же проект но для версии 621) и ни фига – плата не обнаруживается P&P, разумеется в конфигурации совеем не то, что просил.
Залил второй pof – поехали!!! Плата пока работает нормально: конфигурация - ок , обнаруживается, регистры доступны, DMA качает. Интересно, а сколько протянет по времени? Нет ли закладок? Подключаю к проекту вместо master32 - opencore, где точно есть счетчик времени – разница в LC 5 ячеек, а я рассчитывал заметить счетчик где-то на 2^32.
Теперь сравним результаты 621 vs. 701 по затратам ресурсов (только PCI core, master32, PCI mode only).
Ver. 701 LC=1923 Reg=930 Mem=576
Ver. 621 LC=1345 Reg=616 Mem=0
При этом в документации на 701 читаем: Logic and memory usage is significantly reduced for 32bit only cores.
Итого есть вопросы:
- как задумана компиляция без вмешательства в исходник (подметание мусора после декриптора не в счет)?
- почему ресурсы увеличились?
E-mail: info@telesys.ru