|
|
  |
Nios II. Custom Instructions, Кто уже освоил? |
|
|
|
Apr 3 2008, 08:07
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Всем привет! Безусловно, супер полезная вещь. Пытаюсь внедрить в свой Nios II (Q71.SP2) согласно ug_nios2_custom_instruction.pdf, но не получается. В итоге, уже при редактировании cpu в закладке Custom Instructions, выдаеются такие сообщения “Error: cpu.custom_instruction_master/cpu_sss_inst.nios_custom_instruction_slave: Connection dangling at end” В качестве исходного беру, например, такой sss.v: module sss (x,y); input [31:0] x; output [31:0] y; assign y=~x+1; endmodule При описании компанента устанавливаю в закладке Signals tab следующее: - для x: nios_custom_instruction_slave, dataa, 32, input - для y: nios_custom_instruction_slave, result, 32, output
В целом стараюсь придерживаться ug_nios2_custom_instruction.pdf , так как других вроде бы нет.. Заметил, что при создании в SOPC File->New Component.. выявляются несоответствия между отображаемой в SOPC информацией и тем, что описано в этом документе. Например, перед окончательным нажатием Finish нет сообщения Component "<design name>" is ok, что на стр.3-7. Вместо него есть Info: No errors or warnings. Что я делаю не так, может, кто из уже освоивших CI подскажет?
|
|
|
|
|
Apr 3 2008, 16:03
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Цитата(Stewart Little @ Apr 3 2008, 18:07)  Может, у Вас старый pdf (в смысле, для старой версии)? Скачайте с альтеровского сайта новый, они там довольно часто обновляются. Спасибо. но я брал ug_nios2_custom_instruction.pdf от 04.05.07 здесь http://www.altera.com/literature/lit-sop.jsp, более свежего там не было. Кроме отмеченного выше, по ходу процесса в этой доке отличается также фиг.3-4, что на стр.3-6. Я конечно проверю и в Q61. Но у меня небольшая просьба, у кого есть возможность, проверить ввод этой небольшой Custom Instruction и в Q72. А может наша "лицензия" чего-то не понимает...
|
|
|
|
|
Apr 4 2008, 16:00
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(Волощенко @ Apr 3 2008, 19:03)  но я брал ug_nios2_custom_instruction.pdf от 04.05.07 здесь http://www.altera.com/literature/lit-sop.jsp, более свежего там не было. Да, это старая дока. При переходе с v6 на v7 в SOPC Builder была сделана туева хуча изменений. Фактически, теперь это совсем другой пакет. Написал в Альтеру, чтобы сделали новую доку. Будем ждать. Цитата(Волощенко @ Apr 3 2008, 19:03)  проверить ввод этой небольшой Custom Instruction и в Q72. Проверил в 7.2 SP3. Cообщение ”Error: cpu.custom_instruction_master/cpu_sss_inst.nios_custom_instruction_slave: Connection dangling at end” - это не страшно. Это всего лишь говорит о том, что у Вас пока еще никуда не подключен Custom Instruction Master порт. Если в фильтре разрешить показыват порты Custom Instructions, то это буде наглядно отображено. После добавления инструкции в настройках процессора и закрытии окна редактирования процессора подключение осуществляется автоматически и это сообщение исчезает. Зато появляется другое : " Error: cpu_<имя_инструкции>_inst: Failed to analyze port width." Почему такая бяка возникает, я пока не разобрался. На след. неделе попробую побороться. Цитата(Волощенко @ Apr 3 2008, 19:03)  А может наша "лицензия" чего-то не понимает... Думаю, что лицензия здесь совершенно не при чем. Лицензия може играть роль только при генерировании исходников скриптами или при синтезе. А тут дело ни до того, ни до другого не доходит. Цитата(Stewart Little @ Apr 4 2008, 18:49)  Зато появляется другое : "Error: cpu_<имя_инструкции>_inst: Failed to analyze port width." Почему такая бяка возникает, я пока не разобрался. На след. неделе попробую побороться. Разобрался. Лечится закрытием SOPC Builder'а и повторным открытием. После этого система успешно генерируется. Переводим это из разряда багов в разряд фичей v7.2  . Надеюсь, в v8.0 поправят.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Apr 4 2008, 17:57
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Цитата(Stewart Little @ Apr 4 2008, 19:00)  Проверил в 7.2 SP3. ................. Cообщение ”Error: cpu.custom_instruction_master/cpu_sss_inst.nios_custom_instruction_slave: Connection dangling at end” - это не страшно. Это всего лишь говорит о том, что у Вас пока еще никуда не подключен Custom Instruction Master порт. Если в фильтре разрешить показыват порты Custom Instructions, то это буде наглядно отображено. После добавления инструкции в настройках процессора и закрытии окна редактирования процессора подключение осуществляется автоматически и это сообщение исчезает. Зато появляется другое : " Error: cpu_<имя_инструкции>_inst: Failed to analyze port width." Почему такая бяка возникает, я пока не разобрался. На след. неделе попробую побороться. ................ Разобрался. Лечится закрытием SOPC Builder'а и повторным открытием. После этого система успешно генерируется. Переводим это из разряда багов в разряд фичей v7.2  . Надеюсь, в v8.0 поправят. Большое спасибо за помощь, но у меня вопросы: 1. Как в фильтре разрешить показывать порты Custom Instructions. Это что, установить галочки на всех опциях в меню Wiev для SOPC? Я их установил, но ничего не увидел, может это где-то в другом месте, не нашел. Наверное кроме отображения этих портов нужно еще что-то сделать... 2. Так как у меня не вышло предыдущее действие, то не получилось и добавление инструкции... Так что если можно немного подробней, пожалуйста. где и что нажать.
|
|
|
|
|
Apr 7 2008, 06:55
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Цитата(Stewart Little @ Apr 4 2008, 19:00)  Проверил в 7.2 SP3. Сообщение ”Error: cpu.custom_instruction_master/cpu_sss_inst.nios_custom_instruction_slave: Connection dangling at end” - это не страшно. Это всего лишь говорит о том, что у Вас пока еще никуда не подключен Custom Instruction Master порт. Если в фильтре разрешить показывать порты Custom Instructions, то это буде наглядно отображено. Да, это видно, что не подключен (см.jpq-эскиз). Кнопка "Filter.." справа на этом эскизе. Цитата(Stewart Little @ Apr 4 2008, 19:00)  После добавления инструкции в настройках процессора и закрытии окна редактирования процессора подключение осуществляется автоматически и это сообщение исчезает. Сообщение исчезает всегда, после закрытия окна редактирования процессора. Цитата(Stewart Little @ Apr 4 2008, 19:00)  Зато появляется другое : "Error: cpu_<имя_инструкции>_inst: Failed to analyze port width." Этого сообщения я так и не увидел. Цитата(Stewart Little @ Apr 4 2008, 19:00)  Разобрался. Лечится закрытием SOPC Builder'а и повторным открытием. После этого система успешно генерируется. Переводим это из разряда багов в разряд фичей v7.2  . Надеюсь, в v8.0 поправят. После закрытия/открытия ничего положительного и обнадеживающего, у меня так и не появилось... //--------------------------- Что еще заметил. В директории проекта после всех этих манипуляций к существующему файлу sss.v с текстом моей Custom Instruction, генерируется еще файл sss_hw.tcl. Так вот, в его заголовке первая строка такая # TCL File Generated by Component Editor 7.2sp1 on:, хотя то Sopc с SP3. Может здесь причина, то есть все уже давно с SP3. в скрипт файл с SP1.... //--------------------------- Попробовал внедрить Custom Instruction вместе с Q_61. Действительно, там по другому и вроде замечаний нет. Но там нет обратного перехода проекта от Q_72 к Q_61, тоже головная боль, и все как-то совсем иначе… Оставлю этот вариант на потом, если уже совсем в Q_72 моя затея никак не выйдет. //--------------------------- Вот еще здесь на niosforum подымался аналогичный вопрос, я там тоже спрашивал, но пока никто не ответил http://forum.niosforum.com/forum/index.php?showtopic=7994
Эскизы прикрепленных изображений
|
|
|
|
|
Apr 7 2008, 10:14
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(Волощенко @ Apr 7 2008, 10:55)  Что еще заметил. В директории проекта после всех этих манипуляций к существующему файлу sss.v с текстом моей Custom Instruction, генерируется еще файл sss_hw.tcl. Так вот, в его заголовке первая строка такая # TCL File Generated by Component Editor 7.2sp1 on:, хотя то Sopc с SP3. Может здесь причина, то есть все уже давно с SP3. в скрипт файл с SP1.... Нет, это совершенно не при чем. В v7.2 sp3 Ваш пример работает, система генерируется. Скорее всего Вы что-то не доделываете или в процессе создания компонента инструкции пользователя, или при добавлении ее к процессору.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|