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

 
 
> AVR CPU Core, Хочу поделиться
BSACPLD
сообщение Dec 7 2007, 20:27
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Здравствуйте!

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

В проекте создан CPU с SPI (master), GPIO, интерфейсом к DataFlash и линиями внешних прерываний.
Тестовая программа реализует обмен по Ethernet через ENC28J60 (ARP, Ping и частично UDP).
Из особенностей CPU:
Программируемые адреса прерываний.
Уменьшенное время выполнения некоторых команд.

Список поддерживаемых команд находится в файле cpu.txt.

Файлы:
test_cpu.qar - проект с CPU.
test_avr - тестовая программа
I8I16.exe - конвертер файлов из Intel HEX в HEX для инициализации памяти в Quartus.

С уважением, BSACPLD.
Прикрепленные файлы
Прикрепленный файл  test_cpu.rar ( 297.95 килобайт ) Кол-во скачиваний: 682
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Leka
сообщение Dec 8 2007, 17:23
Сообщение #2


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

Группа: Участник
Сообщений: 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
des00
сообщение Dec 10 2007, 04:23
Сообщение #3


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

Группа: Модераторы
Сообщений: 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

Сообщений в этой теме
- BSACPLD   AVR CPU Core   Dec 7 2007, 20:27
- - Leka   А что в test_cpu.qar ? У меня ISE, Квартуса нет.   Dec 7 2007, 20:44
|- - BSACPLD   Цитата(Leka @ Dec 7 2007, 23:44) А что в ...   Dec 7 2007, 20:59
- - Leka   rar подошел , но вижу, что без Квартуса все равно ...   Dec 7 2007, 21:16
|- - BSACPLD   Цитата(Leka @ Dec 8 2007, 00:16) rar подо...   Dec 7 2007, 21:22
|- - Leka   Цитата(BSACPLD @ Dec 8 2007, 00:22) Если ...   Dec 7 2007, 22:08
|- - BSACPLD   Цитата(Leka @ Dec 8 2007, 01:08) Web edit...   Dec 7 2007, 22:57
- - vetal   добавлю в свою коллекцию....авось пригодится   Dec 7 2007, 21:40
- - mse   Цитата(BSACPLD @ Dec 7 2007, 23:27) ... П...   Dec 8 2007, 09:16
- - Leka   (Скачать Квартус не получилось.) Кстати, почему Ци...   Dec 8 2007, 10:13
|- - den_realan   Пара вопросов возникла: Есть ли возможность создат...   Dec 8 2007, 12:20
|- - BSACPLD   Цитата(Leka @ Dec 8 2007, 13:13) (Скачать...   Dec 8 2007, 13:09
|- - Leka   Цитата(BSACPLD @ Dec 8 2007, 16:09) ...по...   Dec 8 2007, 15:51
|- - BSACPLD   Цитата(Leka @ Dec 8 2007, 18:51) На русск...   Dec 8 2007, 16:35
- - WEST128   Так на opencores.org давно уже выложено AVR ядро, ...   Dec 8 2007, 17:23
|- - Vitaliy_ARM   Цитата(WEST128 @ Dec 8 2007, 21:23) Так н...   Sep 3 2008, 11:52
|- - Postoroniy_V   Цитата(Vitaliy_ARM @ Sep 3 2008, 20:52) С...   Sep 3 2008, 12:38
|- - Leka   Цитата(Postoroniy_V @ Sep 3 2008, 16:38) ...   Sep 3 2008, 12:51
||- - Postoroniy_V   Цитата(Leka @ Sep 3 2008, 21:51) А скольк...   Sep 3 2008, 13:34
||- - slog   Цитата(Postoroniy_V @ Sep 3 2008, 17:34) ...   Sep 4 2008, 06:50
|- - Vitaliy_ARM   Цитата(Postoroniy_V @ Sep 3 2008, 16:38) ...   Sep 3 2008, 14:47
|- - den_realan   Цитата(Leka @ Dec 8 2007, 20:23) Хотел бы...   Dec 8 2007, 18:49
||- - Leka   Цитата(den_realan @ Dec 8 2007, 21:49) Во...   Dec 8 2007, 19:46
||- - den_realan   Цитата(Leka @ Dec 8 2007, 22:46) Какого к...   Dec 10 2007, 15:23
- - Leka   http://electronix.ru/forum/index.php?showtopic=449   Dec 10 2007, 13:13
- - sektoris   А каков смысл альтернативных процев? Быстрее? Мень...   Dec 11 2007, 07:37
|- - alexander55   Цитата(sektoris @ Dec 11 2007, 10:37) А к...   Dec 13 2007, 09:28
- - torik   Ну вот, взяли и раскритиковали человека по полной ...   Dec 13 2007, 21:40
|- - des00   Цитата(torik @ Dec 13 2007, 16:40) Ну вот...   Dec 14 2007, 04:05
|- - alexander55   Цитата(torik @ Dec 14 2007, 00:40) Ну вот...   Dec 17 2007, 10:35
- - Kuzmi4   2 des00 - не ругайте сильно, я товарисч новый в эт...   Dec 14 2007, 08:07
|- - tims   Специализированные контроллеры - заточенные под оп...   Dec 15 2007, 16:31
|- - alexf   Нет смысла говорить "нет смысла". Почт...   Dec 15 2007, 22:08
|- - des00   Цитата(alexf @ Dec 15 2007, 17:08) Нет см...   Dec 17 2007, 03:39
|- - alexf   Цитата(des00 @ Dec 16 2007, 19:39) Опять ...   Dec 17 2007, 08:35
- - Leka   Опять все сваливается в "раз не умеем, значит...   Dec 17 2007, 11:41
|- - alexander55   Цитата(Leka @ Dec 17 2007, 14:41) Опять в...   Dec 17 2007, 12:45
- - BSACPLD   Обнаружил ошибки при выполнении команд типа ld YL,...   Dec 26 2007, 23:50
- - BSACPLD   Добавил команды MUL, MULS, SLEEP. Также добавлен з...   Dec 31 2007, 19:44
|- - BSACPLD   Немного обновленный вариант. Добавлен интерфейс к ...   Mar 28 2008, 19:10
|- - Postoroniy_V   Цитата(BSACPLD @ Mar 29 2008, 04:10) Немн...   Mar 30 2008, 23:26
|- - des00   Цитата(BSACPLD @ Mar 28 2008, 14:10) Немн...   Mar 31 2008, 12:05
- - Kuzmi4   2 BSACPLD - а как для начинающих - можно описание ...   Apr 9 2008, 08:45
|- - BSACPLD   Цитата(Kuzmi4 @ Apr 9 2008, 12:45) 2 BSAC...   Apr 10 2008, 13:39
- - BSACPLD   Вот, наконец, появилось немного свободного времени...   Jul 13 2008, 15:34
- - Leka   Цитата(Postoroniy_V @ Sep 3 2008, 17:34) ...   Sep 3 2008, 14:48
|- - Postoroniy_V   Цитата(Leka @ Sep 3 2008, 23:48) Sorry, и...   Sep 3 2008, 23:34
- - BSACPLD   Исправил глюк с неправильной записью в регистры IN...   Sep 7 2008, 09:34
- - Vitaliy_ARM   Раз так дело идет, может еще и JTAG сделаете   Sep 9 2008, 13:21
|- - des00   Цитата(Vitaliy_ARM @ Sep 9 2008, 08:21) Р...   Sep 12 2008, 05:04
|- - Mahagam   Цитата(des00 @ Sep 12 2008, 08:04) Могу б...   Sep 12 2008, 08:05
|- - des00   Цитата(Mahagam @ Sep 12 2008, 03:05) ёпт...   Sep 15 2008, 03:44
|- - Mahagam   Цитата(des00 @ Sep 15 2008, 06:44) ну мож...   Sep 15 2008, 11:16
|- - des00   Цитата(Mahagam @ Sep 15 2008, 06:16) да. ...   Sep 15 2008, 17:35
||- - Mahagam   Цитата(des00 @ Sep 15 2008, 20:35) все на...   Sep 16 2008, 13:02
|- - bloodden   Цитата(Mahagam @ Sep 15 2008, 14:16) ... ...   Sep 15 2008, 20:08
- - Leka   А что от житага ожидается? У меня через uart - за...   Sep 12 2008, 08:50
|- - Mahagam   Цитата(Leka @ Sep 12 2008, 11:50) А что о...   Sep 12 2008, 09:28
- - bloodden   А в чём смысл делать малопотребляющий (!) МСП...   Sep 15 2008, 06:45
- - slog   Смысл делать "стандартные" процы в том ч...   Sep 15 2008, 10:52
|- - bloodden   Цитата(slog @ Sep 15 2008, 13:52) Смысл д...   Sep 15 2008, 11:10
- - slog   Еще один момент - ядро из этой темы написано на AH...   Sep 16 2008, 05:25
|- - Vitaliy_ARM   Цитата(slog @ Sep 16 2008, 09:25) Еще оди...   Sep 16 2008, 11:10
- - BSACPLD   Насчет JTAG пока не знаю. Если делать так, чтобы п...   Sep 16 2008, 15:07
|- - Postoroniy_V   Цитата(BSACPLD @ Sep 17 2008, 00:07) Насч...   Sep 17 2008, 01:59
|- - des00   Цитата(BSACPLD @ Sep 16 2008, 10:07) но к...   Sep 17 2008, 03:40
- - BSACPLD   Исправлен глюк с невозможностью сброса процессора,...   Oct 5 2008, 16:54
|- - klop   http://download.savannah.gnu.org/releases/...ument...   Oct 5 2008, 22:33
|- - des00   Цитата(klop @ Oct 5 2008, 17:33) http://d...   Oct 7 2008, 02:55
- - BSACPLD   Исправлен глюк с неправильным выполнением команды ...   Oct 6 2008, 18:52
- - Andrey_GTI   Хочу также поделиться, я создал модель AVR Mega103...   Oct 28 2008, 17:04
- - slog   А где взять чтобы потрогать?   Oct 28 2008, 18:31
- - Andrey_GTI   Пока модель используется в незавершенном проекте и...   Oct 28 2008, 20:07
- - PVL   Народ, тут уже писали и я ПОВТОРЮ! На опенкоре...   Mar 19 2009, 15:45
|- - alexmir   Цитата(PVL @ Mar 19 2009, 19:45) Народ, т...   Jan 3 2010, 18:59
- - BSACPLD   Выкладываю вариант на SystemVerilog 2005. Проект в...   Apr 17 2009, 10:20
- - yuriy_v   Приветствую всех) А кто-нить занимался внедрением...   Sep 3 2010, 09:29
|- - iosifk   Цитата(yuriy_v @ Sep 3 2010, 13:29) .... ...   Sep 3 2010, 10:07
|- - slonok   Корка Atmega103 http://newit.gsu.by/resources/CPUs...   Sep 12 2010, 17:10
- - BSACPLD   Новая версия процессора. Отличия от предыдущей вер...   Aug 4 2011, 11:16
|- - Zwerg_nase   Цитата(BSACPLD @ Aug 4 2011, 14:16) Новая...   Jun 24 2016, 12:35
- - AVR   мои 5 копеек - странный способ делиться своим бога...   Nov 12 2011, 21:04
|- - BSACPLD   Цитата(AVR @ Nov 13 2011, 01:04) мои 5 ко...   Nov 14 2011, 22:30
- - Мур   https://www.codeproject.com/articles/177990...pld-...   Dec 2 2016, 05:50
- - BSACPLD   Версия 15.   Jun 5 2018, 09:33


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

 


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


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