RLC 0 27 мая, 2016 Опубликовано 27 мая, 2016 · Жалоба Доброй пятницы форумчане. Есть проект на NIOS II /f QSYS Quartus 12.1. В проекте кроме NIOS еще on-chip RAM,куча pio, Avalon MM Slave Transfer. + pio c IRQ, JTAG-UART и SignalTap Частота из PLL 108 Мгц. Отлаживаюсь на DE0-NANO Cyclone IV. Плис занята от половины и больше, в зависимости от наблюдаемых сигналов в SignalTap. Проект развивается и я дописываю к процессору интерфейсы. Во время очередного дописывания у меня перестал выходить на связь с JTAG-UART NIOS. При этом код на Си сократил до одной строчки: alt_printf("\n\nHello"); сам доделанный модуль никак не влияет на сам JTAG-UART, просто синхронизирует сигналы с выхода pio. После этого я убрал этот модуль и всё заработало, потом я добавил сигналы в SignalTap и опять тоже самое только с боку: лампочки на плате весело горят по ходу программы а вывода нет. В общем я так понял что то коренным образом я делаю нетак. Помогите разобраться, куда копать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 27 мая, 2016 Опубликовано 27 мая, 2016 · Жалоба В общем я так понял что то коренным образом я делаю нетак. Помогите разобраться, куда копать? Временные ограничения хотя бы на тактовую частоту задавали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RLC 0 27 мая, 2016 Опубликовано 27 мая, 2016 (изменено) · Жалоба Временные ограничения хотя бы на тактовую частоту задавали? TimeQuest не пользуюсь. Поэтому туда не заглядывал. Единственное что знаю что он не видит моих Glob clock совсем, только tck_clk и всё. Я так понял что не обязательно кодировать sdc файлы. Тут на форуме любят констрэйны. Изменено 27 мая, 2016 пользователем RLC Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 27 мая, 2016 Опубликовано 27 мая, 2016 · Жалоба Тут на форуме любят констрэйны. Ну это же вроде софтовый процессор, откуда компилятор изначально узнает на какой частоте он должен работать? Может там не 108МГц, а 500 и, соответственно, будет все разводиться по другому, не будут выполняться временные ограничения и будут ошибки. В Вашем случае так, судя по всему, и происходит. И дело тут не в любви к ограничениям, а в том что при проектировании на ПЛИС правильное описание ограничений - это одно из необходимых условий гарантированной правильной работы устройства. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RLC 0 27 мая, 2016 Опубликовано 27 мая, 2016 · Жалоба о при проектировании на ПЛИС это одно из необходимых условий при проектировании. Для меня это вновинку. В Ниосе есть параметер в котором указана частота. я думал чо этого должно быть достаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 27 мая, 2016 Опубликовано 27 мая, 2016 · Жалоба Для меня это вновинку. В Ниосе есть параметер в котором указана частота. я думал чо этого должно быть достаточно. Я с софтовыми процессорами давно дело не имел, возможно от настроечной частоты какие-то параметры внутри меняются, но думаю, что она все равно должна быть прописана в ограничениях. Знающие люди поправят, если я неправ. А вообще эта тема скорее к этому разделу http://electronix.ru/forum/index.php?showforum=164 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Swup 0 27 мая, 2016 Опубликовано 27 мая, 2016 · Жалоба Выглядит, как проблема с времянками. В вашем случае можно поступить очень просто. Создайте файл name_file.sdc derive_clock_uncertainty create_clock -period 50MHz -name {input_clk} [get_ports {input_clk}] derive_pll_clocks input_clk - пин на который подключен кварц, 50MHZ соответственно его частота. Подключаете файл к проекту в квартусе. Это займет у вас 30 секунд и возможно решит проблему. Дальше можно смотреть отчет time quest. Дополнять ограничения, переделывать систему, переписывать код... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RLC 0 27 мая, 2016 Опубликовано 27 мая, 2016 · Жалоба Выглядит, как проблема с времянками. Вы имеете ввиду что дело в описании модулей а не в синтезе процессора? Заработало. В TimeQuest появились мои выходные частоты. Некоторые из них окрашены красным. В целом мне отчёт ни о чём не говорит, кроме того что явно красный это не хорошо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Swup 0 30 мая, 2016 Опубликовано 30 мая, 2016 · Жалоба Отчет показывает не соответствие длин triger-to-triger, предъявленным требованиям setup/hold. Т.е. Красным подсвечены линии которые медленно работают. Почитайте вот эти четыре статьи. Они ответят на многие ваши вопросы. И это вам очень поможет в дальнейшем. http://www.kit-e.ru/articles/plis/2010_9_51.php ПС По простому можно сориентироваться на рассчитанную частоту Fmax для проблемного домена, и использовать ей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RLC 0 30 мая, 2016 Опубликовано 30 мая, 2016 · Жалоба Почитайте вот эти четыре статьи. Они ответят на многие ваши вопросы. И это вам очень поможет в дальнейшем. http://www.kit-e.ru/articles/plis/2010_9_51.php Спасибо, я их уже начал читать. Спасибо за помощь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться