Сообщения без ответов | Активные темы Текущее время: 25 апр 2024, 21:19



Ответить на тему  [ Сообщений: 411 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 21  След.
 Очень низкоуровневый эмулятор 6502 / NES 
Автор Сообщение
Сообщение 25 фев 2013, 14:32
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Приспособил ДРАКОН для целей эмулятора, потихоньку переношу весь код в него.
Действительно удобно!

Вкратце, кто не знаком с ДРАКОНом -- это просто специальная среда, где программы представляются в виде особенных блок-схем.
Блок-схемы отличаются от стандартных своей аккуратностью, благодаря особому расположению (особенно мощная штука - это branch).

На выходе генератор выдает Си-код.

-- 25 фев 2013, 15:50 --

Оказалось что багов там куча, так что пока автор не исправит генерацию, использовать дракон к сожалению пока нельзя (((

-- 25 фев 2013, 16:53 --

Пока автор правит баги генератора, я просто буду делать дракон-схемы, которые выдают небагнутый код :)


Вложения:
branch.jpg
branch.jpg [ 50.7 КБ | Просмотров: 16129 ]
drakon.jpg
drakon.jpg [ 136.48 КБ | Просмотров: 16129 ]
Сообщение 25 фев 2013, 18:06
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Выглядит ватой О_о. Ну то есть для блоксхем норм, хотя есть более удобные вещи. А для чего это использовать как генератор кода? Там и так код простой как 2 рубля. В драконе он только усложняется.


Сообщение 25 фев 2013, 18:08
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Схемой проще ориентироваться и менять блоки местами, особенно для рандомной логики, потому что там запутанный propagation delay.
Если ты помнишь последний стрим, я там как раз пытался блок-схему сделать для рандомной логики но зафейлил )


Сообщение 25 фев 2013, 19:31
Профиль ICQ
Аватара пользователя

Зарегистрирован:
28 дек 2012, 05:58
Сообщения: 19
Откуда: Курган
Akari писал(а):
Выглядит ватой О_о. Ну то есть для блоксхем норм, хотя есть более удобные вещи.

Дело в том, что Дракон - это не вот эта среда, а "визуальный язык описания алгоритмов". Там есть определённые правила, благодаря которым легко и понятно рисуются алгоритмы (даже довольно сложные) и уменьшается вероятность появления алгоритмических ошибок. Придуман был в лохматых восьмидесятых для космических целей.

А вот среда - да, кривая пока и косая. Причём есть и другие, но они вроде ещё хуже.


Сообщение 25 фев 2013, 19:57
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570


Сообщение 26 фев 2013, 07:09
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Нет возможности смотреть стрим онлайн, но с удовольствием скачиваю и смотрю оффлайн. Иногда забываю и порываюсь написать в оерси правильные ответы лол.

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 26 фев 2013, 08:54
Профиль

Зарегистрирован:
04 янв 2011, 22:07
Сообщения: 29
org, я тут натыкался на интересную вещь:
LabView -
отличительная особенность от любого другого языка в том, что все объекты в
ней выполняются параллельно! Поэтому мышление под LabView
надо сменить с понятий
бесконечных циклов на понятия,
связанные с событиями: ожидание,
срабатывание и аргументы функции
обработки события. И редактор по типу блок-схем. В общем глянь может больше дракона заинтересует


Сообщение 26 фев 2013, 09:06
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Может сразу на схемный ввод Альтеры перейдем? Там тоже, ассинхронные события и симуляция есть. :3

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 26 фев 2013, 09:22
Профиль ICQ
Аватара пользователя

Зарегистрирован:
28 дек 2012, 05:58
Сообщения: 19
Откуда: Курган
Ага, лучше сразу в Квартусе рисовать, чем в LabView. =)


Сообщение 26 фев 2013, 10:41
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Вы что-то совсем в железячные дебри ударились, не забывайте, что целевая платформа для проекта - это компилятор Си, где нет параллелизма :)
ДРАКОНа вполне хватает, но в итоге всё равно придется руками оптимизировать код. ДРАКОН нужен только для анализа последовательности выполнения.


Сообщение 26 фев 2013, 13:49
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Ну лично я заинтересован в аппаратном точном клоне. Но для этого мне нужно понимать, что делает тот или иной блок и, самое главное, как. Я вот пАПУ стал смотрет и пока только расплывчатое представление имею. Видимо, надо еще что-то покурить перед этим.

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 26 фев 2013, 17:26
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Закончена схема верхней части 6502, спасибо ДРАКОНу!

Название блоков в целом самоописательное. 1 или 0, которые передаются в качестве второго параметра у некоторых блоков означают что:
1 - блок работает "наружу", то есть если взять за пример защёлку - то её схема выдает наружу текущее значение;
0 - блок работает "внутрь", то есть принимает контрольные сигналы и изменяет своё состояние.

Проблема разбора схемы была в том, что ряд блоков процессора работает именно так.

Наглядный пример - это счетчик тактов инструкции. Перед декодированием он выдает в схему текущее значение, а после декодирования увеличивает своё значение на 1 или сбрасывается.

Теперь осталось доделать каждый блок.
Кстати схему прогонял через компилятор - всё компилируется )

-- 26 фев 2013, 19:46 --



Вложения:
6502_diag.png
6502_diag.png [ 129.18 КБ | Просмотров: 16041 ]
Сообщение 03 мар 2013, 18:42
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570


-- 03 мар 2013, 19:36 --

Изображение

PSD: http://breaknes.com/files/APU/SQUARE1.zip


Сообщение 04 мар 2013, 19:34
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570


Сообщение 05 мар 2013, 20:33
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570


Сообщение 06 мар 2013, 21:01
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570


Сообщение 08 мар 2013, 18:08
org писал(а):
Оказалось что багов там куча, так что пока автор не исправит генерацию, использовать дракон к сожалению пока нельзя (((
Пока автор правит баги генератора, я просто буду делать дракон-схемы, которые выдают небагнутый код :)

Я автор редактора.
Правильность кодогенерации - первейший приоритет проекта.
Пожалуйста, сообщите, какие баги встретились.
Разберёмся с ними быстро и жёстко.
:)


Сообщение 10 мар 2013, 10:22
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Да уже вроде разобрались по почте ) Кодогенерация жестковатая просто получается (куча goto).


Сообщение 11 мар 2013, 19:50
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570


Сообщение 19 мар 2013, 13:58
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Покряхтел немного над контактом /NMI :

Транзисторная схема:
Изображение

Эквивалентная логическая:
Изображение

И немного причесал (избавился от инверторов)
Изображение

Получилось ни что иное как D flip/flop :D
Изображение


Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 411 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 21  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB