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

Leon 3 + Altera + Quartus 5.1

Доброе время суток.

Для проекта взял Leon 3, тот что лежит на сайте gaisler. Последняя версия: 1.0.13.b1905.

При попытке собрать под Altera Cyclone в Quartus II 5.1 в конфигурации с использованием AHB JTAG получаю ошибки в процессе маппинга:

Error: Port "node_state_e2dr" does not exist in macrofunction "u0" File: d:/home/src/grlib-gpl-1.0.13-b1905/li
b/techmap/tap/tap_altera_gen.vhd Line: 104
Error: Port "node_state_pdr" does not exist in macrofunction "u0" File: d:/home/src/grlib-gpl-1.0.13-b1905/lib
/techmap/tap/tap_altera_gen.vhd Line: 104

 

Посмотрев описание в altera\quartus51\libraries\megafunctions\sld_virtual_jtag.v обнаружил, что там в самом деле отсутствуют эти порты (node_state_e2dr и node_state_pdr), зато есть

node_state_sir,        // output    Signals that the node is in the Shift_IR state (shared)
node_state_e1ir,    // output    Signals that the node is in the Exit1_IR state (shared)

которые отсутствуют в описании в tap_altera_gen.vhd.

Вопрос, это связано с версией Quartus? Т.е. в 6.0 версии описание sld_virtual_jtag изменилось?

Каким образом переподключить sld_virtual_jtag, чтобы оно заработало? :help:

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


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

А может для начала вообще JTAG не прикручивать. Там же поддерживается отладка через UART. А для JTAG отладки нужна покупная версия GRMON.

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


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

Ну путем ковыряния внутренностей и правки techmap/tap/tap_altera_gen.vhd удалось хотя бы собрать. Пока еще не запускал в железе, поскольку обнаружились проблемы еще при симуляции в modelsim.

Просто сейчас пытаюсь запихать в Cyclone EP1C6 базовую комплектацию с минимумом периферии, чтоб заработало, пока не придет платка с Cyclone II EP2C20.

grmon-eval работает с JTAG, только срок годности - до конца июня. Мне хватит (надеюсь).

Плохо то, что большинство вещей делаю на основании примеров - крайне скудная документация по внутренностям :(.

Как починю jtag - напишу.

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


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

Все хотел скомпилировать и залить леон в ниосовсий кит, но видать не сильно хотел.

Можно комментарии по использованию леона?

Например в сравнении с ниосом: задачи, производительность, ресурсы. Цена вопроса относительно ниоса всего 500 уе, плюс в помощь ГУИ (соп билдер).

С леоном я так понимаю все в ручную конфигурить.

В общем заинтересовала ваша работа.

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


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

Просто сейчас пытаюсь запихать в Cyclone EP1C6 базовую комплектацию с минимумом периферии,

 

И что на EP1C6 остается из grlib?

 

 

 

Все хотел скомпилировать и залить леон в ниосовсий кит, но видать не сильно хотел.

Можно комментарии по использованию леона?

Например в сравнении с ниосом: задачи, производительность, ресурсы. Цена вопроса относительно ниоса всего 500 уе, плюс в помощь ГУИ (соп билдер).

С леоном я так понимаю все в ручную конфигурить.

В общем заинтересовала ваша работа.

Не вручную. Там есть tcl/tk скрипты. Все просто и понятно.

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


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

Проект - станок с гуи, поскольку опыта в серьезных разработках нет, то в процессе поиска остановился на ПЛИС. Два варианта: Nios II + eCos + Nano X Window System и Leon 3 + eCos (RTEMS) + NXWS. Ни с чем вышеперечисленным ни разу не встречался ранее.

 

Приобрели дешевую платку TrexC1. В нее хорошо влезал Nios II 5.1 в "s" конфигурации с 4Кб кеша команд JTAG Debug Module lvl 1, контроллер SDRAM, CF, Flash, jtag_uart, uart, sysid, epcs_controller, timer. В общей сложности выходило менее 4500 ячеек. На частоте 75 MHz проц выдавал порядка 15 DMIPS.

 

Далее возникли проблемы 1) с лицензией 2) с созданием собственного компонента для SOPC Builder -

стандартный мастер компонент создавал, однако в последствие квартус вылетал при фиттинге. Поэтому вернулся к леону.

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

 

Сейчас: Leon 3 (-mmu, -dcache, -icache) + dsu + ahbctrl + ahbuart + mctrl со включенным sdctrl (ESA) + apbctrl + apbuart + irqmp.

 

Все это собралось (без оптимизаций):

Device : EP1C6Q240C8
Timing Models : Final
Total logic elements : 5,106 / 5,980 ( 85 % )
Total pins : 78 / 185 ( 42 % )
Total virtual pins : 0
Total memory bits : 16,384 / 92,160 ( 18 % )
Total PLLs : 1 / 2 ( 50 % )

Частота 50 MHz. В железе не заработала (хотелось побыстрее поковырять): при подключении по uart grmon не может установить соединение. Сейчас проверяю в modelsim - подозреваю ошибку в mctrl при работе с флешкой с шиной 8 бит - выполняется только одно чтение, вместо 4х (32 бита).

 

Общее впечатление следующее:

1) Документация скудная - есть только описание базовых компонентов grlib и их параметров, различные нюансы конфигурирования старательно опущены.

2) Красивая конфигурация при помощи xconfig, да и даже просто config, на деле мне не пригодилась, поскольку все эти if CFG_SOMEDIFNE = 1 generate.... только загромождают код, в результате, из-за небольшой ошибки в конфиге получаем трудоновылавливаемые ошибки при сборке.

3) Конфигурация системы как в SOPC Builder отсутствует - если в случае с ниосом систему за вас строит билдер, назначая все адреса устройств на шине, осуществляя подключение и отключение, то здесь этого нет.

4) Поскольку Leon - SPARC v8 процессор, то можно использовать все инструменты, доступные для спарка (gcc etc). В частности, одна из причин, по которой перестал пользовать ниосом - это странные ошибки при работе компилятора nios2-elf-gcc (при сборке модуля для ucLinux, он прописывал в поле архитектуры ELF не ALTERA_NIOSII, а странное значение 0xFF).

5) Количество открытых корок для AMBA очень мало (если сравнивать с Wishbone, конечно).

 

P.S.: Видел сравнение Leon 2 + Nios II (не помню версию), когда ниос был маленький (минимальные конфигурации обоих систем), леон выигрывал. В полной конфигурации они были наравне. Для Leon 3 такого сравнения не встречал.

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


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

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

что же в вашем понимании минимальная конфигурация?И почему в полностью конфигурируемом Леоне вы не смогли её достигнуть?

1) Документация скудная - есть только описание базовых компонентов grlib и их параметров, различные нюансы конфигурирования старательно опущены.

складывается ощущение, что grlib выложили специально, чтобы юзвери сидели и мучались. :angry2:

config.vhd+ исходники- собирайте любую систему и выбирайте для себя ньюансы.

2) Красивая конфигурация при помощи xconfig, да и даже просто config, на деле мне не пригодилась, поскольку все эти if CFG_SOMEDIFNE = 1 generate.... только загромождают код, в результате, из-за небольшой ошибки в конфиге получаем трудоновылавливаемые ошибки при сборке.

позволю не согласиться.помоему нет ничего круче, чем собирать систему изменяя только поля в config.vhd. Или для вас вариант переписывания какждый раз 5-10 исходников более подходящая альтернатива?

3) Конфигурация системы как в SOPC Builder отсутствует - если в случае с ниосом систему за вас строит билдер, назначая все адреса устройств на шине, осуществляя подключение и отключение, то здесь этого нет.

почитайте про конфигурацию устройств. Особенно раздел AHB plug&play configuration.Все он там собирает без проблем.О чем и радостно сообщит вам, если вы заведёте моделирование. Как я понял, этот этап вы пропустили.А зря.Там есть такая прикольная фича- в консоль выводятся выполняемые процом адреса и операнды.Незаменимая вещь на первых парах.

5) Количество открытых корок для AMBA очень мало (если сравнивать с Wishbone, конечно)

зато закрытых.... :) .

 

И на последок вопросик- А чем вам связка ARM+ПЛИС не устроила? или платы подходящей не было?

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


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

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

что же в вашем понимании минимальная конфигурация?И почему в полностью конфигурируемом Леоне вы не смогли её достигнуть?

 

Минимальная - так чтобы влазило в мой кристалл :biggrin:

А если серьезно, то в данный момент nios II 5.1 с необходимой мне периферией спокойно помещается в ep1c6, а leon 3 - нет. Понятно из-за чего это, но такой результат не устраивает.

 

1) Документация скудная - есть только описание базовых компонентов grlib и их параметров, различные нюансы конфигурирования старательно опущены.

складывается ощущение, что grlib выложили специально, чтобы юзвери сидели и мучались. :angry2:

config.vhd+ исходники- собирайте любую систему и выбирайте для себя ньюансы.

 

Нет, не так... Просто ее не столько, сколько хотелось бы для безболезненного написания своей системы, а не переделыванию существующих примеров.

Конкретный пример: в techmap.clocks.clkgen - реализация для альтеры: clkgen_altera, путем просмотра примеров и исходников выяснил, что внешний clk надо подавать на cgi.pllref, а не на clkin, как предполагалось. Да и описание компонента вообще напрочь отсутствует в документации.

 

Что касается config.vhd - согласитесь, что так конфигурировать можно только уже написанную систему :)

А если требуется заменить некоторые компоненты на другие? Ручками. Тогда я не вижу другого смысла в конфигурации, кроме как настройка параметров, указываемых в generics, да и то - не всех. Да, для этого случая - подойдет.

 

3) Конфигурация системы как в SOPC Builder отсутствует - если в случае с ниосом систему за вас строит билдер, назначая все адреса устройств на шине, осуществляя подключение и отключение, то здесь этого нет.

 

почитайте про конфигурацию устройств. Особенно раздел AHB plug&play configuration.Все он там собирает без проблем.О чем и радостно сообщит вам, если вы заведёте моделирование. Как я понял, этот этап вы пропустили.А зря.Там есть такая прикольная фича- в консоль выводятся выполняемые процом адреса и операнды.Незаменимая вещь на первых парах.

 

Я знаю про плюгавость. Но я говорил про другое. Адреса за вас никто назначать не будет. Никто даже не проверит, перекрываются ли они. Только при сборке возможны ошибки.

 

5) Количество открытых корок для AMBA очень мало (если сравнивать с Wishbone, конечно)

зато закрытых.... :) .

 

:) согласен

 

И на последок вопросик- А чем вам связка ARM+ПЛИС не устроила? или платы подходящей не было?

 

Я же студент :)

Такое в голову не пришло. Или платы не нашлись. Я думал, все и в плисине будет хорошо.

 

В настоящий момент, после перехода на квартус шестой версии, вернулся обратно на ниос, поскольку пропали проблемы, из-за которых не мог собрать проект со своей custom периферией. SPARC - это, конечно, хорошо... Но заставить работать леон я так и не смог. Под эмулем - все нормально, выбирает командочки, выполняет. Все работает. В железе - я не понял, где проблемы. GRMON отказывается находить флешку, похоже, проблемы с контроллером памяти, видимо, что-то не так настроил.

Altera JTAG AHB - переписал немного, но не протестировал.

В ep1c6 так и не поместилось. Если только без таймеров... но смысла тогда нет совершенно.

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

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


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

Взяли бы семейство Altera Excalibur - и не мучались. Все готово и сразу. Хотя оно и считается устаревшим, но снятия с пр-ва вроде не планируется.

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


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

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

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

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

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

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

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

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

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

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