реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Actel ProAsic3L 3000 сформировать внутри память
АндрейЦ
сообщение Jul 11 2013, 12:01
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 189
Регистрация: 16-07-07
Пользователь №: 29 147



День добрый,

Извиняюсь за чайниковский вопрос, но всё когда нибудь делаешь впервые.
Подскажите, есть необходимость сформировать в сабжевом кристалле микроконтроллерное ядро. При этом обойтись только плисиной.
Т.е. и память программ и ОЗУ создать внутренними ресурсами без использования внешних компонентов. Озу достаточно до килобайта, "флеша" пара десятков килобайт.
Можно ли это сделать?
Go to the top of the page
 
+Quote Post
yes
сообщение Jul 11 2013, 12:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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 (на опенкоресах есть ссылка)
но с флаш проблему это не решит


Go to the top of the page
 
+Quote Post
АндрейЦ
сообщение Jul 11 2013, 14:11
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 189
Регистрация: 16-07-07
Пользователь №: 29 147



У меня тут две нетехнические проблемы.
Первая, процессора достаточно уровня 8051. Сейчас проект крутится в меге 2560, выбранной из за 4х уартов и достаточного количества ножек IO.
По организационным причинам, которые совершенно нет желания обсуждать, проект нужно сначала перенести в 3000, а затем в её несколько более экзотическую разновидность.
Вторая, в команде нет плисовода. Но есть некоторое время, чтобы либо пригласить его, либо разобраться самим.
Вот мне и нужна подсказка более сведущих людей, о возмоности это сделать. Т.е. на Ксайлинксе попадались реализации с набортной памятью, на Актеле нет.
Возможности использовать внешнюю память, повторюсь, нет. А выбрать сейчас кристалл и упереться через пару месяцев в мёртвое железо, смерти подобно sm.gif
Go to the top of the page
 
+Quote Post
yes
сообщение Jul 11 2013, 16:14
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



ну я какбы опытный плисовод sm.gif советую взять отлаженный дизайн со средствами отладки софта и т.п.
если же в ПЛИС нет места и нужно очень компактно - посмотрите на zpu или какую-то еще opencores-овскую разработку (там и 8051 есть), но при этом могут быть проблемы с разработкой софта, глюками, несовместимостью со стандартным ядром и тулзами для него. еще есть компактные процессоры (типа пикоблейза) с писанием на ассемблере и минимумом ресурсов.

дело в том, что у актела нет своего фирменного дизайна процессора, типа ниоса или блейза

---------

несколько более экзотическая разновидность не RTPA3 случаем?

ну а по поводу флаши - я больше пары килобайт на декодерах не делал, слишком тяжело получается. но там есть методы - конвеер, разбитие на несколько блоков и т.д.
также в РА3 / RTPA3 есть 1кбит флаши - мелочь, но что-то можно туда запихать, а потом переписывать в ОЗУ
то есть нужно уже конкретно решать задачу, а не теоретизировать

----------

в рамках озвученного кажется, что решается, но какой-то плисовод скорее всего понадобится sm.gif

=======

ради эксперимента засунул декодер на 12кБ (некая программка для SPARCa) - результат занял 20% ПЛИС РА3 3000L и тактовая 50МГц (15 уровней логики), время синтеза разумное (возможно трассировать будет долго, это уже некогда проверять)
для процессора с более плотным кодом (того же 51) может результаты будут похуже, синтез это процесс типа "эвристического архиватора", но не намного
Go to the top of the page
 
+Quote Post
DASM
сообщение Jul 11 2013, 16:14
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



А вы вариант Smartfusion2 с набортным Кортекс м3, флешью, рамом и прочими вкусностями не рассматривали?
Go to the top of the page
 
+Quote Post
АндрейЦ
сообщение Jul 11 2013, 16:35
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 189
Регистрация: 16-07-07
Пользователь №: 29 147



Цитата(yes @ Jul 11 2013, 19:14) *
ну я какбы опытный плисовод sm.gif советую взять отлаженный дизайн со средствами отладки софта и т.п.
если же в ПЛИС нет места и нужно очень компактно - посмотрите на zpu или какую-то еще opencores-овскую разработку (там и 8051 есть), но при этом могут быть проблемы с разработкой софта, глюками, несовместимостью со стандартным ядром и тулзами для него. еще есть компактные процессоры (типа пикоблейза) с писанием на ассемблере и минимумом ресурсов.

дело в том, что у актела нет своего фирменного дизайна процессора, типа ниоса или блейза


Спасибо за информацию, поскольку сей момент передо мной стоит принципиальный вопрос да/нет, ваша помощь более чем!

Цитата(yes @ Jul 11 2013, 19:14) *
---------

несколько более экзотическая разновидность не RTPA3 случаем?


sm.gif

Цитата(yes @ Jul 11 2013, 19:14) *
ну а по поводу флаши - я больше пары килобайт на декодерах не делал, слишком тяжело получается. но там есть методы - конвеер, разбитие на несколько блоков и т.д.
также в РА3 / RTPA3 есть 1кбит флаши - мелочь, но что-то можно туда запихать, а потом переписывать в ОЗУ
то есть нужно уже конкретно решать задачу, а не теоретизировать

----------

в рамках озвученного кажется, что решается, но какой-то плисовод скорее всего понадобится sm.gif


Исчо раз спасибо, будем трусить это дерево.
Тем более есть разработка, с внешней памятью правда, на 600. Ну а тут 3000, надеюсь в разницу "флешка" впишется.

Цитата(DASM @ Jul 11 2013, 19:14) *
А вы вариант Smartfusion2 с набортным Кортекс м3, флешью, рамом и прочими вкусностями не рассматривали?

Увы, нужен именно сабж.
Go to the top of the page
 
+Quote Post
Flexz
сообщение Jul 11 2013, 19:27
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



ЕМНИП Актель бесплатно предоставляет ядро 51 проца, а так же периферийные модули, плюс вменяемый графический редактор, что бы все это собрать в кучу. Но бортовой ПЗУ-шки тут нет, разве что на регистрах ее сделать (их можно инициализировать в заданное значение), но это имхо извращение уже, да и много не сделать.
Если вам нужен именно RT, то по информации от представителя Актель - Smartfusion2 в перспективе будет переведен в эту категорию.
Go to the top of the page
 
+Quote Post
DASM
сообщение Jul 11 2013, 20:12
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Куда переведен? 256 к флеши уже на борту с вполне вменяемой LiberoSoC
Go to the top of the page
 
+Quote Post
Flexz
сообщение Jul 12 2013, 06:42
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



В категорию RT.
Go to the top of the page
 
+Quote Post
DASM
сообщение Jul 12 2013, 08:31
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



А... ну пока что он как я понимаю и вовсе в категории "комнатной температуры" sm.gif
Go to the top of the page
 
+Quote Post
yes
сообщение Jul 12 2013, 09:05
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(АндрейЦ @ Jul 11 2013, 20:35) *
Исчо раз спасибо, будем трусить это дерево.


я бы подумал над внешней памятью - если RT, то можно взять MRAM (3DPLUS, Aeroflex) - у нее до 1МРад [обещают, сейчас есть на 75кРад, что заведомо больше флашевого проазика] и устойчивость к ТЗЧ
ну или отечественные RT ПЗУшки делает тот же Миландр, но это не рекомендация, я не пользовал

также можно последовательную память поискать (я не интересовался RT), если экономия места важна, а "захардкодить" в ПЛИС только загрузчик, ОЗУ то есть и достаточно много

-----------------------------

сжигать ресурсы дорогостоящей ПЛИС (RTPA3 3000 баксов 20к где-то стоит) на тупую ПЗУшку как-то жаль sm.gif

-----------------------------

кстати, если делать не на декодере, а на регистрах, как предлагает Flexz (у которых reset подключен к сбросу или установке), то получится вроде бы похуже - то есть если мы возьмем 10кБ кода = 80кБит 1 триггер это 1 ячейка, а всего ячеек 75тыс, то есть 10кБ уже не влезут в 3000 проазик.
но это я никогда не пытался сделать ПЗУ на регистрах, так как такую память применял для АЗИКов, где логика сильно меньше триггеров по площади, может и вру/не понял идею
Go to the top of the page
 
+Quote Post
Zwerg_nase
сообщение Jul 12 2013, 09:07
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 14-10-05
Из: г. Москва
Пользователь №: 9 641



Цитата(DASM @ Jul 12 2013, 12:31) *
А... ну пока что он как я понимаю и вовсе в категории "комнатной температуры" sm.gif

В диджикее есть c коммерческим диапазоном http://www.digikey.com/scripts/DkSearch/dk...100&cur=USD
Go to the top of the page
 
+Quote Post
Flexz
сообщение Jul 12 2013, 11:07
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Цитата(yes @ Jul 12 2013, 13:05) *
кстати, если делать не на декодере, а на регистрах

То получится тоже самое sm.gif Если регистры фиксированы, и задаются только на ресете - при синтезе они заменятся на комбинаторику.
Go to the top of the page
 
+Quote Post
АндрейЦ
сообщение Jul 12 2013, 13:35
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 189
Регистрация: 16-07-07
Пользователь №: 29 147



Цитата(Flexz @ Jul 12 2013, 14:07) *
То получится тоже самое sm.gif Если регистры фиксированы, и задаются только на ресете - при синтезе они заменятся на комбинаторику.


Как вариант, не кормить программиста до тех пор, пока он не освоит VHDL и не опишет на на нём нашу задачку без всяких заморочек с эмуляцией ядра.
Go to the top of the page
 
+Quote Post
Serge_DVD
сообщение Dec 4 2014, 19:40
Сообщение #15


Участник
*

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



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


Добрый день! Простите за ламерство, а чем различаются реализации на декодере и регистрах? Если можно - приведите пару строк кода для лучшего понимания.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016