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

 
 
> Свои процессоры, Разработка своих процессоров со своей системой команд
PVL
сообщение Mar 12 2009, 19:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 1-02-07
Пользователь №: 24 959



Занимаюсь разработкой своего проца под SoC. Если есть предложения по системе команд и практической реализации пишем сюда.

Сообщение отредактировал PVL - Mar 12 2009, 19:54
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ynicky
сообщение Jun 13 2009, 11:04
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 26-05-05
Пользователь №: 5 422



Чтобы не плодить новую тему, напишу сдесь. Если, конечно, автор темы не против.
Недавно прикрепили ко мне студента, а так как в связи с кризисом и мне то делать
особо нечего, то чего уж говорить про бедного студента. Поэтому решил ему дать
интересную тему (с моей точки зрения) для обучения разработке soc проектов
со встроенным процессорным ядром (чем собственно я и занимаюсь).
За основу взяли студенческое risc ядро, описанное в книге Сергиенко А.М.
“VHDL для проектирования вычислительных устройств”. Систему команд и архитектуру
немного доработали. Сделали простенький soc проект в Active-HDL81 для FPGA ф.Actel.
Его, собственно, и предлагаю для повторения всеми желающими. С некоторыми доработками
его можно реализовать и для других FPGA. Пока, для простоты,
пзу команд сделали в виде vhdl. Хотелось бы общими усилиями протестировать
процессорное ядро. Да и может кому пригодится. Оговорюсь сразу, проект сырой.
Поэтому будут исправления и доработки. Может у кого будут дельные предложения.
Готов рассмотреть. Краткое описание процессора можно найти в Директории "Doc".
Ассемблер - в директории "st16asm". Я его делал в "Microsoft Visual Studio 2008".
Еще не разобрался, как сделать, чтобы ".exe" файл запускался на других компьютерах,
где нет MSVC2008 (не программист). Компилятор сделаю попозже, после отработки
системы команд. Это будет LCC, так как есть уже опыт написания
"machine description" файлов под свою систему команд. Ну вот, собственно, пока все.
Будут вопросы, задавайте.

Николай.
Прикрепленные файлы
Прикрепленный файл  risc_st.rar ( 119.18 килобайт ) Кол-во скачиваний: 147
 
Go to the top of the page
 
+Quote Post
Ynicky
сообщение Jun 14 2009, 14:30
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 26-05-05
Пользователь №: 5 422



Выкладываю новую версию проекта.
Просьба сообщить, работает ли ассемблер у кого нет "Microsoft Visual Studio".

Николай.
Прикрепленные файлы
Прикрепленный файл  risc_st.rar ( 155.14 килобайт ) Кол-во скачиваний: 160
 
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 15 2009, 02:59
Сообщение #4


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

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



Цитата(Ynicky @ Jun 14 2009, 09:30) *
Выкладываю новую версию проекта.


для тех кто альдеком не пользуется, могли бы и vhd файл из risc_cpu.bde сгенерировать, делов то на минуту sad.gif

зачем "По сигналу RESET разряды всех регистров обнуляются." вот это сделали ? это сразу режет вам крылья, при использовании на хилой платформе + файл rfile.vhd -> R_RF4:process(CLK,RST,data_w,rfsel) вот вас прибило каждый регистр ручками описывать %)))


в файле tst_alu.asm есть такой код

Код
    imm    0xFF00
    lea    r5,0x0


но в доке Doc\to101st16.doc

команды lea нет.


--------------------
Go to the top of the page
 
+Quote Post
Ynicky
сообщение Jun 15 2009, 06:42
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 26-05-05
Пользователь №: 5 422



Цитата(des00 @ Jun 15 2009, 06:59) *
для тех кто альдеком не пользуется, могли бы и vhd файл из risc_cpu.bde сгенерировать, делов то на минуту sad.gif

зачем "По сигналу RESET разряды всех регистров обнуляются." вот это сделали ? это сразу режет вам крылья, при использовании на хилой платформе + файл rfile.vhd -> R_RF4:process(CLK,RST,data_w,rfsel) вот вас прибило каждый регистр ручками описывать %)))

в файле tst_alu.asm есть такой код

Код
    imm    0xFF00
    lea    r5,0x0


но в доке Doc\to101st16.doc

команды lea нет.


1. Эти файлы генерятся автоматически при каждой компиляции и находятся в директории compile.

2. Виноват, соврал. При использовании в качестве регистрового файла внутренней памяти исходное значение берется из файлов инициализации (r8x256_M0.mem). rfile.vhd - как пример на регистрах.

3. lea - Load Effective Address. Это псевдокоманда для занесения в регистры констант.

lea r5,0xFF00 преобразуется ассемблером в

imm 0xFF00
addi r5,r0,0

Но можно писать и как в tst_alu.asm.

Если успею, вечером добавлю в описание.

Николай.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- PVL   Свои процессоры   Mar 12 2009, 19:51
- - SM   Как классно поставлен вопрос Свои процы делаются...   Mar 12 2009, 19:58
|- - PVL   Цитата(SM @ Mar 12 2009, 22:58) Как класс...   Mar 12 2009, 20:05
|- - Methane   Цитата(PVL @ Mar 12 2009, 22:05) Сейчас в...   Mar 12 2009, 20:13
|- - PVL   Цитата(Methane @ Mar 12 2009, 23:13) Что ...   Mar 12 2009, 20:16
|- - Methane   Цитата(PVL @ Mar 12 2009, 22:16) Почти то...   Mar 12 2009, 20:20
||- - PVL   Цитата(Methane @ Mar 12 2009, 23:20) И тр...   Mar 12 2009, 20:23
||- - Methane   Цитата(PVL @ Mar 12 2009, 22:23) Не для с...   Mar 12 2009, 20:37
||- - PVL   Цитата(Methane @ Mar 12 2009, 23:37) Как ...   Mar 12 2009, 20:39
||- - Methane   Цитата(PVL @ Mar 12 2009, 22:39) Не повер...   Mar 12 2009, 20:49
||- - PVL   Цитата(Methane @ Mar 12 2009, 23:49) А я ...   Mar 12 2009, 20:53
||- - Methane   Цитата(PVL @ Mar 12 2009, 22:53) На спарт...   Mar 12 2009, 21:02
||- - SM   Цитата(PVL @ Mar 12 2009, 23:53) Система ...   Mar 13 2009, 18:41
||- - PVL   Цитата(SM @ Mar 13 2009, 21:41) Ну почему...   Mar 19 2009, 16:03
||- - SM   Цитата(PVL @ Mar 19 2009, 19:03) Во вторы...   Mar 19 2009, 17:28
||- - Maverick   Цитата(PVL @ Mar 19 2009, 20:03) 57 бит н...   Mar 25 2009, 06:29
||- - SM   Цитата(Maverick @ Mar 25 2009, 09:29) А м...   Mar 25 2009, 08:33
||- - Maverick   Цитата(SM @ Mar 25 2009, 12:33) Спасибо...   Mar 25 2009, 11:03
|- - yes   Цитата(PVL @ Mar 12 2009, 23:16) Почти то...   Mar 25 2009, 18:01
|- - PVL   Цитата(yes @ Mar 25 2009, 22:01) я всегда...   Mar 29 2009, 15:34
|- - yes   Цитата(PVL @ Mar 29 2009, 19:34) Это ЛАЖА...   Mar 30 2009, 10:35
- - des00   Цитата(PVL @ Mar 12 2009, 13:51) Занимаюс...   Mar 13 2009, 03:47
|- - SM   Цитата(des00 @ Mar 13 2009, 06:47) ЗЫ. на...   Mar 13 2009, 07:51
|- - Ynicky   А у меня уже есть свой процессор. LCC осилил, а во...   Mar 13 2009, 10:23
|- - SM   Цитата(Ynicky @ Mar 13 2009, 13:23) А у м...   Mar 13 2009, 10:55
||- - Harbour   Цитата(SM @ Mar 13 2009, 12:55) Что интер...   Mar 21 2009, 11:19
|- - OverDrewk   Цитата(Ynicky @ Mar 13 2009, 17:23) А у м...   Oct 23 2009, 04:57
|- - Ynicky   Цитата(OverDrewk @ Oct 23 2009, 08:57) См...   Oct 23 2009, 16:07
|- - Leka   Цитата(Ynicky @ Oct 23 2009, 20:07) Перед...   Oct 23 2009, 17:32
|- - Ynicky   Цитата(Leka @ Oct 23 2009, 21:32) Ну и ка...   Oct 23 2009, 19:27
- - Sefo   Цитата(PVL @ Mar 12 2009, 23:53) Система ...   Mar 13 2009, 11:40
- - PVL   Что такое binutils? Готовая среда для разработки С...   Mar 24 2009, 14:54
|- - Ynicky   Цитата(PVL @ Mar 24 2009, 17:54) Что тако...   Mar 24 2009, 16:53
|- - SM   Цитата(PVL @ Mar 24 2009, 17:54) Что тако...   Mar 24 2009, 19:13
||- - Leka   Цитата(Ynicky @ Jun 14 2009, 18:30) Прось...   Jun 14 2009, 19:39
|||- - SFx   Цитата(des00 @ Jun 15 2009, 06:59) для те...   Jun 15 2009, 07:34
||- - Ynicky   Исправили ошибки загрузки/выгрузки. Николай.   Jun 15 2009, 17:13
||- - Ynicky   Подкорректировали проект. Проверили прерывания. До...   Jun 17 2009, 15:07
||- - Ynicky   Написали JTAG на vhdl, чтобы можно было проект заш...   Jul 1 2009, 05:52
||- - Ynicky   Добавили 2 блока к внутрисхемному эмулятору. Отмод...   Jul 8 2009, 07:06
||- - Ynicky   Добавили блок чтения регистрового файла в режиме о...   Sep 10 2009, 18:18
|- - Leka   Команды Break и LU - что делают? И зачем выделенн...   Jun 14 2009, 18:27
|- - Ynicky   Цитата(Leka @ Jun 14 2009, 22:27) Команды...   Jun 14 2009, 19:02
- - kuchynski   Пользуюсь своим процессором 5 год, за это время и ...   Oct 16 2009, 06:37
|- - Aner   Цитата(kuchynski @ Oct 16 2009, 09:37) По...   Oct 16 2009, 09:58
|- - kuchynski   Цитата(Aner @ Oct 16 2009, 12:58) Тактова...   Oct 21 2009, 09:10
- - Leka   ~2K LUT - немного по сравнению с LEON/OpenRISC/Cor...   Oct 23 2009, 20:26
|- - Ynicky   Цитата(Leka @ Oct 24 2009, 00:21) ~2K LUT...   Oct 23 2009, 20:39
|- - Leka   Цитата(Ynicky @ Oct 24 2009, 00:30) Так э...   Oct 23 2009, 20:45
|- - Ynicky   Цитата(Leka @ Oct 24 2009, 00:44) Вот и с...   Oct 23 2009, 20:47
|- - Leka   Цитата(Ynicky @ Oct 24 2009, 00:47) А FPG...   Oct 23 2009, 21:20
- - flipflop   Кто-нибудь реализовал MMU? Поделитесь опытом. Не ...   Dec 5 2009, 14:19
|- - Ynicky   Цитата(flipflop @ Dec 5 2009, 17:19) Кто-...   Dec 6 2009, 09:41
|- - flipflop   Цитата(Ynicky @ Dec 6 2009, 12:41) А что ...   Dec 6 2009, 10:27
|- - Ynicky   Цитата(flipflop @ Dec 6 2009, 13:27) 3) Е...   Dec 6 2009, 12:45
|- - flipflop   Цитата(Ynicky @ Dec 6 2009, 15:45) В моем...   Dec 6 2009, 12:54
|- - Ynicky   Цитата(flipflop @ Dec 6 2009, 15:54) Ясно...   Dec 6 2009, 13:06
|- - flipflop   Цитата(Ynicky @ Dec 6 2009, 16:06) В ASIC...   Dec 6 2009, 13:21
|- - Ynicky   Цитата(flipflop @ Dec 6 2009, 16:21) Ого,...   Dec 6 2009, 13:34
|- - Ynicky   Перешел в тему "Свои процессоры" из ...   May 23 2010, 16:56
|- - =AK=   Цитата(Ynicky @ May 24 2010, 02:26) Предл...   May 25 2010, 07:26
- - Leka   Я бы упростил систему команд, все-таки большинству...   May 24 2010, 21:01
|- - Ynicky   Я как раз и собираюсь "пощупать" процесс...   May 25 2010, 05:43
|- - Leka   Цитата(Ynicky @ May 25 2010, 09:43) А как...   May 25 2010, 08:01
|- - Ynicky   Цитата(Leka @ May 25 2010, 12:01) Пример ...   May 25 2010, 11:12
||- - Ynicky   Начал делать АЛУ и сразу возникла мысль: в операци...   May 25 2010, 15:21
||- - Leka   Цитата(Ynicky @ May 25 2010, 19:21) это н...   May 25 2010, 17:45
||- - Ynicky   Подкорректировал описание.   May 25 2010, 18:23
|- - =AK=   Цитата(Leka @ May 25 2010, 17:31) А зачем...   May 26 2010, 07:43
- - Leka   Проблема вот в чем. На уровне "ассемблерног...   May 25 2010, 21:47
- - Leka   Если регистры не используются одновременно разными...   May 26 2010, 08:28
|- - =AK=   Цитата(Leka @ May 26 2010, 17:58) Если ре...   May 26 2010, 11:14
- - Leka   Из: Кодqueens( int N ){ int count, arow...   May 26 2010, 12:36
|- - =AK=   Цитата(Leka @ May 26 2010, 22:06) Все пер...   May 26 2010, 12:46
|- - Ynicky   Цитата(=AK= @ May 26 2010, 16:46) Я в одн...   May 26 2010, 17:40
|- - Leka   Цитата(Ynicky @ May 26 2010, 21:40) Я пок...   May 26 2010, 19:59
|- - Ynicky   Цитата(Leka @ May 26 2010, 23:59) Тогда р...   May 27 2010, 09:21
- - Leka   А нету временных переменных. Как после: #define in...   May 26 2010, 13:11
|- - =AK=   Цитата(Leka @ May 26 2010, 22:41) А нету ...   May 27 2010, 08:59
|- - Leka   Цитата(=AK= @ May 27 2010, 12:59) ...Соот...   May 27 2010, 09:31
|- - =AK=   Цитата(Leka @ May 27 2010, 19:01) сравнит...   May 27 2010, 10:04
|- - Ynicky   Ну вот, выкладываю первую версию процессора. Проек...   May 30 2010, 07:15
|- - des00   Цитата(Ynicky @ May 30 2010, 02:15) Ну во...   May 30 2010, 10:32
- - Leka   Гораздо проще придумать свой язык и компилятор к н...   May 27 2010, 05:04
- - Leka   Вся система команд с учетом архитектуры будет опис...   May 27 2010, 08:08
- - Leka   Презентации - неинтересно. Первая попавшаяся нерек...   May 27 2010, 12:19
- - Leka   На этой неделе постараюсь выложить первую версию к...   May 31 2010, 22:17
|- - Ynicky   Цитата(Leka @ Jun 1 2010, 02:17) Нужна ещ...   Jun 1 2010, 05:56
- - Leka   Чтобы проще было вылавливать ошибки в компиляторе ...   Jun 1 2010, 22:29
|- - Ynicky   А что означают выражения?: R6[R10]=R7; R13=R3[R10]...   Jun 2 2010, 06:50
- - Leka   Косвенную адресацию памяти R6[R10]=R7; --> S...   Jun 2 2010, 10:31
|- - Ynicky   Закончил "в черне" процессор. Вынес памя...   Jun 2 2010, 19:34
|- - Ynicky   Цитата(Ynicky @ Jun 2 2010, 23:34) Описан...   Jun 5 2010, 16:47
- - Leka   Написал компилятор "ассемблерный" Си --...   Jun 2 2010, 20:50
- - Leka   Первая версия компилятора "ассемблерный...   Jun 7 2010, 19:40
- - Leka   У меня указатель на область локальных переменных а...   Jun 7 2010, 21:25
4 страниц V   1 2 3 > » 


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

 


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


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