Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Системная ошибка в проекте
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
RLC
Доброй пятницы форумчане.
Есть проект на 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
Цитата(RLC @ May 27 2016, 14:01) *
В общем я так понял что то коренным образом я делаю нетак. Помогите разобраться, куда копать?

Временные ограничения хотя бы на тактовую частоту задавали?
RLC
Цитата(bogaev_roman @ May 27 2016, 15:14) *
Временные ограничения хотя бы на тактовую частоту задавали?

TimeQuest не пользуюсь. Поэтому туда не заглядывал. Единственное что знаю что он не видит моих Glob clock совсем, только tck_clk и всё. Я так понял что не обязательно кодировать sdc файлы. Тут на форуме любят констрэйны.
bogaev_roman
Цитата(RLC @ May 27 2016, 15:32) *
Тут на форуме любят констрэйны.

Ну это же вроде софтовый процессор, откуда компилятор изначально узнает на какой частоте он должен работать? Может там не 108МГц, а 500 и, соответственно, будет все разводиться по другому, не будут выполняться временные ограничения и будут ошибки. В Вашем случае так, судя по всему, и происходит. И дело тут не в любви к ограничениям, а в том что при проектировании на ПЛИС правильное описание ограничений - это одно из необходимых условий гарантированной правильной работы устройства.
RLC
Цитата(bogaev_roman @ May 27 2016, 15:40) *
о при проектировании на ПЛИС это одно из необходимых условий при проектировании.

Для меня это вновинку. В Ниосе есть параметер в котором указана частота. я думал чо этого должно быть достаточно.
bogaev_roman
Цитата(RLC @ May 27 2016, 15:44) *
Для меня это вновинку. В Ниосе есть параметер в котором указана частота. я думал чо этого должно быть достаточно.

Я с софтовыми процессорами давно дело не имел, возможно от настроечной частоты какие-то параметры внутри меняются, но думаю, что она все равно должна быть прописана в ограничениях. Знающие люди поправят, если я неправ. А вообще эта тема скорее к этому разделу http://electronix.ru/forum/index.php?showforum=164
Swup
Выглядит, как проблема с времянками.

В вашем случае можно поступить очень просто. Создайте файл 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
Цитата(Swup @ May 27 2016, 16:39) *
Выглядит, как проблема с времянками.

Вы имеете ввиду что дело в описании модулей а не в синтезе процессора?

Заработало. В TimeQuest появились мои выходные частоты. Некоторые из них окрашены красным. В целом мне отчёт ни о чём не говорит, кроме того что явно красный это не хорошо.
Swup
Отчет показывает не соответствие длин triger-to-triger, предъявленным требованиям setup/hold. Т.е. Красным подсвечены линии которые медленно работают.
Почитайте вот эти четыре статьи. Они ответят на многие ваши вопросы. И это вам очень поможет в дальнейшем.
http://www.kit-e.ru/articles/plis/2010_9_51.php

ПС По простому можно сориентироваться на рассчитанную частоту Fmax для проблемного домена, и использовать ей.
RLC
Цитата(Swup @ May 30 2016, 10:49) *
Почитайте вот эти четыре статьи. Они ответят на многие ваши вопросы. И это вам очень поможет в дальнейшем.
http://www.kit-e.ru/articles/plis/2010_9_51.php

Спасибо, я их уже начал читать. Спасибо за помощь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.