Автор Тема: Project Oberon (New Edition 2013)  (Прочитано 46739 раз)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #30 : Декабрь 06, 2013, 12:45:11 am »
В 17.2.4 видимо опечатка:
Цитировать
From a 15 MHz clock rate results a refresh rate of 53.5 frames/s.

Должно быть:
Цитировать
From a 25 MHz clock rate results a refresh rate of 53.5 frames/s.

 PS. а еще я не понимаю там что такое clk25 и чем оно отличается от clk
Y = λf.(λx.f (x x)) (λx.f (x x))

ddn

  • Jr. Member
  • **
  • Сообщений: 59
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #31 : Декабрь 06, 2013, 08:43:21 am »
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola
Зачем ему богомерзкий Verilog?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #32 : Декабрь 06, 2013, 08:50:42 am »
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola
Зачем ему богомерзкий Verilog?
А синтез для Xilinx кто делать будет? Компилятора не достаточно. А лучше родного софта под данный конкретный кристалл никто не сделает.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #33 : Декабрь 06, 2013, 09:02:45 am »
Кстати, про Дракон и другие рисовалки:

Цитировать
Nowadays circuits are no longer described in terms of elaborate diagrams, but rather as a
formal text. This lets circuit and program design appear quite similar. The circuit description language – we here use Verilog – appears almost the same as a programming language. But one must be aware that differences still exist, the main one being that in software we create mostly sequential processes, whereas in hardware everything “runs” concurrently. However, the presence of a language – a textual definition – is an enormous advantage over graphical schemata.

Это Вирт, пишет тут: http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf
Y = λf.(λx.f (x x)) (λx.f (x x))

kkkk

  • Full Member
  • ***
  • Сообщений: 135
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #34 : Декабрь 06, 2013, 09:11:17 am »
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola
Вот как? Тогда вопрос об освоении новой технологии Виртом не стоит, скорее всего он знал уже достаточно.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #35 : Декабрь 06, 2013, 09:15:21 am »
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola
Вот как? Тогда вопрос об освоении новой технологии Виртом не стоит, скорее всего он знал уже достаточно.
Он этой Lola занимался в 1994 году примерно.
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #36 : Декабрь 06, 2013, 09:24:14 am »
Кстати, про Дракон и другие рисовалки:

Цитировать
Nowadays circuits are no longer described in terms of elaborate diagrams, but rather as a
formal text. This lets circuit and program design appear quite similar. The circuit description language – we here use Verilog – appears almost the same as a programming language. But one must be aware that differences still exist, the main one being that in software we create mostly sequential processes, whereas in hardware everything “runs” concurrently. However, the presence of a language – a textual definition – is an enormous advantage over graphical schemata.

Это Вирт, пишет тут: http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf

Зависит от масштабов задачи. Простые платы типа контроллеров для приборчиков проще рисовать на бумажке, макетировать на картонке, а затем трассировать в каком-нить PCAD'е...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

ddn

  • Jr. Member
  • **
  • Сообщений: 59
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #37 : Декабрь 06, 2013, 09:27:35 am »
Ничего не понял.

А синтез для Xilinx кто делать будет? Компилятора не достаточно.
Какого компилятора? Который оберон-текст переводит в команды FPGA? Так эта Lola вроде другое делает: логическое описание схемы она переводит в непосредственный рисунок для литографии, или в прямые команды для литографической машины, или что там у них. То есть тоже что делает Verilog.

А лучше родного софта под данный конкретный кристалл никто не сделает.
Какого софта? Если под конкретный кристалл, то значит кристалл на котором уже сформирована схема, тогда это микрокод, компилятор. Разве Xilinx вообще пишет компиляторы под Обероны?

И зачем нужно лучше? Главное чтобы софт правильно работал. Разве система команд FPGA такая сложная, что правильный компилятор под нее никто кроме Xilinx не напишет?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #38 : Декабрь 07, 2013, 01:11:19 pm »
Покурил я Spartan-3, вывод - максимум что там можно сделать с VGA, это 8 цветов. Для большего нужно, видимо, внешний DAC прикручивать (на плате его нет) и уже через него гнать сигнал.

Кроме того, SRAM там всего 1 мегабайт. На восьмицветный видеобуфер нужно будет из этого мегабайта выделить 288 килобайт памяти. Что, IMHO, слишком жирно будет, хотя может для каких-то задач и пойдет. Нужно будет посмотреть что там с памятью в системе. :-)

Зато можно легко и непринужденно сделать выбор цвета foreground'a и background'a (выбор - из этих вот восьми цветов) с переключением на лету, прямо из Оберон ОС. То есть картинка у нас двуцветная все равно, но можно сделать чтобы это было не черно-белое, а например зелено-красное :-D

Кроме того у Вирта там уже воткнута возможность инвертации - то есть можно легко переключать из черно-белого режима в бело-черный и обратно (типа ночной и дневной режим).
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #39 : Декабрь 08, 2013, 10:15:14 pm »
В плане выбора платы таки склоняюсь к DE2-115. Да, это дорого. Зато, в отличие от других вариантов, тут есть 4 битный VGA DAC которые может работать на 108 МГц, что дает максимальное разрешение 1280x1024 и 4096 цветов. Более младшие, типа DE0 дают максимальное разрешение 640x480, что для Оберона маловато будет.

Кроме того тут есть SRAM на 2 Мегабайта, обычно же на платах (Spartan-3 тут пожалуй исключение) SRAM'а меньше - 0.5 Мб а то и меньше (зато есть SDRAM, но с ней возиться долго и мучительно).

Ну и наконец DE2-115 это любимая девборда для тех кто пытается какой-либо комп воссоздать. Например на нем писишку сделали: http://habrahabr.ru/post/146160/ А вот и NES (ака Денди): http://habrahabr.ru/post/185872/

Так что если брать не просто под Оберон, а не вырост под другие проекты тоже (в том числе чтобы Оберон сделать цветным да полезным), то это наверное лучший вариант.

PS. Также у Алтеры среда разработки много продуманней и человечней чем у Xilinx'a.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #40 : Декабрь 09, 2013, 09:06:14 pm »
Кстати, вот тут исходники Lola доступны: http://www.cs.inf.ethz.ch/projects/lola/lola_lang/
Как-то их там подозрительно мало - всего 4 модуля ;-)
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #41 : Декабрь 09, 2013, 09:22:08 pm »
Ничего не понял.

А синтез для Xilinx кто делать будет? Компилятора не достаточно.
Какого компилятора? Который оберон-текст переводит в команды FPGA? Так эта Lola вроде другое делает: логическое описание схемы она переводит в непосредственный рисунок для литографии, или в прямые команды для литографической машины, или что там у них. То есть тоже что делает Verilog.
...
И зачем нужно лучше? Главное чтобы софт правильно работал. Разве система команд FPGA такая сложная, что правильный компилятор под нее никто кроме Xilinx не напишет?
Система команд - это немного не то слово :-)
Вот тут описано подробнее все сложности написания чего-то своего: http://dfusion.com.au/wiki/tiki-index.php?page=Open+source+FPGA+place+and+route
Y = λf.(λx.f (x x)) (λx.f (x x))

Губанов Сергей Юрьевич

  • Hero Member
  • *****
  • Сообщений: 590
    • Просмотр профиля
    • Домашняя страница
Re: Project Oberon (New Edition 2013)
« Ответ #42 : Декабрь 10, 2013, 12:43:55 pm »
Для сравнения современнейший Macintosh II вышедший в 1987 году умел максимум 640×480. А стоил он $5,498, что в пересчете на сегодняшние деньги примерно составляет порядка $11300.
Кажется ты ещё один нолик забыл дописать  :)


Данных за 26 лет я не собирал, но вот за последние 10 лет случилась 2.72 кратная официальная инфляция, а неофициальная ещё больше - примерно четырёхкратная.


Десять лет назад доллар стоил столько же сколько и сейчас (32 - 33 рубля). То есть вся случившаяся рублёвая инфляция на сто процентов обусловлена импортированной к нам инфляцией доллара. Официальная инфляция рубля за последние 10 лет по данным ЦБ:
i2003 = 1.12;
i2004 = 1.117;
i2005 = 1.109;
i2006 = 1.09;
i2007 = 1.119;
i2008 = 1.133;
i2009 = 1.088;
i2010 = 1.088;
i2011 = 1.061;
i2012 = 1.066;
i2013 = 1.061;
iTotal = i2003*i2004*i2005*i2006*i2007*i2008*i2009*i2010*i2011*i2012*i2013
2.72355

 Это уже больше чем у тебя за 26 лет.


Кстати, если просто по золоту посмотреть, то его цена в рублях за последние 10 лет выросла в 3.71 раза. Что хорошо согласуется с неофициальной (четырёхкратной) величиной инфляции.


valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #43 : Декабрь 10, 2013, 01:38:59 pm »
Я пользовался инфляционным калькулятором.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #44 : Декабрь 17, 2013, 09:48:48 am »
Что-то я опять не понимаю. Вот тут у Вирта явно используется старая семантика CASE:
https://github.com/ilovb/ProjectOberon2013/blob/master/RISC.Mod#L31

Выходит у него часть исходников к книге писана на одном языке, а часть на другом.
Y = λf.(λx.f (x x)) (λx.f (x x))