Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Milkymist SoC
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
:-)
Обратил внимание на данный проект: http://milkymist.org/mmsoc.html

Но так как сам опыта в данной области не имею, хотелось бы услышать комментарии более опытных людей в этой области:
1) Можно ли опираться на данный проект, как на бесплатную альтернативу microblaze/nios?
2) Может быть кто-нибудь пытался использовать данный проект в своих целях? Интересно было бы услышать о результатах.

У самого сложилось следующее впечатление от проекта:

Проект интересный, можно запустить портированный вариант на ряде демонстрационных плат (Digilent spartan3e, ML401, Avnet spartan3a). Позволяет работать с DDR SDRAM, Ethernet, UART и т.д. Есть портированная версия ОС RTEMS (+ какие-то наработки по uCLinux). Есть симулятор на базе qemu. Вроде бы, есть поддержка отладки с помощью GDB.

Используется в проекте ЦЕРНа: http://www.ohwr.org/projects/tdc-core/repository

Из минусов: ориентирован на разработку под Linux (впрочем, для кого-то это может быть плюсом), документация есть, но, на мой взгляд, маловато.

ЗЫ Тему http://electronix.ru/forum/index.php?showt...l=lm32&st=0 видел, но старовата она.
gk2
Портировал Milkymist на starterkit на S3 500E http://www.xilinx.com/products/boards-and-...R3E-SK-US-G.htm с добавленым разъемом под SD карту, PS2 и расширеным до 12 бит VGA с целью изучения.
Так как места там мало, пришлось кое-что править, получилось вот что: процессор 50 Мгц, ДДР 100 Мгц, из БИОС по сети грузит по TFTP загрузочный образ,либо образ грузит с SD карты. Это все работает. На USB, TMU, FPU - место не хватает, для клавиатуры и мыши использовал PS2. Flickernoise - которая поверх RTEMS ( в RTEMS надо кое что править под свою конфигурацию) - запустилась, в разрешении 640х480 и 800х600. Так как TMU нет, окошки выводятся не совсем верно (по цветам). Пробовал запускать Linux из репозитория на сайте - грузится, но не до конца; может что-то не так скомпилил -памяти на плате 64M а на MM 128.
Впечатления: с окошками и меню работает довольно живо; с сетью и СД картами медленно - часть функций там выполняется програмно, зато размеры ядер небольшие, если не важно быстродействие - то самое то. Разработка под Linux - ( Ubuntu 10.04 в Virtual Box) - особо проблем нет, один раз все настроил и работаешь. Из особенностей - если собирать проект в ISE с использованием xst, то процессор с включенным кэшем работает неправильно (по крайней мере для S3E). Я собрал процессор (lm32_top) отдельно в precision и подставлял в ISE- шный проект как ядро.
Как альтернатива microblaze - я думаю да. Проект развивается, средства разработки обновляются, ошибки исправляют.
:-)
Класс! А не могли бы Вы поделиться портированной версией? У самого есть данная плата, но на портирование времени уйдёт...
gk2
Поделюсь, только надо день-другой чтобы привести все в порядок
:-)
Ого! Буду ждать с нетерпением! Спасибо!
xor.kruger
Поддерживаю просьбу :-)
Тоже с удовольствием бы на досуге посмотрел что за зверь такой sm.gif
gk2
Ну, собственно, обещаное. Файлик с пояснениями readme_ru.txt

Да, забыл сказать. Кнопка BTN SOUTH - сброс, порт PS2 кот. на плате - для мыши. Все сообщения при старте идут по COM порту - 115200 и дублируются на VGA. Общаться с платой можно по терминалу (напр Realterm ), либо с клавиатуры если она есть.
xor.kruger
Спасибо большое beer.gif Буду разбираться!
:-)
Тоже хочу сказать большое спасибо! И за подсказку с virtualbox в том числе! a14.gif
:-)
Ох, а не поможете ли простым примером программы типа "Hello World" для самых бездарных? А то, вроде бы, биос загружается, а при попытке загрузить свои импровизации на тему "hello world" через netboot все зависает.
gk2
А какой компилятор Вы используете ? Используете RTEMS ? В понедельник выложу примеры
:-)
Да, компилятор rtems-4.11, на который ссылаются с оригинального проекта. Версия для Fedora 16. Т.е. может быть это компилятор виноват... Я пока грешил на свою кривую правку файла linker.ld...

Или же это я ступил и синтезировал проект в ISE WebPack - а он там криво синтезируется?

Кстати, а не подскажите удобный способ программирования flash-памяти? Я сейчас использую проект от xilinx, основанный на picoblaze. Программирование памяти происходит через последовательный порт. Соответственно получается совсем небыстро...

ЗЫ Спасибо за помощь!
gk2
Если Вы использовали в WebPake готовый проект из папки ise124, то он собирается правильно.
Для программирования flash-памяти я использовал также COM - порт. Ускорить можно используя
usb - com ft232rl подцепив на штырьки, но больше 500 кбит сбоил. Можно ускорить записывая по частям, там 3 фрагмента.
Но вообщем это надо нечасто, поэтому сильно не занимался.

Примеры: ex.7z Чтобы его собрать, надо сначала скомпилировать БИОС - запустиь скрипт build_bios.sh из корневого каталога проекта - будут созданы необходимые библиотеки. Затем распаковать пример в папку software, зайти в папку ex и запустить make. В результате получится boot.bin он пишет в терминале ====== TEST ======. Он собственно готовый там есть, его можно сразу загружать.
fileio.7z - это пример из RTEMS. Он будет компилиться если установлена RTEMS. Ну и boot.bin в этом каталоге это готовый
пример, его можно загружать.

:-)
Ещё раз спасибо! Ваш пример заработал! 08.gif
gk2
Обновленная версия проекта для s3e-sk. Добавлены тестбенчи для моделирования.
Процессор LM32 полностью синтезируется из исходников и работает для Spartan 3, 3E, Virtex 5. Раньше из-за
ошибки в xst не работал кэш. Для Sprtan 6 и далее это поправили, а для старых чипов нет. Пришлось править
исходник.

С появлением FPGA со встроеными ARM-ядрами софтпроцессоры, наверное, утрачивают актуальность, но вдруг кому-то будет интересно.

Есть еще порты для Altera DE1 (Cyclone 2) и Genesis 2 (Virtex 5)
hwmp
Большое спасибо за обновленную версию

По-моему (системный программист с ~ 40 летним стажем), софт-процессоры со свободным исходным
кодом становятся все более важными судя по успеху Linux в нише операционных систем.
Ее клоны для разных процессоров (в том числе и софт) создали серьезную конкуренцию
платным и очень громоздким ОС в самых разных применениях

Интернет + недорогие Xilinx etc средства обеспечили возможность создания распределенных fabless-команд,
которые могут повторить успех Linux в отношении систем на кристалле.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.