Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Порекомендуйте какое-нибудь softcore
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Страницы: 1, 2, 3
slog
Нужен небольшой софт процессор для обслуживания юзер-интерфейса. Большая производительность не нужна, хватило бы и 8-ми разрядного. Основные требования - нормальные крос-тулзы для программирования на Си, небольшой размер, бесплатность. NIOS бы отлично подошёл, но он требует лицензии. В некоторы странах это важно. crying.gif Предпочтительно бы стандартное ядро типа AVR или 51-х. На opencores много всякого - но что-то всё не то. Не знаю что выбрать. Направьте пожалуйста на путь истинный...
Postoroniy_V
Цитата(slog @ Sep 2 2008, 14:26) *
Нужен небольшой софт процессор для обслуживания юзер-интерфейса. Большая производительность не нужна, хватило бы и 8-ми разрядного. Основные требования - нормальные крос-тулзы для программирования на Си, небольшой размер, бесплатность. NIOS бы отлично подошёл, но он требует лицензии. В некоторы странах это важно. crying.gif Предпочтительно бы стандартное ядро типа AVR или 51-х. На opencores много всякого - но что-то всё не то. Не знаю что выбрать. Направьте пожалуйста на путь истинный...

от латиса взять
MICO8
или
MICO32
и под себя заточить

вот ещё
ZPU ?
правда он не 8-и битный
Features

* Small size: 442 LUT @ 95 MHz after P&R w/32 bit datapath Xilinx XC3S400
* Wishbone
* Code size 80% of ARM Thumb
* GCC toolchain(GDB, newlib, libstdc+)
* eCos embedded operating system support
zltigo
Цитата(slog @ Sep 2 2008, 07:26) *
Направьте пожалуйста на путь истинный...

В каком чипе собираетесь его разместить? Какие ресурсы предполагаете ему отдать?
des00
Цитата(slog @ Sep 2 2008, 00:26) *
На opencores много всякого - но что-то всё не то. Не знаю что выбрать. Направьте пожалуйста на путь истинный...


Если с си компилятором, то возьмите xsoc16. проект старый, неплохо вылизанный.
vetal
Тема неоднократно поднималась! Пользуйтесь поиском.
PS: tiny16, OpenUp...
608
Цитата(zltigo @ Sep 2 2008, 09:10) *
В каком чипе собираетесь его разместить? Какие ресурсы предполагаете ему отдать?

Хорошо бы узнать ответы.

И еще пара вопросов:
- кто-то реально применял в FPGA от Альтеры какие-либо софт-процессоры отличные от Ниосов? Какие реальные результаты и впечатления?
- чем лучше все отличное от Ниоса, если такие софт-процы имеется? Какая выгода в освоении этого нового, при дефиците времени?
slog
Цитата
от латиса взять
...
и под себя заточить

Эх, "точить" то вот нет желания.
Цитата
В каком чипе собираетесь его разместить? Какие ресурсы предполагаете ему отдать?

Чип то хоть и жирный весьма - EP2C35, но процу много не отдам. Жадный я. Больше всего жалко внутренней памяти. Если серьёзно - можно конечно и отдать несколько тысяч LUT, есть пока лишние, но я не вижу смысла тратить много ресурсов на такую задачу. Надо реагировать на кнопки, переключать режимы работы логики, делать калибровку, связь с компом и прочие мелочи.
Цитата
Если с си компилятором, то возьмите xsoc16. проект старый, неплохо вылизанный.

Что-то на этот xsoc16 в гугле всего одна ссылка на www.fpgacpu.org Чего он такой не популярный?
Цитата
Тема неоднократно поднималась! Пользуйтесь поиском.

Да я тут уже почти всё перечитал. Много всяких софтпроцов есть. Разбираться со всеми нет никакого желания и времени. Мне хочется взять один да и пользоваться, и чтоб побыстрее освоить. Пока понятнее всего дела обстоят с NIOS-ом. И документации куча, и софт и всё что хочешь. Если бы не лицензия...
А тему еще одну создал потому что лень разбираться в этих десятках существующих процов.
И еще потому что вот вопрос:
Цитата
Какая выгода в освоении этого нового, при дефиците времени?
vetal
Цитата
А тему еще одну создал потому что лень разбираться в этих десятках существующих процов.

На то она и халява, что на блюдечке не подают! Хотите дешевле - разбирайтесь, не хотите разбираться - покупайте.
Postoroniy_V
Цитата(slog @ Sep 2 2008, 18:24) *
Эх, "точить" то вот нет желания.

Чип то хоть и жирный весьма - EP2C35, но процу много не отдам. Жадный я. Больше всего жалко внутренней памяти. Если серьёзно - можно конечно и отдать несколько тысяч LUT, есть пока лишние, но я не вижу смысла тратить много ресурсов на такую задачу. Надо реагировать на кнопки, переключать режимы работы логики, делать калибровку, связь с компом и прочие мелочи.

Что-то на этот xsoc16 в гугле всего одна ссылка на www.fpgacpu.org Чего он такой не популярный?

Да я тут уже почти всё перечитал. Много всяких софтпроцов есть. Разбираться со всеми нет никакого желания и времени. Мне хочется взять один да и пользоваться, и чтоб побыстрее освоить. Пока понятнее всего дела обстоят с NIOS-ом. И документации куча, и софт и всё что хочешь. Если бы не лицензия...
А тему еще одну создал потому что лень разбираться в этих десятках существующих процов.
И еще потому что вот вопрос:

и вот ещё
http://electronix.ru/forum/index.php?showtopic=40408
и
Цитата
Какая выгода в освоении этого нового, при дефиците времени?

никакой выгоды.
не хотите точить - платите бабки и наоборот, вообщем vetal уже всё сказал
slog
А есть тут люди которые разбирались с AVR_core c opencores.org ?
Вот оно http://www.opencores.org/projects.cgi/web/avr_core/overview

Стоит ли на него "подсесть"? Или есть более правильные варианты.

PS. пардон за назойливость. мой опыт в softcore никакой, поэтому времени на разборки придётся потратить не мало. жалко тратить в пустую.
Postoroniy_V
Цитата(slog @ Sep 3 2008, 15:00) *
А есть тут люди которые разбирались с AVR_core c opencores.org ?
Вот оно http://www.opencores.org/projects.cgi/web/avr_core/overview

Стоит ли на него "подсесть"? Или есть более правильные варианты.

PS. пардон за назойливость. мой опыт в softcore никакой, поэтому времени на разборки придётся потратить не мало. жалко тратить в пустую.

хм...как то хохмы ради собирал оттуда pavr...заняло поболее ниоса 3-4 тыщи...и это без возможности отладки и т.д.и т.п.
авр от BSACPLD весит 2400-2600 во втором и третьем циклоне
кто из них более правильный х.з...
Builder
Цитата(slog @ Sep 2 2008, 08:26) *
Нужен небольшой софт процессор для обслуживания юзер-интерфейса. Большая производительность не нужна, хватило бы и 8-ми разрядного. Основные требования - нормальные крос-тулзы для программирования на Си, небольшой размер, бесплатность. NIOS бы отлично подошёл, но он требует лицензии. В некоторы странах это важно. crying.gif Предпочтительно бы стандартное ядро типа AVR или 51-х. На opencores много всякого - но что-то всё не то. Не знаю что выбрать. Направьте пожалуйста на путь истинный...

По мне, так если Вам принципиально подходит NIOS, то берите его, не такие он и большие деньги стоит, зато все средства отладки и разработки получаете сразу.
klop
Цитата(slog @ Sep 3 2008, 09:00) *
А есть тут люди которые разбирались с AVR_core c opencores.org ?
Вот оно http://www.opencores.org/projects.cgi/web/avr_core/overview

Стоит ли на него "подсесть"? Или есть более правильные варианты.

PS. пардон за назойливость. мой опыт в softcore никакой, поэтому времени на разборки придётся потратить не мало. жалко тратить в пустую.


Если это то что я думаю то неплохой вариант. Правда ета штука более подходит для ASIC чем для FPGA. Второй недостаток - JTAG OCD там не бесплатный. Люди ваявшие на етом ядре ASICи платили деньги именно за него. Лучше всего просто связаться с автором и все прояснить.
maior
Могу дать два взаимоисключающих совета:
1. Отладку софта через джей-таг может обеспечить только Альтера - поэтому Найос - вне конкуренции.
Лично я бы никогда не взялся городить какой-либо опен-софт-кор без обеспечения возможности отладки последующих программ - пусть даже и простых: в конце-концов себе (и вашему предприятию!) дороже станет.
2. Если все-таки денег на Найос нет - то я смотрел бы в сторону резидентных ЮАРТ отладчиков-мониторов, которыми пользовались все у кого не было денег на внутрисхемные эмуляторы в эпоху до появления джей-тагов. Такие мониторы были, например, для 80С188 или для 8051. Достаточно взять любой из 8051 коров, приделать к нему ЮАРТ, небольшую отладочную память (прямо в плисе) и использовать (приспособить) готовый такой монитор так, как будто у вас стоит обычный внешний 8051. Думаю, что сами мониторы можно найти в сети.
И еще: вариант отладки софта через хардварный симулятор (Моделсим) рекомендую даже не рассматривать - сплошной геморрой, я, например, это уже проехал. Сначала это выглядело красиво, а потом обрыдло! (Другое дело отлаживать хард через софт встроенного в плис просессора, если он уже присутствует в системе и работоспособен).
Postoroniy_V
Цитата(maior @ Sep 6 2008, 03:50) *
Могу дать два взаимоисключающих совета:
1. Отладку софта через джей-таг может обеспечить только Альтера - поэтому Найос - вне конкуренции.
Лично я бы никогда не взялся городить какой-либо опен-софт-кор без обеспечения возможности отладки последующих программ - пусть даже и простых: в конце-концов себе (и вашему предприятию!) дороже станет.
2. Если все-таки денег на Найос нет - то я смотрел бы в сторону резидентных ЮАРТ отладчиков-мониторов, которыми пользовались все у кого не было денег на внутрисхемные эмуляторы в эпоху до появления джей-тагов. Такие мониторы были, например, для 80С188 или для 8051. Достаточно взять любой из 8051 коров, приделать к нему ЮАРТ, небольшую отладочную память (прямо в плисе) и использовать (приспособить) готовый такой монитор так, как будто у вас стоит обычный внешний 8051. Думаю, что сами мониторы можно найти в сети.
И еще: вариант отладки софта через хардварный симулятор (Моделсим) рекомендую даже не рассматривать - сплошной геморрой, я, например, это уже проехал. Сначала это выглядело красиво, а потом обрыдло! (Другое дело отлаживать хард через софт встроенного в плис просессора, если он уже присутствует в системе и работоспособен).

если речь идёт о том что - взял ядро и начал работать-отлаживать, то я согласен с вами.
тоесть без лишнего гемора только с ниос можно возиться
только вот у альтере есть такая штука как virtual jtag
описание тут
http://www.altera.com/literature/ug/ug_virtualjtag.pdf
а вот тут идёт обсуждение оного(leon3+virtual jtag)
http://electronix.ru/forum/index.php?showtopic=26941
Stas
У кого есть регистрация на www.opencores.org пожалуйста залейте на ftp папку с ZPU и папку с FPU (FPU100). Спасибо.
Doka
Stas
а что там уже за регистрацию деньги требуют????
makc
Заливается в /pub/FPGA/_IPcores_/SoftCores
Добавление: Залил.
Stas
2 Doka: Пытался получить пароль в течении недели - не дождался.
2 Makc: Большое спасибо.
Doka
Stas
значит проверку на _не_робот_ не прошли, судя по тому что мне в течении суток выслали - имхо, там всёже человек сидит валидирует: проверяет осмысленность введённых данных.
alexf
Цитата(slog @ Sep 1 2008, 22:26) *
Нужен небольшой софт процессор для обслуживания юзер-интерфейса. Большая производительность не нужна, хватило бы и 8-ми разрядного.


Еще один вариант. Altium Designer включает несколко корок с очень хорошими
отладочными средствами, если конечно пользоваться их тулзами. Есть е частности
51 а так же z80 которым я пользоввался и пользуюсь. Там же неплохой С компилятор
для них.

А вот когда все (программа) отлажено, можно подменить CPU на одноименный с opencores.
Т80 например очень неплохо работает.
Aprox
Цитата(slog @ Sep 3 2008, 10:00) *
PS. пардон за назойливость. мой опыт в softcore никакой, поэтому времени на разборки придётся потратить не мало. жалко тратить в пустую.

Советую посмотреть здесь тред "Не дурят ли нашего брата". Там был предложен наиболее эффективный по затратам ресурсов и времени вариант- разместить небольшой ARM микроконтроллер вне FPGA и связать их между собой, например по SPI. Если совсем уж грамотно делать, то на этот-же микроконтроллер возложить хранение конфигурации и начальную загрузку FPGA. Для вашего случая клавиатур, дисплея и связи с компом- это идеальное решение. Плюс, получаете неплохую защиту от сдира проекта.
slog
Если конкретно про этот случай, из-за которого появилась эта тема, то вариант с отдельным процом не приемлем вообще, и даже не рассматривается. По ряду веских причин. А о трудозатратах тема очень субьективная, кому что проще сделать зависит от предыдущего опыта.
Aprox
Цитата(slog @ Sep 28 2008, 13:08) *
Если конкретно про этот случай, из-за которого появилась эта тема, то вариант с отдельным процом не приемлем вообще, и даже не рассматривается. По ряду веских причин. А о трудозатратах тема очень субьективная, кому что проще сделать зависит от предыдущего опыта.
Если раньше не имели опыта с микроконтроллерами, то конечно будет нелегко в освоении. Но, мне кажется, в этом случае(отсутствие опыта с микроконтроллерами) осваивать софтпроцессоры FPGA будет еще трудозатратнее.
slog
Мой опыт с микроконтроллерами в разы больше чем с FPGA. Там все налаженно-накатано. И я прекрасно представляю как просто работается со стандартными контроллерами. Куча компиляторов, отладчиков, документации и готовых наработанных библиотек. Но бывает и так что можно использовать только softcore. Поэтому и появилась эта тема.
Aprox
Цитата(slog @ Sep 28 2008, 17:26) *
.... Но бывает и так что можно использовать только softcore. Поэтому и появилась эта тема.

Если не секрет, то какие практические обстоятельства жизни принуждают только к софткору? Я очень интересуюсь этим вопросом и так до конца его и не выяснил.
Stewart Little
Цитата(Aprox @ Sep 29 2008, 11:30) *
Если не секрет, то какие практические обстоятельства жизни принуждают только к софткору? Я очень интересуюсь этим вопросом и так до конца его и не выяснил.

К примеру, защита проекта от супостата с использованием SHA-1.
slog
Цитата(Aprox @ Sep 29 2008, 11:30) *
Если не секрет, то какие практические обстоятельства жизни принуждают только к софткору? Я очень интересуюсь этим вопросом и так до конца его и не выяснил.

Причина 1
Есть готовый девайс. Внешних процессоров там нет а есть большая FPGA. Надо сделать User Interface.
Есть другой девайс с самой маленькой FPGA EP2C5 и в ней 4/5 места свободно, и для удобства реализации протокола в неё бы мелкий проц всунуть было бы удобно. Зачем тут внеший?

Еще можно придумать много причин для разных случаев, но одной этой достаточно.
И это уже было в теме "не дурят ли нашего брата" да и в других тоже периодически вспыхивают религиозные войны.
Aprox
Цитата(slog @ Sep 29 2008, 12:15) *
Причина 1
Есть готовый девайс. Внешних процессоров там нет а есть большая FPGA. Надо сделать User Interface.

Железный аргумент. Подозреваю, что он единственный в поддержку софтпроцессора в FPGA.
Postoroniy_V
Цитата(Aprox @ Sep 29 2008, 21:51) *
Железный аргумент. Подозреваю, что он единственный в поддержку софтпроцессора в FPGA.

видимо не судьба вам понять sad.gif
Цитата
Есть готовый девайс. Внешних процессоров там нет а есть большая FPGA. Надо сделать User Interface

и если бы вы сходили по ссылке которую вам дал slog
то вы бы наверное/может быть/скорей всего поняли о чём вам "талдычат", но вам как и всегда просто нас...ть на аргументы/доказательство и прочее...
вообщем да... увы и ах...
а про тему не восприятия верилога это ваще песня biggrin.gif
Aprox
Цитата(Postoroniy_V @ Sep 29 2008, 18:03) *
видимо не судьба вам понять sad.gif
и если бы вы сходили по ссылке которую вам дал slog
то вы бы наверное/может быть/скорей всего поняли о чём вам "талдычат", но вам как и всегда просто нас...ть на аргументы/доказательство и прочее...

По ссылке, которую выдал Leka я ходил, смотрел и понял, что речь идет о готовом в железе изделии, внутрь, которого пытаются влезть через софт. Хард переделке не подлежит. Hикакого отношения данная ситуация к вопросу об эффективности софтпроцессоров в разработках на FPGA не имеет.
Postoroniy_V
Цитата(Aprox @ Sep 29 2008, 23:41) *
По ссылке, которую выдал Leka я ходил, смотрел и понял, что речь идет о готовом в железе изделии, внутрь, которого пытаются влезть через софт. Хард переделке не подлежит. Hикакого отношения данная ситуация к вопросу об эффективности софтпроцессоров в разработках на FPGA не имеет.

тоесть ваша логика в данном случае такова
1) Обана! есть готовый девайс! Хорошо!
2) Опа! а где же Z80 снаружи? не эффективно! без него нельзя GUI сделать!
3) Паём снаружи Z80! Ура! Вот так эффективно!
biggrin.gif
вообщем..желаю вам того же что и des00 - Удачного заката солнца в ручную!
Omen_13
Рекомендую прекратить флуд
С уважением, модератор
Leka
Пример: 2 канала АЦП дают 2Гбайт/сек, не меньшую пропускную способность должна иметь подсистема памяти, в сумме - не менее 4Гбайт/сек --> ПЛИС в БГА корпусе. Чтобы не тормозить быстрый внешний процессор, нужна дополнительная параллельная шина, это потенциальный 2Гбайт/сек канал, выбрасываемый на ветер: разводим ПЛИС на 6Гбайт/сек, а используем только 4Гбайт/сек. Если же использовать софт-процессор - достаточно развести ПЛИС на 4Гбайт/сек. А ставить на последовательный интерфейс медленный внешний микроконтроллер - бессмысленно в таких задачах.
Aprox
Цитата(Leka @ Sep 29 2008, 23:08) *
Пример: 2 канала АЦП дают 2Гбайт/сек, не меньшую пропускную способность должна иметь подсистема памяти, в сумме - не менее 4Гбайт/сек --> ПЛИС в БГА корпусе. Чтобы не тормозить быстрый внешний процессор, нужна дополнительная параллельная шина, это потенциальный 2Гбайт/сек канал, выбрасываемый на ветер
Вы не ошиблись с порядком цифр производительности? Во-вторых, речь изначально шла о применении софтпроцессора для целей управления и мониторинга процессов внутри FPGA, когда никаких гигабайтов в секунду вовсе не требуется.
Цитата(Leka @ Sep 29 2008, 23:08) *
Если же использовать софт-процессор - достаточно развести ПЛИС на 4Гбайт/сек. А ставить на последовательный интерфейс медленный внешний микроконтроллер - бессмысленно в таких задачах.
Мне представляется, ставить софтпроцессор на перекачку данных столь высокой производительности - бесперспективная затея. Его программа вся будет состоять из двух инструкций в цикле. И никаких других действий в него уже не втиснуть, никаких дополнительных устройств. Hу, и зачем тогда нужны, все эти навороты с софтпроцессором, когда достаточно простенькой state_maсhine?
Я по-прежнему считаю, что единственным неубиваемым аргументом в пользу софтпроцессоров является случай модификации готового и неизменного HW с FPGA.
Builder
Цитата(Aprox @ Sep 30 2008, 11:10) *
Я по-прежнему считаю, что единственным неубиваемым аргументом в пользу софтпроцессоров является случай модификации готового и неизменного HW с FPGA.

Вы забываете, что самые маленькие FPGA стали большими и не всегда на 100% заполненными.
Скажите, нафига тогда козе баян, если я могу использовать свободные ресурсы для организации всего внутри?
И вообще, Вы пользуетесь не верными логическими выводами, Вы придумываете частный случай когда что-то нельзя, не эффективно или не удобно сделать и распространяете это на общую ситуацию.
А это не есть верно исходно.
Надо быть пластичнее и подходить к задаче с позиции: а как решить данную задачу максимально эффективно с заданными исходными? И от этого уже плясать.
А то устроили тут крестовый поход на xHDL и софт процессоры. Софт процессоры это не понацея, а одтн из вариантов решения задачи.

Цитата(slog @ Sep 2 2008, 08:26) *
Нужен небольшой софт процессор для обслуживания юзер-интерфейса. Большая производительность не нужна, хватило бы и 8-ми разрядного. Основные требования - нормальные крос-тулзы для программирования на Си, небольшой размер, бесплатность. NIOS бы отлично подошёл, но он требует лицензии. В некоторы странах это важно. crying.gif Предпочтительно бы стандартное ядро типа AVR или 51-х. На opencores много всякого - но что-то всё не то. Не знаю что выбрать. Направьте пожалуйста на путь истинный...

По теме беседы, к автору: а что, купить NIOS не дешевле выйдет (если нужна лиц. чистота), чем маятся с ядрами, которые требуют адаптации? Тем более что стандартные ядра (AVR или 51-х) места будут занимать не меньше Ниоса, а маленькие не будут иметь того набота средств разработки и отладка как Ниос. Или я что-то не понимаю?
608
Цитата(Aprox @ Sep 30 2008, 11:10) *
Я по-прежнему считаю, что единственным неубиваемым аргументом в пользу софтпроцессоров является случай модификации готового и неизменного HW с FPGA.

Это один из аргументов, но единственный, есть и другие. Они вытекают из концепции построения систем на кристалле (SOPC), с ее громадными возможностями.
Может быть, проблема в отсутствии ясных методик построения SOPC.
Софт процессоры это отдельная тема, достаточно многообразная. Вы их уже использовали, какие?
Omen_13
Последнее предупреждение участникам, прекращайте флуд!
Дальше буду использовать карательные меры - выпишу пилюли и закрою тему.
Aprox кандидат №1 на пилюлю если не прекратит флудить
С уважением, модератор
Leka
Цитата(Aprox @ Sep 30 2008, 12:10) *
Вы не ошиблись с порядком цифр производительности? Во-вторых, речь изначально шла о применении софтпроцессора для целей управления и мониторинга процессов внутри FPGA, когда никаких гигабайтов в секунду вовсе не требуется.

Это и имел в виду, поэтому написал: "потенциальный 2Гбайт/сек канал, выбрасываемый на ветер", те пустая трата ресурсов чипа и печатной платы - только для того, чтобы вынести наружу относительно медленную обработку. Удельная стоимость БГА пина(даже без учета платы и монтажа) очень высока, например: FPGA кристалл в FG320 стоит столько же, сколько вдвое больший кристалл в FG256 --> с софт-процессором получается дешевле.
Aprox
Цитата(Leka @ Sep 30 2008, 15:11) *
Цитата
.....речь изначально шла о применении софтпроцессора для целей управления и мониторинга процессов внутри FPGA, когда никаких гигабайтов в секунду вовсе не требуется.

Это и имел в виду, поэтому написал: "потенциальный 2Гбайт/сек канал, выбрасываемый на ветер", те пустая трата ресурсов чипа и печатной платы - только для того, чтобы вынести наружу относительно медленную обработку. Удельная стоимость БГА пина(даже без учета платы и монтажа) очень высока, например: FPGA кристалл в FG320 стоит столько же, сколько вдвое больший кристалл в FG256 --> с софт-процессором получается дешевле.

Спрошу не флуда ради, а уразумения для- зачем нужен 2Гбайт/сек канал связи с медленным внешним процессором? Разве не сгодится обыкновенный 4-х проводный SPI интерфейс? Четыре любых свободных пина BGA- это действительно так напряжно? И внутри FPGA никакого софтпроцессора не потребуется. Достаточно будет встроить в проект столько сдвиговых регистров, сколько требуется по задаче.
Leka
Цитата
Спрошу не флуда ради, а уразумения для- зачем нужен 2Гбайт/сек канал связи с медленным внешним процессором? Разве не сгодится обыкновенный 4-х проводный SPI интерфейс? Четыре любых свободных пина BGA- это действительно так напряжно? И внутри FPGA никакого софтпроцессора не потребуется. Достаточно будет встроить в проект столько сдвиговых регистров, сколько требуется по задаче.

Если хватает SPI - скорее всего придется выбирать между 8-разрядными решениями(например: AVR и софт-ядро уровня PicoBlaze), а не 32-разрядными(например: ARM и NIOS). Если есть куча кнопок, ключей, светодиодов и тп - имеет смысл отдать все это хозяйство внешнему 8-разрядному микроконтроллеру. Если надо слить дамп системной памяти - проще будет софт-процессор. Так что оправданным м/б одновременное применение и софт-процессора, и внешнего микроконтроллера, и связать их по SPI.
Aprox
Цитата(Leka @ Sep 30 2008, 17:37) *
Если хватает SPI - скорее всего придется выбирать между 8-разрядными решениями(например: AVR и софт-ядро уровня PicoBlaze), а не 32-разрядными(например: ARM и NIOS). Если есть куча кнопок, ключей, светодиодов и тп - имеет смысл отдать все это хозяйство внешнему 8-разрядному микроконтроллеру. Если надо слить дамп системной памяти - проще будет софт-процессор. Так что оправданным м/б одновременное применение и софт-процессора, и внешнего микроконтроллера, и связать их по SPI.
Консенсус!
Leka
Цитата(Aprox @ Oct 1 2008, 00:01) *
Консенсус!

Ok!

2ALL
Мысли вслух... примерные оценки скорости случайного доступа по SPI:
1) внешним AVR к 16-разрядным внутренним ресурсам FPGA: 10МГц(клок)/32бита(адрес+данные)=0,3МГц;
2) внутренним софт-ядром к 32-разрядной памяти программ на конфигурационной флешке: 50МГц(клок)/64бита(инструкция+адрес+данные)=0,7МГц.
Скорости сопоставимые, и напрашиваются софт-ядра, ориентированные на исполнение инструкций из SPI flash...
Mahagam
про возможности кеширования не забывай. и выборку данных из флешки по подряд идущим адресам быструю...
Leka
Цитата(Mahagam @ Oct 2 2008, 18:57) *
про возможности кеширования не забывай. и выборку данных из флешки по подряд идущим адресам быструю...

Это понятно, задумался о другом - микропрограммной эмуляции стандартных микроконтроллеров. Например, при 50МГц тактовой имеем более 50 микрокоманд на каждую эмулируемую команду - можно неторопясь объехать все колдобины(неудобные для FPGA особенности архитектуры МК). В идеале - для эмуляции разных МК меняем только микропрограмму в блочной памяти FPGA. От "подносчика патронов" большая скорострельность не требуется.
Mahagam
эээ. то есть получить аналог х51 машинки? по 50 тактов на команду? но зато эмулируем любой камень? а смысл?

з.ы. дописываю мсп430 ядро. осталось только INT/RETI пару дописать. как допишу - стану оптимизировать, а может и жтаг попробую слепить.
Builder
Цитата(Mahagam @ Oct 3 2008, 12:43) *
з.ы. дописываю мсп430 ядро. осталось только INT/RETI пару дописать. как допишу - стану оптимизировать, а может и жтаг попробую слепить.

А какой смысл в этом (з.ы. дописываю мсп430 ядро.)?
Для души или есть необходимость по совместимости бинарно?
Mahagam
а какой смысл делать несовместимым? у меня как-то нет желания корячить GCC для новой системы команд, или писать свой компилятор асма.

пишу как альтернативу микроблейзу. да и поупражняться вот хочется. хобби такое.
Leka
Свой настраиваемый ассемблер желателен, имхо, если от софт-процессора требуется компактность и быстродействие - стандартные архитектуры плохо ложатся на FPGA. У меня тоже хобби - кучу архитектур перепробовал, пока не надоело. Остановился на той, которая позволяет хоть как-то приблизить синтаксис ассемблера к синтаксису ЯВУ. Например,
Код
loop: ...
  ...
  loop(i<imax); i++

вместо стандартного:
Код
loop: ...
  ...
  INC i
  CMP i, imax
  JGE loop

Но ассемблер(любой) - имеет смысл лишь для маленьких программ. Вот и подумал - микропрограммная эмуляция какого-либо стандартного микроконтроллера, чтобы использовать готовые компиляторы ЯВУ, и свой ассемблер - для критичных к скорости участков.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.