Приспособил ДРАКОН для целей эмулятора, потихоньку переношу весь код в него. Действительно удобно!
Вкратце, кто не знаком с ДРАКОНом -- это просто специальная среда, где программы представляются в виде особенных блок-схем. Блок-схемы отличаются от стандартных своей аккуратностью, благодаря особому расположению (особенно мощная штука - это branch).
На выходе генератор выдает Си-код.
-- 25 фев 2013, 15:50 --
Оказалось что багов там куча, так что пока автор не исправит генерацию, использовать дракон к сожалению пока нельзя (((
-- 25 фев 2013, 16:53 --
Пока автор правит баги генератора, я просто буду делать дракон-схемы, которые выдают небагнутый код
Выглядит ватой О_о. Ну то есть для блоксхем норм, хотя есть более удобные вещи. А для чего это использовать как генератор кода? Там и так код простой как 2 рубля. В драконе он только усложняется.
Схемой проще ориентироваться и менять блоки местами, особенно для рандомной логики, потому что там запутанный propagation delay. Если ты помнишь последний стрим, я там как раз пытался блок-схему сделать для рандомной логики но зафейлил )
Выглядит ватой О_о. Ну то есть для блоксхем норм, хотя есть более удобные вещи.
Дело в том, что Дракон - это не вот эта среда, а "визуальный язык описания алгоритмов". Там есть определённые правила, благодаря которым легко и понятно рисуются алгоритмы (даже довольно сложные) и уменьшается вероятность появления алгоритмических ошибок. Придуман был в лохматых восьмидесятых для космических целей.
А вот среда - да, кривая пока и косая. Причём есть и другие, но они вроде ещё хуже.
Нет возможности смотреть стрим онлайн, но с удовольствием скачиваю и смотрю оффлайн. Иногда забываю и порываюсь написать в оерси правильные ответы лол.
_________________ Tried so hard and got so far, but in the end, it doesn't even matter...
org, я тут натыкался на интересную вещь: LabView - отличительная особенность от любого другого языка в том, что все объекты в ней выполняются параллельно! Поэтому мышление под LabView надо сменить с понятий бесконечных циклов на понятия, связанные с событиями: ожидание, срабатывание и аргументы функции обработки события. И редактор по типу блок-схем. В общем глянь может больше дракона заинтересует
Вы что-то совсем в железячные дебри ударились, не забывайте, что целевая платформа для проекта - это компилятор Си, где нет параллелизма ДРАКОНа вполне хватает, но в итоге всё равно придется руками оптимизировать код. ДРАКОН нужен только для анализа последовательности выполнения.
Ну лично я заинтересован в аппаратном точном клоне. Но для этого мне нужно понимать, что делает тот или иной блок и, самое главное, как. Я вот пАПУ стал смотрет и пока только расплывчатое представление имею. Видимо, надо еще что-то покурить перед этим.
_________________ Tried so hard and got so far, but in the end, it doesn't even matter...
Закончена схема верхней части 6502, спасибо ДРАКОНу!
Название блоков в целом самоописательное. 1 или 0, которые передаются в качестве второго параметра у некоторых блоков означают что: 1 - блок работает "наружу", то есть если взять за пример защёлку - то её схема выдает наружу текущее значение; 0 - блок работает "внутрь", то есть принимает контрольные сигналы и изменяет своё состояние.
Проблема разбора схемы была в том, что ряд блоков процессора работает именно так.
Наглядный пример - это счетчик тактов инструкции. Перед декодированием он выдает в схему текущее значение, а после декодирования увеличивает своё значение на 1 или сбрасывается.
Теперь осталось доделать каждый блок. Кстати схему прогонял через компилятор - всё компилируется )
Оказалось что багов там куча, так что пока автор не исправит генерацию, использовать дракон к сожалению пока нельзя ((( Пока автор правит баги генератора, я просто буду делать дракон-схемы, которые выдают небагнутый код
Я автор редактора. Правильность кодогенерации - первейший приоритет проекта. Пожалуйста, сообщите, какие баги встретились. Разберёмся с ними быстро и жёстко.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения