|
Actel ProAsic3L 3000 сформировать внутри память |
|
|
|
Jul 11 2013, 12:47
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(АндрейЦ @ Jul 11 2013, 16:01)  Подскажите, есть необходимость сформировать в сабжевом кристалле микроконтроллерное ядро. При этом обойтись только плисиной. Т.е. и память программ и ОЗУ создать внутренними ресурсами без использования внешних компонентов. Озу достаточно до килобайта, "флеша" пара десятков килобайт. Можно ли это сделать? естественно можно, берете у Гейслера GRLIB http://gaisler.com/index.php/products/ipcores/soclibrary и вперед, процессор в достаточно мощной конфигурации занимает ~30% 3000L тактовую можно выжать до 30МГц у Гейслера в новых версиях убраны примеры для актела (в предыдущих были) - либо ищите старую версию, либо я могу выложить пример для актела (по существу, достаточно config.vhd) процессор наверно излишне мощный, но зато нажал кнопку и готово, к тому же есть с/с++ отладчик и т.п. проблему вижу в том, что память в актеле не загружается, то есть ПЗУ (как в ксайлинсе/альтере) сделать нельзя. память программ придется синтезировать в виде декодера на логике (в grlib называется AHBROM), ну и соответственно она не может быть большой. из остальной памяти - убираете все, кроме AHBRAM ----------- ну или как вариант - рышите на opencores.org или какие-то стековые процессоры типа zpu (на опенкоресах есть ссылка) но с флаш проблему это не решит
|
|
|
|
|
Jul 11 2013, 14:11
|
Частый гость
 
Группа: Участник
Сообщений: 189
Регистрация: 16-07-07
Пользователь №: 29 147

|
У меня тут две нетехнические проблемы. Первая, процессора достаточно уровня 8051. Сейчас проект крутится в меге 2560, выбранной из за 4х уартов и достаточного количества ножек IO. По организационным причинам, которые совершенно нет желания обсуждать, проект нужно сначала перенести в 3000, а затем в её несколько более экзотическую разновидность. Вторая, в команде нет плисовода. Но есть некоторое время, чтобы либо пригласить его, либо разобраться самим. Вот мне и нужна подсказка более сведущих людей, о возмоности это сделать. Т.е. на Ксайлинксе попадались реализации с набортной памятью, на Актеле нет. Возможности использовать внешнюю память, повторюсь, нет. А выбрать сейчас кристалл и упереться через пару месяцев в мёртвое железо, смерти подобно
|
|
|
|
|
Jul 11 2013, 16:14
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
ну я какбы опытный плисовод  советую взять отлаженный дизайн со средствами отладки софта и т.п. если же в ПЛИС нет места и нужно очень компактно - посмотрите на zpu или какую-то еще opencores-овскую разработку (там и 8051 есть), но при этом могут быть проблемы с разработкой софта, глюками, несовместимостью со стандартным ядром и тулзами для него. еще есть компактные процессоры (типа пикоблейза) с писанием на ассемблере и минимумом ресурсов. дело в том, что у актела нет своего фирменного дизайна процессора, типа ниоса или блейза --------- несколько более экзотическая разновидность не RTPA3 случаем? ну а по поводу флаши - я больше пары килобайт на декодерах не делал, слишком тяжело получается. но там есть методы - конвеер, разбитие на несколько блоков и т.д. также в РА3 / RTPA3 есть 1кбит флаши - мелочь, но что-то можно туда запихать, а потом переписывать в ОЗУ то есть нужно уже конкретно решать задачу, а не теоретизировать ---------- в рамках озвученного кажется, что решается, но какой-то плисовод скорее всего понадобится  ======= ради эксперимента засунул декодер на 12кБ (некая программка для SPARCa) - результат занял 20% ПЛИС РА3 3000L и тактовая 50МГц (15 уровней логики), время синтеза разумное (возможно трассировать будет долго, это уже некогда проверять) для процессора с более плотным кодом (того же 51) может результаты будут похуже, синтез это процесс типа "эвристического архиватора", но не намного
|
|
|
|
|
Jul 11 2013, 16:35
|
Частый гость
 
Группа: Участник
Сообщений: 189
Регистрация: 16-07-07
Пользователь №: 29 147

|
Цитата(yes @ Jul 11 2013, 19:14)  ну я какбы опытный плисовод  советую взять отлаженный дизайн со средствами отладки софта и т.п. если же в ПЛИС нет места и нужно очень компактно - посмотрите на zpu или какую-то еще opencores-овскую разработку (там и 8051 есть), но при этом могут быть проблемы с разработкой софта, глюками, несовместимостью со стандартным ядром и тулзами для него. еще есть компактные процессоры (типа пикоблейза) с писанием на ассемблере и минимумом ресурсов. дело в том, что у актела нет своего фирменного дизайна процессора, типа ниоса или блейза Спасибо за информацию, поскольку сей момент передо мной стоит принципиальный вопрос да/нет, ваша помощь более чем! Цитата(yes @ Jul 11 2013, 19:14)  ---------
несколько более экзотическая разновидность не RTPA3 случаем?  Цитата(yes @ Jul 11 2013, 19:14)  ну а по поводу флаши - я больше пары килобайт на декодерах не делал, слишком тяжело получается. но там есть методы - конвеер, разбитие на несколько блоков и т.д. также в РА3 / RTPA3 есть 1кбит флаши - мелочь, но что-то можно туда запихать, а потом переписывать в ОЗУ то есть нужно уже конкретно решать задачу, а не теоретизировать ---------- в рамках озвученного кажется, что решается, но какой-то плисовод скорее всего понадобится  Исчо раз спасибо, будем трусить это дерево. Тем более есть разработка, с внешней памятью правда, на 600. Ну а тут 3000, надеюсь в разницу "флешка" впишется. Цитата(DASM @ Jul 11 2013, 19:14)  А вы вариант Smartfusion2 с набортным Кортекс м3, флешью, рамом и прочими вкусностями не рассматривали? Увы, нужен именно сабж.
|
|
|
|
|
Jul 12 2013, 09:05
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(АндрейЦ @ Jul 11 2013, 20:35)  Исчо раз спасибо, будем трусить это дерево. я бы подумал над внешней памятью - если RT, то можно взять MRAM (3DPLUS, Aeroflex) - у нее до 1МРад [обещают, сейчас есть на 75кРад, что заведомо больше флашевого проазика] и устойчивость к ТЗЧ ну или отечественные RT ПЗУшки делает тот же Миландр, но это не рекомендация, я не пользовал также можно последовательную память поискать (я не интересовался RT), если экономия места важна, а "захардкодить" в ПЛИС только загрузчик, ОЗУ то есть и достаточно много ----------------------------- сжигать ресурсы дорогостоящей ПЛИС (RTPA3 3000 баксов 20к где-то стоит) на тупую ПЗУшку как-то жаль  ----------------------------- кстати, если делать не на декодере, а на регистрах, как предлагает Flexz (у которых reset подключен к сбросу или установке), то получится вроде бы похуже - то есть если мы возьмем 10кБ кода = 80кБит 1 триггер это 1 ячейка, а всего ячеек 75тыс, то есть 10кБ уже не влезут в 3000 проазик. но это я никогда не пытался сделать ПЗУ на регистрах, так как такую память применял для АЗИКов, где логика сильно меньше триггеров по площади, может и вру/не понял идею
|
|
|
|
|
Jul 12 2013, 11:07
|
Местный
  
Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797

|
Цитата(yes @ Jul 12 2013, 13:05)  кстати, если делать не на декодере, а на регистрах То получится тоже самое  Если регистры фиксированы, и задаются только на ресете - при синтезе они заменятся на комбинаторику.
|
|
|
|
|
Jul 12 2013, 13:35
|
Частый гость
 
Группа: Участник
Сообщений: 189
Регистрация: 16-07-07
Пользователь №: 29 147

|
Цитата(Flexz @ Jul 12 2013, 14:07)  То получится тоже самое  Если регистры фиксированы, и задаются только на ресете - при синтезе они заменятся на комбинаторику. Как вариант, не кормить программиста до тех пор, пока он не освоит VHDL и не опишет на на нём нашу задачку без всяких заморочек с эмуляцией ядра.
|
|
|
|
|
Dec 4 2014, 19:40
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 11-08-06
Пользователь №: 19 485

|
Цитата кстати, если делать не на декодере, а на регистрах, как предлагает Flexz (у которых reset подключен к сбросу или установке), то получится вроде бы похуже - то есть если мы возьмем 10кБ кода = 80кБит 1 триггер это 1 ячейка, а всего ячеек 75тыс, то есть 10кБ уже не влезут в 3000 проазик. но это я никогда не пытался сделать ПЗУ на регистрах, так как такую память применял для АЗИКов, где логика сильно меньше триггеров по площади, может и вру/не понял идею Добрый день! Простите за ламерство, а чем различаются реализации на декодере и регистрах? Если можно - приведите пару строк кода для лучшего понимания.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|