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

 
 
6 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> AVR CPU Core, Хочу поделиться
Leka
сообщение Dec 8 2007, 17:23
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



2 ALL
Тема интересная, и думаю - нужная. 1111493779.gif
Хотел бы поучаствовать в открытом Verilog-проекте по АВР-совместимому софт-процессору - при условии, если кто-то возмется за разработку/изготовление/рассылку, за недорого, простых макеток со Spartan3A(AN)/Cyclone2(3) (те с одинаковым форм-фактором, но разными FPGA) - на которых и будет доводка.

"Чистый" АВР мне неинтересен(зачем клонировать изъяны), я бы подумал об
1) максимально ортогонализированной системе 18-битных команд и программе перекодирования скомпилированного 16-битного кода АВР в загружаемый 18-битный код софт-процессора (естественно, придется отказаться от поддержки команд LPM/ELPM/SPM),
2) однотактном исполнении всех команд (по возможности - опция вставки пустых тактов для совместимости по таймингам).
Это позволит оптимизировать софт-процессор по компактности/быстродействию
и сохранить возможность использовать ПО для АВР.

Под максимальной ортогонализацией понимаю, например, такие частные случаи для команды "MOV dst, src" - как раз укладывается в 18 бит и в 1 такт(по предварительным прикидкам для Спартанов), и вроде охватывает все случаи АВР
(кроме LPM/ELPM/SPM):

MOV Rd, Rs
MOV Rd, (Rs)
MOV Rd, (-Rs)
MOV Rd, (Rs+)
MOV Rd, (s) // (s) ::= {SR|(PC+)|(SP)|Pn|,...}

MOV (Rd), Rs
MOV (Rd), (Rs)
MOV (Rd), (-Rs)
MOV (Rd), (Rs+)
MOV (Rd), (s)

MOV (-Rd), Rs
MOV (-Rd), (Rs)
MOV (-Rd), (-Rs)
MOV (-Rd), (Rs+)
MOV (-Rd), (s)

MOV (Rd+), Rs
MOV (Rd+), (Rs)
MOV (Rd+), (-Rs)
MOV (Rd+), (Rs+)
MOV (Rd+), (s)

MOV (d), Rs // (d) ::= {SR|(PC+)|(SP)|Pn|,...}
MOV (d), (Rs)
MOV (d), (-Rs)
MOV (d), (Rs+)
MOV (d), (s)

MOV Rd, K
MOV Rd, (Rz) // Rz ::= {X|Y|Z}
MOV (Rz), Rs // Rz ::= {X|Y|Z}

Ну и остальные команды (арифметико-логические и переходов) - тоже ортогонализировать. smile.gif

Сообщение отредактировал Leka - Dec 8 2007, 17:41
Go to the top of the page
 
+Quote Post
dvladim
сообщение Dec 8 2007, 18:49
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Leka @ Dec 8 2007, 20:23) *
Хотел бы поучаствовать в открытом Verilog-проекте по АВР-совместимому софт-процессору

Вот в чем смысла не вижу, так именно в этом.
Если пользоваться каким-либо готовым ПО - надо делать копию или надмножество. Если делать "свое" - то в первую очередь задумываться о компиляторе.

PS. Где-то тут проскакивала тема о компактном RISC ядре. Оставался вопрос о переделке backend компилятора.
Go to the top of the page
 
+Quote Post
Leka
сообщение Dec 8 2007, 19:46
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(den_realan @ Dec 8 2007, 21:49) *
Вот в чем смысла не вижу, так именно в этом.
Если пользоваться каким-либо готовым ПО - надо делать копию или надмножество. Если делать "свое" - то в первую очередь задумываться о компиляторе.


Имею в виду именно надмножество - разница в кодировании инструкций. Написать перекодировщик - вообще не проблема. Проблемные инструкции(типа LPM) замещать переходом на подпрограмму.

Цитата
PS. Где-то тут проскакивала тема о компактном RISC ядре. Оставался вопрос о переделке backend компилятора.

Какого компилятора - Си? Это проблема. Ассемблер? Нет проблем!

Сообщение отредактировал Leka - Dec 8 2007, 19:52
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 10 2007, 04:23
Сообщение #19


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Leka @ Dec 8 2007, 12:23) *
2 ALL
Тема интересная, и думаю - нужная. 1111493779.gif
Хотел бы поучаствовать в открытом Verilog-проекте по АВР-совместимому софт-процессору - при условии, если кто-то возмется за разработку/изготовление/рассылку, за недорого, простых макеток со Spartan3A(AN)/Cyclone2(3) (те с одинаковым форм-фактором, но разными FPGA) - на которых и будет доводка.
Ну и остальные команды (арифметико-логические и переходов) - тоже ортогонализировать. smile.gif


Смысла нет никакого. Если уж и делать процессор то не аврку. А что то легко расширяемое и конвейеризируемое.
Иначе, если нужен универсальник проще XSOC16 взять, если жалко 500 баков за ниос, микроблейз отдавать или в асик ставить будете.
На очень худой конец берем пиклоблейз и расширяем его до нужной функциональности.


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Dec 10 2007, 13:13
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



http://electronix.ru/forum/index.php?showtopic=449
Go to the top of the page
 
+Quote Post
dvladim
сообщение Dec 10 2007, 15:23
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Leka @ Dec 8 2007, 22:46) *
Какого компилятора - Си? Это проблема. Ассемблер? Нет проблем!

Си.
Go to the top of the page
 
+Quote Post
sektoris
сообщение Dec 11 2007, 07:37
Сообщение #22





Группа: Новичок
Сообщений: 4
Регистрация: 11-11-06
Пользователь №: 22 186



А каков смысл альтернативных процев? Быстрее? Меньше по объему? Проще писать? Ну за исключением цены естественно. А то я на ниосе зациклился...
Go to the top of the page
 
+Quote Post
alexander55
сообщение Dec 13 2007, 09:28
Сообщение #23


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(sektoris @ Dec 11 2007, 10:37) *
А каков смысл альтернативных процев? Быстрее? Меньше по объему? Проще писать? Ну за исключением цены естественно. А то я на ниосе зациклился...

Смысла в альтернативных uC нет никаких:
-цена
-геморрой с компиляторами.
Смысл есть только в связке готовый uC-ПЛИС.
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 13 2007, 21:40
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Ну вот, взяли и раскритиковали человека по полной sad.gif

Ну и что, что не видите смысла. Зачем их тогда создают? На одном опенкорс куча всяких контроллеров.
А ведь это какой замечательный опыт работы, многие ли могут похвастаться такими проектами?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 14 2007, 04:05
Сообщение #25


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(torik @ Dec 13 2007, 16:40) *
Ну вот, взяли и раскритиковали человека по полной sad.gif

Ну и что, что не видите смысла. Зачем их тогда создают? На одном опенкорс куча всяких контроллеров.
А ведь это какой замечательный опыт работы, многие ли могут похвастаться такими проектами?


вы не внимательно читали, смысла нет делать универсальный контроллер ибо таки туева хуча и первыми из них идут арм7, леон, ниос, микроблейз.

А вот сделать специализированный это пожалуйста. опыт создания есть, преимущества вроде тоже просматриваются, но подчеркну еще раз это специализированный, а не универсальный процессор.


--------------------
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Dec 14 2007, 08:07
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 des00 - не ругайте сильно, я товарисч новый в этом деле , но можно примеры специализированных контроллеров ?
Go to the top of the page
 
+Quote Post
tims
сообщение Dec 15 2007, 16:31
Сообщение #27


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

Группа: Свой
Сообщений: 89
Регистрация: 18-08-04
Пользователь №: 519



Специализированные контроллеры - заточенные под определенные задачи со спецефически оптимизированными инструкциями и ресурсами. От небольших микропрограмных автоматов до процессоров с N - количеством инструкций. Иногда автоматы делать проще.
Go to the top of the page
 
+Quote Post
alexf
сообщение Dec 15 2007, 22:08
Сообщение #28


Местный
***

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



Нет смысла говорить "нет смысла". smile.gif
Почти все подходит под определенные задачи.

У меня был проэкт на Спартане 3 с Nanoblaze. Потом перешел на Cyclone, и передал управляющие функции PICу, найденному на opencores. Почему PIC? Для него все ассемблеры/компайлеры/симуляторы заточены.

A AVR IMHO на порядок удобнее в работе с достаточно ортогональной системой комманд. Я их много повсюду понатыкал, в основном небольшие - от TINY15 do MEGA162.

Так что в след. раз надо будет проц в FPGA - попробую этот AVR. a14.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 17 2007, 03:39
Сообщение #29


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(alexf @ Dec 15 2007, 17:08) *
Нет смысла говорить "нет смысла". smile.gif
Почти все подходит под определенные задачи.

У меня был проэкт на Спартане 3 с Nanoblaze. Потом перешел на Cyclone, и передал управляющие функции PICу, найденному на opencores. Почему PIC? Для него все ассемблеры/компайлеры/симуляторы заточены.

A AVR IMHO на порядок удобнее в работе с достаточно ортогональной системой комманд. Я их много повсюду понатыкал, в основном небольшие - от TINY15 do MEGA162.

Так что в след. раз надо будет проц в FPGA - попробую этот AVR. a14.gif


Опять же вы не внимательно(!!!) читаете мои посты.

Нет смысла РАЗРАБАТЫВАТЬ универсальный процессор. Про применение универсального процессора я не сказал ни слова.

Рассмотрим ваш пример. Может быть я ошибаюсь, но из вашего поста видно что вы не стали разрабатывать собственное ядро, а взяли его готовое с опенкоресов ? Вы же не стали сами с нуля делать полностью совместимое ядро.

А вот разработать процессор для конкретной задачи, как это сделал iosifk (www.iosifk.narod.ru) это был правильный вариант решения. Подробности смотрите у него на сайте, все с пояснениями и графиками.

ИМХО смысл разрабатывать универсальный процессор есть только в следующих случаях :

1. из-за любви к искусству, что мы и видим на опенкорес.
2. специфика применения (лицензионная частота например для асика, военные применения).
3. реклама, и это мы тоже видим на опенкорес.

Удачи.


--------------------
Go to the top of the page
 
+Quote Post
alexf
сообщение Dec 17 2007, 08:35
Сообщение #30


Местный
***

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



Цитата(des00 @ Dec 16 2007, 19:39) *
Опять же вы не внимательно(!!!) читаете мои посты.


Я не спорил с Вами, а скорее с другим постом, но это не так важно.

Цитата(des00 @ Dec 16 2007, 19:39) *
Нет смысла РАЗРАБАТЫВАТЬ универсальный процессор. Про применение универсального процессора я не сказал ни слова.

Рассмотрим ваш пример. Может быть я ошибаюсь, но из вашего поста видно что вы не стали разрабатывать собственное ядро, а взяли его готовое с опенкоресов ? Вы же не стали сами с нуля делать полностью совместимое ядро.


Не стал посколько нашел готовый для решения своей задачи. Надо было не шашечки, а ехать.
А в другой раз, когда было скучно, сделал свой просто так...

Цитата(des00 @ Dec 16 2007, 19:39) *
А вот разработать процессор для конкретной задачи, как это сделал iosifk (www.iosifk.narod.ru) это был правильный вариант решения. Подробности смотрите у него на сайте, все с пояснениями и графиками.

ИМХО смысл разрабатывать универсальный процессор есть только в следующих случаях :

1. из-за любви к искусству, что мы и видим на опенкорес.
2. специфика применения (лицензионная частота например для асика, военные применения).
3. реклама, и это мы тоже видим на опенкорес.

Удачи.


Не спорю ни по одному пункту. Удачи и Вам!
Go to the top of the page
 
+Quote Post

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

 


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


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