|
Делюсь: openMsp430 core for Cyclone-III, Demodesign+Documentation |
|
|
|
May 20 2013, 11:27
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 27-04-05
Из: Spb, Russia
Пользователь №: 4 544

|
Поднял СНК на ядре openMsp430, взятом c opencores, на альтеровском циклоне-3. Проект полностью рабочий, отсимулированный, съимплементированный и протестированный "на железе". Занимает приблизительно 8% ресурсов fpga EP3C55F484C8. Имеется документация, содержащая пошаговые инструкции по выполнению. Может использоваться как замена внешнего микроконтроллера. Возможно, заинтересует так же студентов в качестве основы для курсовика. Скачивать отсюда: http://vk.com/doc53320565_184197403Хотелось бы также получить отклик от тех, кому этот проект оказался полезным.
Сообщение отредактировал FAE - May 20 2013, 14:26
|
|
|
|
|
May 20 2013, 19:37
|

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

|
Цитата(DASM @ May 20 2013, 20:27)  Немного оффтопик, но хочу Вас как специалиста спросить. Почему ядра типа мсп, 51 и подобные кушают так много LE? Ядро Ниос2 с кешами, защитой памяти, и кучкой еще чего насколько я помню в 3000 ле лезет, а тут 5000 на детский процессор. Ну наверное потому, что Nios II разрабатывался Альтерой с учетом архитектурных особенностей целевых семейств ПЛИС, а "мсп, 51 и подобные" - нет.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
May 21 2013, 08:13
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 27-04-05
Из: Spb, Russia
Пользователь №: 4 544

|
Цитата(DASM @ May 20 2013, 20:27)  Немного оффтопик, но хочу Вас как специалиста спросить. Почему ядра типа мсп, 51 и подобные кушают так много LE? Ядро Ниос2 с кешами, защитой памяти, и кучкой еще чего насколько я помню в 3000 ле лезет, а тут 5000 на детский процессор. Уважаемый DASM, текущая конфигурация занимает всего 4443 LE, что составляет 8% LE EP3C55F, из них 3375 комбинаторных LE и 2504 регистров. Причем это все - для процессора, перифирии и блока отладки. Корректно ли сравнивать коммерческий продукт, созданный производителем FPGA командой профессионалов и оптимизированный на уровне логических ячеек и бесплатную поделку, созданную одним человеком, скорее всего, в бытность его студентом, и написанную без привязки к конкретной архитектуре на верилоге? Мне кажется, достойно удивления, что эта штука работает, причем на достаточно высокой частоте, и занимает вполне допустимое количество ресурсов. Почему такой подход в некоторых случаях предпочтительней, чем использование микроблейза или ниоса? Ответ очевиден - универсальность. Вы не привязаны к конкретной аппаратной платформе. Поэтому вы можете, например, использовать альтеру для прототипирования, а коммерческое устройство выпустить, например, на актеле (microsemi). К тому же можно обойтись стандартным toolchain_ом GCC и получить удобную и привычную среду разработки ПО. Это удобно, поскольку стандартные средства разработки как Xilinx, так и Altera громоздки, тупы и, в общем случае, дороги (последний пункт к России не относится). Поэтому сравнивать надо с имеющимися универсальными софт-процессорными ядрами, написанными на языке высокого уровня. А в этом сегменте с этим ядром все в порядке. Можно сравнить и с 32х-разрядными системами, напр. LEON и с 8-разр, напр. тот же 51. Но 8-разрядные системы мертвы, а 32х-разр. для моих целей избыточны. (Нужна 32х-разрядная система - выбирай встроенный ARM и ни очем не думай). Поэтому я сосредоточил свой выбор на 16-разр. системе. Что здесь есть? Например, ядро 80186 намного более объемное, к тому же имеет очень невысокую тактовую частоту (В 2004г. в недоброй памяти фирме "СКБ интегральных систем" для APA1000 у нас съимплементировалось всего на 6 МГц и мы были страшно этому рады. ) Всякие PICи и AVRы имеют ублюдочную архитектуру и нищебродскую систему команд. В этом отношении msp430, являясь потомком PDP-11 отличается от указанных процессоров в лучшую сторону. Он имеет неплохую архитектуру, богатую, но компактную систему команд, а адресация к портам в/в как к ячейкам памяти, на мой взгляд, удобна для СнК. Лирическое отступление: я еще помню нашу кафедральную СМ-4, середины 80х годов прошлого века, занимавшую 4 стойки, имевшую жесткий диск на 5МБ (именно МБ, а не ГБ !!!), шумяшую как реактивный самолет и зависающую каждые пол-часа. А теперь 90% из всего этого можно упаковать в размер меньше квадратного миллиметра и это уже кажется много !!! Прогресс, однако!
Сообщение отредактировал FAE - May 21 2013, 08:19
|
|
|
|
|
May 22 2013, 07:12
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 27-04-05
Из: Spb, Russia
Пользователь №: 4 544

|
Цитата(DASM @ May 22 2013, 07:52)  Не понимаю столь гневного ответа.Безусловно, работа заслуживает уважения. Я бы на данном моменте своего опыта не смог. Интерес был только в причине.Причина — оптимизация, понял, спасибо. Просто я думал, что может причиной является именно архитектура мсп ( какая нибудь неортогональность команд или что то в этом роде). Так что не воспринимайте как подколку ни в коем разе. DASM, если задел ваши чувства, искренне прошу меня извинить. Никакого гнева ни на вас, ни на кого-то другого у меня не было и нет. Наоборот, хотел ответить подробно и аргументированно. Видимо, не получилось  Что касается самой работы - ее сложность невелика, т.к. я пользовался практически всем готовым. Самому пришлось написать только верхний модуль, тестбенч и один программный тест. Основной мой вклад, на мой взгляд, это то, что я подробно задокументировал все шаги выполнения проекта. Так что прошу не обижаться и успехов в работе!
|
|
|
|
|
May 30 2013, 19:31
|
Местный
  
Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491

|
Цитата(FAE @ May 22 2013, 11:12)  DASM, если задел ваши чувства, искренне прошу меня извинить. Никакого гнева ни на вас, ни на кого-то другого у меня не было и нет. Наоборот, хотел ответить подробно и аргументированно. У вас получился замечательный, подробный и интересный ответ! Большое вам спасибо за него и вообще за тему, прочитал с большим удовольствием! Никакого гнева я в нем не увидел
|
|
|
|
|
May 31 2013, 08:59
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 27-04-05
Из: Spb, Russia
Пользователь №: 4 544

|
Цитата(SemperAnte @ May 31 2013, 12:39)  Прикольная штука, спасибо автору.
Интересно, нет ли чего подобного для PIC16? На опенкорес я видел несколько ядер PIC16. Но выбирая встроенный процессор для своих целей я остановился на MSP430. Возможно, кто-то захочет поднять PIC16 и поделиться результатом. Единственная разумная причина для этого, на мой взгляд - обеспечение совместимости с ранее написанным софтом.
|
|
|
|
|
May 31 2013, 09:16
|

Частый гость
 
Группа: Свой
Сообщений: 89
Регистрация: 24-10-10
Из: Санкт-Петербург
Пользователь №: 60 386

|
Цитата(FAE @ May 31 2013, 12:59)  На опенкорес я видел несколько ядер PIC16. Но выбирая встроенный процессор для своих целей я остановился на MSP430. Возможно, кто-то захочет поднять PIC16 и поделиться результатом. Единственная разумная причина для этого, на мой взгляд - обеспечение совместимости с ранее написанным софтом. Да, так и есть. В проекте используется связка Циклон 3 + PIC-контроллер. Интересна возможность переноса существующего кода для МК внутрь ПЛИС.
Сообщение отредактировал SemperAnte - May 31 2013, 09:28
|
|
|
|
|
May 31 2013, 12:48
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 27-04-05
Из: Spb, Russia
Пользователь №: 4 544

|
Цитата(SemperAnte @ May 31 2013, 13:16)  Да, так и есть. В проекте используется связка Циклон 3 + PIC-контроллер. Интересна возможность переноса существующего кода для МК внутрь ПЛИС. Если код написан на C, то, наверное, тип процессора не настолько критичен, чтобы его нельзя было заменить.
|
|
|
|
|
Jun 1 2013, 20:21
|
Профессионал
    
Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942

|
Цитата(FAE @ May 21 2013, 12:13)  Почему такой подход в некоторых случаях предпочтительней, чем использование микроблейза или ниоса? Ответ очевиден - универсальность. Еще бы добавил: BSD лицензия, позволяющая его использовать в коммерческих закрытых приложениях. Далеко не все процессоры на opencores.org идут под этой лицензией. А точнее их почти нет. Не говоря уже о NIOS, который платный. Не уверен, что большинство инженеров на электрониксе, или фирмы в которых они работают, приобретали лицензию. Несмотря на то, что цена разумная. В общем цену в сравнение тоже надо включать. Наш российский инженер по дурной привычке этого не делает.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|