Jump to content

    
Sign in to follow this  
AlexBel

NIOS для начинающих

Recommended Posts

При генерации процессора в QSys графическое отображение всегда новое. Собираю процессор. Получаю графический блок который размещаю в графической схеме верхнего уровня. Делаю соединения с процессором. Потом что-нибудь в проц добавляю или меняю, проц пересобираю - получаю новое графическое отображение и которого все выводы перетасованы. Приходится по новой разбираться со всеми соединениями. Можно сделать так, чтоб например порядок выводов в epcs контроллере не менялся при перегенерации ниоса, как это было в SOPC-Builder?

Share this post


Link to post
Share on other sites
Можно сделать так, чтоб например порядок выводов в epcs контроллере не менялся при перегенерации ниоса, как это было в SOPC-Builder?

дык оно и в билдере такое частенько случалось. выкиньте уже схематик, используйте HDL. Qsys генерит шаблон

Share this post


Link to post
Share on other sites
....Получаю графический блок....Можно сделать так, чтоб...?

Используйте на всех уровнях HDL, например, verilog. Перешагните этот языковый барьер и забудьте навсегда о графике для проектов на ПЛИС, и у Вас никогда не будет подобных и многих других проблем.

Я давно использую только HDL и большинство так делают: свободы и ясности намного больше…

Share this post


Link to post
Share on other sites
да я бы с удовольствием........... но указание сверху "Верхний уровень должен быть в схематике" ((

тогда сделайте промежуточный HDL модуль-обертку, и графическое представление используйте его, а не то, что генерируется автоматически

Share this post


Link to post
Share on other sites
тогда сделайте промежуточный HDL модуль-обертку, и графическое представление используйте его, а не то, что генерируется автоматически

О!!! Спасибо за идею!

Share this post


Link to post
Share on other sites

А есть инструкция у альтеры (или не у альтеры) как собирать процессор NIOS в Qsys? Например есть подробная инструкция как сделать процессор с DDRII контроллером в SOPC-Builder. А как тоже самое собрать в Qsys?

 

Попробовал методом тыка - не работает. В sopc ddr добавляю - автоматом подцепляются s1. А в qsys кроме s1 ещё куча всяких сигналов. Куда их подводить? Сделал ход конём: создал процессор в sopc и конвертировал его в qsys-e - проц заработал. А если полностью создаю в qsys-e - не работает. Сравниваю с трансформированным - вроде всё одинаково, но проц не работает.

Edited by juvf

Share this post


Link to post
Share on other sites

У меня, например, та же история с прерывания. Ставлю VIC на два прерывания. При генерации bsp в system.h на всех прерываниях стоит -1. В итоге ничего не работает, даже если вручную меняю на нужные.

Если создаю ту же систему в SOPC билдере - работает все нормально. Портирую SOPC-> Qsys - работает! создаю с нуля тоже самое в Qsys- не работает! :biggrin:

 

А зачем вообще сделали столько лишних проводов? Tristate вообще мудреный стал.. :cranky:

Share this post


Link to post
Share on other sites

у меня не было особых проблем с Qsys. работает и ddr2, и epcs. с VIC - да, есть проблема (не смотрел еще на последнем сервис-паке), даже тему создавал http://electronix.ru/forum/index.php?showtopic=90968. если есть проблема с назначением проводов, могу выложить пример проекта

Share this post


Link to post
Share on other sites
у меня не было особых проблем с Qsys. работает и ddr2, и epcs.... если есть проблема с назначением проводов, могу выложить пример проекта

А можно ваш проект как образчик посмотреть?

 

У меня такая проблема.... Написал тест озу ддр2. Разместил всё в ончип. работает. и после вкл питания, и в дебаге. В дебаге наблюдаю в вкладке Memory свою ддр2. пишу в неё, читаю. Потом решил разместить код в ддр2..... пытаюсь дебажить..... при запуске дебага ошибка. elf загружается в ддр, но не проходит верефикацию...... иногда верификация проходит удачно, но дальше ошибка с сообщением

assertion "m_state == STATE_DEBUG" failed: file "nios2oci.cpp", line 237
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00

С тамбурином похожу вокруг платы.... ни чего не меняя с очередной попытки проскочит это место и вроде начнет выполняться программа, но не останавливается на main. где-то выполняется. остановлю руками, попробую прочитать/записать в ддр - работает. Не понятно где косяк.

 

Думал что не так тайменги выставил в ддрКонтроллере, но когда всё в ончип - работает же. на ночь оставлял тест ддр - ни одного сбоя. А под дебагом грузится в ддр - не работает. Куда копать? Есть смысл ковырять тайменги в контроллере ддр? Или фазу ддр клоков подвигать? И что может быть за глюк?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this