Перейти к содержанию
    

Системная ошибка в проекте

Доброй пятницы форумчане.

Есть проект на 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 и опять тоже самое только с боку: лампочки на плате весело горят по ходу программы а вывода нет. В общем я так понял что то коренным образом я делаю нетак. Помогите разобраться, куда копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем я так понял что то коренным образом я делаю нетак. Помогите разобраться, куда копать?

Временные ограничения хотя бы на тактовую частоту задавали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Временные ограничения хотя бы на тактовую частоту задавали?

TimeQuest не пользуюсь. Поэтому туда не заглядывал. Единственное что знаю что он не видит моих Glob clock совсем, только tck_clk и всё. Я так понял что не обязательно кодировать sdc файлы. Тут на форуме любят констрэйны.

Изменено пользователем RLC

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут на форуме любят констрэйны.

Ну это же вроде софтовый процессор, откуда компилятор изначально узнает на какой частоте он должен работать? Может там не 108МГц, а 500 и, соответственно, будет все разводиться по другому, не будут выполняться временные ограничения и будут ошибки. В Вашем случае так, судя по всему, и происходит. И дело тут не в любви к ограничениям, а в том что при проектировании на ПЛИС правильное описание ограничений - это одно из необходимых условий гарантированной правильной работы устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

о при проектировании на ПЛИС это одно из необходимых условий при проектировании.

Для меня это вновинку. В Ниосе есть параметер в котором указана частота. я думал чо этого должно быть достаточно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для меня это вновинку. В Ниосе есть параметер в котором указана частота. я думал чо этого должно быть достаточно.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выглядит, как проблема с времянками.

 

В вашем случае можно поступить очень просто. Создайте файл 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. Дополнять ограничения, переделывать систему, переписывать код...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выглядит, как проблема с времянками.

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

 

Заработало. В TimeQuest появились мои выходные частоты. Некоторые из них окрашены красным. В целом мне отчёт ни о чём не говорит, кроме того что явно красный это не хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отчет показывает не соответствие длин triger-to-triger, предъявленным требованиям setup/hold. Т.е. Красным подсвечены линии которые медленно работают.

Почитайте вот эти четыре статьи. Они ответят на многие ваши вопросы. И это вам очень поможет в дальнейшем.

http://www.kit-e.ru/articles/plis/2010_9_51.php

 

ПС По простому можно сориентироваться на рассчитанную частоту Fmax для проблемного домена, и использовать ей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитайте вот эти четыре статьи. Они ответят на многие ваши вопросы. И это вам очень поможет в дальнейшем.

http://www.kit-e.ru/articles/plis/2010_9_51.php

Спасибо, я их уже начал читать. Спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...