PDA

Просмотр полной версии : Project Oberon



AlexG
21.11.2021, 17:24
Решил поднять experience.
Как уже было раннее сказано:
Чего хочу в конечном:
- поднять свой уровень магических умений в языках "программирования" ПЛИС
- научиться писать тестбенчи на SV
- "поднять" оберон систему на современной плате (относительно, в данном случае ZedBoard, если получится "достучаться" тамошней периферии из PL части малой кровью)
- добавить цвета на дисплей, реализовать многопоточность (ну я так это называю), AXI шину - дабы можно было использовать инфраструктуру xilinx по доступным ip-ядрам (возможно и wishbone и тамошние ядра), симметричную многопроцессорную систему и др хотелки.
- возможно видоизменить язык (да здравствует очередной диалект).
- если я осилю первые две хотелку - то уже замечательно.

Что имеется в наличии:
- вивадо (webedition)
- демоплаты ZedBoard & "Avnet AES-A7EV-7A50T-G Kit". Обе они достаточно древние, но они собраны на плисах 7-семейства. Что немаловажно в моём случае (SV есть только в виваде, а он поддерживает только это семейство плис. 6-семейство поддерживает ISE, но там нет SV).
В первой плате есть видеовыход, звук, ком-порты и gpion в виде PMOD.
Во второй плате есть компорты, память DDR3, и др. Но нет видео и звука.

Основные первоисточники "мудрости"
https://people.inf.ethz.ch/wirth/index.html
https://people.inf.ethz.ch/wirth/Oberon/index.html

Отдельно взятый сайт про
http://www.projectoberon.com/

Есть "продолжатели дела Вирта":
это "A revision of the Project Oberon 2013 operating system and a compiler for the programming language Oberon-2 (2020 Edition)"
https://github.com/andreaspirklbauer?tab=repositories

Есть альтернативные реализации "железа"
https://github.com/hgeisse/THM-Oberon.git
ну и ещё ряд других сайтов.

Из "наших" сайтов есть
https://forum.oberoncore.ru/

ПС: "holy war" запрешёно, только аргументированные споры.

- - - Добавлено - - -

Тезисы:
1 - Просьба не путать RISC-V и RISC5. Оба являют собой процессоры, реализованные по принципу risc "reduced instruction set computer".
RISC-V - это опенсоурс в промышленных масштабах.
RISC5 - это творчество Вирта.
У них (у процессоров) разные системы команд, разные архитектурные решения.

- - - Добавлено - - -

Вирт реализовал несколько версий своего процессора. Дабы их различать они были названы RISC0, RISC5 (возможно были и другие оф. версии процессоров).

- - - Добавлено - - -

На текущий момент "реализовал" пару "проектов" на базе оригинальной реализации:
- полностью оргинальный проект для "Digilent Spartan 3"
http://www.projectoberon.net/zip/RISC5Verilog.zip
но с добавленным сигналом "сброс" - иныче сей проект совершенно не моделировался средствами вивадо.
- частично переделанный (по структуре исходных текстов). те например выделена часть "схемы" в отдельный модуль "АЛУ", модуль "системных регистров" итд. тк в исходном проекте весь функционал был "свален" в одну кучу. Это несколько затрудняло понимание "что, где и когда".
ПС: "мои" исходники нигде не выложены и на текущий момент оное не планируется.

- - - Добавлено - - -

На сегодняшний день пока есть загвоздка в том что : "Оберон собирается Обероном", другими словами если нет "работающей ОберонСтанции" - то нет возможности перекомпилировать исходники Оберона. В лучшем случае на текущий момент я могу "писать" в машинных кодах процессора RISC5. Ремарка: описание команд процессора у Вирта крайне скудное и не сильно подробное, некоторые вещи упомянуты вскользь, а некоторые в принципе не рассказаны. Докучи в документации перемешано описание для RISC0 и RISC5.

- - - Добавлено - - -

Была идея преобразовать исходный текст "обеон проект" в текст на Си, дабы уметь компилировать "Оберон исходник" в бинарник для RISC5 под виндами. Однако и здесь "грабли".
ofront+.exe "падает" на таком тексте в "BootLoad.Mod"

//вырезано лишнее
BEGIN
SYSTEM.LDREG(SP, stackOrg);
SYSTEM.LDREG(MT, MTOrg);
//вырезано лишнее
END BootLoad.

BootLoad.mod translating BootLoad
114:15 err 0 undeclared identifier
114:28 err 121 called object is not a procedure (or is an interrupt procedure)
115:15 err 0 undeclared identifier
115:25 err 121 called object is not a procedure (or is an interrupt procedure)

другими словами ofront+.exe судя по всему "не знает" LDREG либо SP либо MT тк это специфика данного железа, а не языка Оберон-7.

Наваял на СИ ассемблер машинных комад, сверяясь с "железной" реализацией.

- - - Добавлено - - -

Оффтоп:
"Зачем козе баян?"
Я вот прочитал сию тему и опечалился: если так пойдёт дальше "нынешние программисты" нафиг не нужны будут лет через десять.
https://semiengineering.com/high-level-synthesis-for-risc-v/
ПС: но сиё не отменяет моих изысканий про теме. Если кто хочет обсудить эту статью - идите во флуд (здесь не требуется оное обсуждение).

Oleg N. Cher
22.11.2021, 08:51
ofront+.exe "падает" на таком тексте в "BootLoad.Mod"

//вырезано лишнее
BEGIN
SYSTEM.LDREG(SP, stackOrg);Ofront+ является транслятором в Си и не умеет напрямую работать с регистрами.
Вообще же не ждите, что все компиляторы будут поддерживать нестандартные фичи из SYSTEM. Согласно описания языка, SYSTEM не является частью языка Оберон и может отличаться в разных его реализациях.

AlexG
22.11.2021, 09:31
Это была констатация фактов - не более того.

Oleg N. Cher
22.11.2021, 14:17
Ну, Ваша проблема, если Вы хотите, чтобы транслятор в Си дал код, работающий на уровне регистров. Это вообще невозможно без нестандартных и непереносимых расширений типа как в Турбо Си.

А где компиль Си в RISC5? Есть уже? Просто не могу тогда понять пляски вокруг RISC5 + Си.

AlexG
22.11.2021, 16:07
1 - "моя хотеть" писать текст программы в текстовом редакторе на винде, компилить на винде, а полученный бинарник запускать на проце в плисе.
из всего этого у меня есть редактор, виндовс, и плиса с процом.
исходный язык программы не сильно важен (оберон или Си).

AlexG
04.12.2021, 21:09
Наваял на СИ ассемблер машинных комад, сверяясь с "железной" реализацией.
Пока не ясно с "опциями" u v для команд FAD и FSB
PS:
Вот эти австралийцы - редиски.
https://www.astrobe.com/
они полностью игнорируют почту mail.ru & gmai.com
Даже на форуме тамошнем не зарегистрироваться никаким бесом.

Oleg N. Cher
05.12.2021, 14:19
Попробуй публично обратиться к Chris Burrows (CFB Software) в рассылке. Может ответит просто из соображений поддержания имиджа. Мне он в своё время отвечал на личные письма.

https://lists.inf.ethz.ch/mailman/listinfo/oberon

Вот ещё какой-то около-RISC5 сайт: https://oberon-rts.org

Smalovsky
15.09.2025, 11:17
AlexG, ты в какой среде компилировал - в истинной ос Виндоус или в лукавой линукс? Мне линуксойдные проекты не нравятся. Линуксойды утилиты в проект добавляют, которые на истинной ос Виндоус не дают проект собрать.

AlexG
16.09.2025, 00:26
В конечном счёте без разницы... обе ос геморройны. каждая по своему

- - - Добавлено - - -

По теме. Увы пока занят работой и хоз. деятельностью.

Smalovsky
16.09.2025, 12:24
AlexG, ты б хоть про прогресс написал. Фотки оберон-станции рабочей скинул. Или уже забросил?

AlexG
16.09.2025, 21:16
1) фотки "станций" есть в инете. 2) читай предыдущее сообщение внимательно.

Smalovsky
17.09.2025, 23:06
AlexG, так ты ещё на месте стоишь.