Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Игра «Жизнь» на логических элементах. Эмулятор логических схем


Игра «Жизнь» на логических элементах / Хабр

Заранее предупрежу: довольно много картинок.

В данной статье речь пойдёт о реализации игры «Жизнь» на логических элементах в симуляторе «Atanua». Игра «Жизнь» является, пожалуй, одним из самых узнаваемых клеточных автоматов. Про неё написано не одна статья, в том числе и на Хабрахабре. Когда-то тоже заинтересовался ей, но как-то надолго не хватило.

Напомню, что такое «Жизнь»:Имеется некоторая матрица из клеток, которая зовётся «вселенной» (в идеале бесконечная). На каждой итерации (называемые «днями») любая клетка может быть «живой» или «мёртвой», причём её состояние зависит от предыдущей итерации по следующим правилам:
  • Клетка оживает, если в её окрестности имеются 3 живые клетки.
  • Клетка продолжает жить, если в ёе окрестности живы 2 или 3 клетки.
  • В иных случаях клетка умирает.
Окрестностью клетки считаются 8 окружающих её клеток (см. двумерная окрестность Мура порядка 1).

Подробнее о «Жизне» можно узнать в Википедии.

Позже услышал где-то, что современные компьютеры имеют ограничение в скорости вызванное, в том числе и наличием некоторого канала связи между памятью и вычислительным ядром. В качестве решения предлагалось собрать считающую память. Я уже точно не помню, то ли я сам вспомнил про «Жизнь», то ли она упоминалась в той статье, но я захотел смоделировать её в логической схеме (если быть точным, то в матрице одинаковых схем). Почему именно «Жизнь»? Основными причинами были её распространённость и известность, а также тот факт, что «вселенные» в ней полны по Тьюрингу, что позволяет производить на ней любые вычисления и решать разнообразные задачи. Получается, на основе данного клеточного автомата можно создать компьютер.

В качестве инструмента был выбран симулятор Atanua (официальный сайт), так как довольно лёгкий в освоении и отображает состояние всех линий. В конечном итоге получилось следующее:

Схема одной ячейки Одной удобной особенностью симулятора «Atanua» является то, что можно подключать схемы как, своего рода, микросхемы в другие проекты. Этим я и воспользовался, собрав матрицу для отладки и экспериментов.Матрица ячеек Для более подробного рассмотрения левый верхний угол:

Кнопка «r» используется для сброса схемы. Кнопки, подписанные как «0», используются для установки ячейки в живое состояние. Хочу заметить, сброс повторным нажатием пока не реализован. 3 нижних заземления используются как ограничители схемы, чтобы не появлялось разнообразных артефактов. В Atanua провод может иметь 4 состояния:

  • тёмно-зелёный: лог. 0;
  • светло-зелёный: лог. 1;
  • красный: не правильно подключён;
  • белый: не подключён (неопределённое состояние).
При этом, если на вход логического элемента подано неопределённое состояние, то некоторые могут распознать его как 0, а некоторые как 1. Для этого и были поставлены ограничители в виде установки неиспользуемых выводов в 0.

На верхнее заземление не обращайте внимания. Первоначальный вариант схемы требовал инициализации, для чего этот выход и использовался. В настоящее время – это рудимент (чтобы не переделывать матрицу), и его состояние может быть любым. Ещё один провод, уходящий за край рисунка – это вывод тактового сигнала. Он идёт к набору генераторов, на которых тестировал максимальную скорость.

Теперь поподробнее о схеме ячейки. Из-за проблем с качеством скриншотов, я буду давать рисунки отдельных узлов.

Регистр

На рисунке выше представлен 2-х разрядный зацикленный сдвиговый регистр на D триггерах, который выступает в роли памяти. С ним связан один не хороший момент, который мне ещё предстоит поправить: во время работы схема как бы мигает, так как в активном состоянии (когда в данный регистр записана информация, то есть в состоянии живой клетки) триггеры обмениваются между собой 0 и 1 и получается, что на выходе F (выход на индикацию состояния, на светодиод например) имеем то 0, то 1 (это заметно на видео в конце статьи). RST – это вход сброса. SET – вход установки ячейки в состояние живой клетки. Как уже упоминалось, сброс отдельной ячейки пока не предусмотрен. Слева сверху подходит тактовый сигнал. О соседних двух проводах далее.

Блок проверки

В блоке проверки осуществляется проверка на условие игры. Сверху на рождение, снизу на выживание. Особенность данного блока состоит в том, что его можно подстроить и под другие правила, тем самым организовав аналогичные клеточные автоматы. Слева подходят выходы с сумматоров, снизу – те самые два провода, которые идут к регистру. Они, по сути, подсоединяются в разрез одной из передаточных линий регистра.

Сумматоры

Пожалуй, самой большой и противоречивой частью схемы являются параллельно-последовательно подключенные сумматоры. Реализовав его, я решил проблему проверки необходимых условий «в лоб», просуммировав все входы A0-A7 от соседних ячеек и проверив результат на соответствие условиям. В данном случае суммируются сначала входы A0+A1+A2, A5+A6+A7, потом результат второй суммы выводы A3 и A4 и так далее. В конечном итоге получилось в конечном итоге 6 сумматоров и 1 полусумматор. Стоит отметить один из сумматоров можно также заменить на полусумматор, т.к. один из его входов не используется. Зачем я сделал один заземлённый вход (слева снизу тёмно-зелёный уходящий за пределы рисунка) – не помню. Изначально хотел её упростить при помощи ДНФ или КНФ, но решать карту Карно 16x16 желания пока не возникает. Так что не исключаю, того момента, что этот модуль может иметь альтернативный вид.

C – это вход таковой частоты, к схеме сумматоров отношения не имеет, идёт к регистру. Про Init я писал выше – рудимент от прошлого варианта.

Итог

Я не считаю игру «Жизнь» достойным клеточным автоматом для реализации считающей памяти, так как «программа» для такого компьютера займёт довольно много места и сложна в реализации. Но всё же схема позволяет по мечтать о микросхеме с реализацией ячеек этой игры. Думаю это было бы довольно интересно, увидеть аппаратную реализацию данного клеточного автомата. Причём я имею ввиду не микроконтроллеры с программой, а исключительно на ячейках из логических элементов.

Что же касается схемы, в ней конечно хватает недоработок, но для экспериментов вполне хватает. Буду ли её дорабатывать? Честно говоря, не знаю, как душа ляжет.

Напоследок несколько видео с работой:

Планер:

Малый корабль:

Уместился и пентадекатлон:

Файлы с проектом на Google Drive.

Некоторое пояснение по содержимому:

live.atanua — ячейка; LiveFieldM.atanua — матрица; LiveField.atanua — небольшой элемент матрицы (8x8) из которых создавался LiveFieldM. Края не заземлены.

Для обнаружения сложить в одну папку. Если не поможет, отредактируйте файлы в любом текстовом редакторе (по структуре, обычные XML).

habr.com

Logisim

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

Программа Logisim имеет простой графический интерфейс и в первую очередь применяется в качестве образовательного инструмента. Приложение включает в себя: панель инструментов, строку меню, панель проводника (со списком схем и инструментов загруженных библиотек), таблицу атрибутов выделенного компонента или инструмента и рабочее окно с компонентами схемы.

Программа Logisim имеет обширную библиотеку. Среди основных элементов можно отметить: блок логических элементов (управляемый инвертор и буфер, НЕ, ИЛИ, И, четность и нечетность и т.д.), элементы проводки (разветвитель, датчик, контакт, согласующий резистор, передаточный вентиль, тоннель и т.д.), элементы ввода/вывода (кнопка, клавиатура, джойстик, светодиод, семисегментный индикатор, терминал, светодиодная матрица и т.д.), набор мультиплексоров, блок арифметических операций (сумматор, множитель, вычитатель, делитель, компаратор, отрицатель и т.д.), элементы памяти (триггеры, регистры, ОЗУ и ПЗУ, счетчики, генераторы случайных чисел и т.д.). Приложение также позволяет рисовать вертикальные/горизонтальные проводники и осуществляет их автоматическое подключение к элементам схем.

Программа Logisim дает возможность не только рисовать цифровые схемы, но и симулировать их поведение. При этом просчет процессов происходит прямо в ходе редактирования схемы – изменяются значения на входах/выходах, элементы вывода отображают соответствующую информацию, обновляется состояние устройств памяти, а провода в зависимости от значений меняют свой цвет. Для схем с тактовыми генераторами моделирование можно осуществлять либо потактово, либо путем установки максимальной тактовой частоты.

Одной из важнейших возможностей программы Logisim является создание подсхем с целью повторного применения уже спроектированных частей, а также для упрощения процесса отладки. Приложение включает небольшой редактор векторной графики, способный менять внешний вид и расположение контактов подсхем при их добавлении в другие схемы. Еще один модуль – «Комбинационный анализ» – позволяет преобразовывать данные между логическими выражениями, логическими схемами и таблицами истинности, давая возможность конвертировать информацию во всех направлениях. Все провода в программе Logisim имеют один из семи цветов, несущих информацию об их назначении. Провода можно собирать в пучки с назначением порядка входа в пучок. Кроме того поддерживается: создание на языке Java пользовательских библиотек компонентов, привязка любого инструмента к определённой комбинации клавиш, вывод полной статистики по количеству и типам компонентов, содержащихся в схеме. Необходимо отметить, что программа Logisim не дает возможности работать с аналоговыми элементами.

Программа Logisim была разработана преподавателем Hendrix College, профессором Карлом Берчем (США, штат Арканзас, город Конуэй). Перевод на русский язык был выполнен Ильей Лиловым. Данный инструмент моделирования логических схем впервые появился в 2001 году, и с тех пор регулярно обновляется и дополняется.

Приложение Logisim является свободным программным обеспечением (лицензия GNU GPL). Софт включает в себя: справку по элементам библиотеки, полное руководство пользователя и краткое пособие для начинающих.

Программа Logisim представлена на русском (включая полную документацию), английском, немецком, испанском, португальском и греческом языках.

Для работы рассматриваемого конструктора схем необходимо наличие пакета Java Runtime Environment (5 версии или более поздней). Программа Logisim является кроссплатформенным программным обеспечением и работоспособна на операционных системах: Microsoft Windows (поддерживаются все последние версии), MacOS, Linux и Solaris. Дистрибутив приложения содержит один исполняемый файл, не требующий установки.

Распространение программы: бесплатная.

Официальный сайт Logisim: http://cburch.com

Форматы файлов Logisim: CIRC

Скачать Logisim

Обсуждение программы на форуме

cxem.net

LTspice/SwitcherCAD

SPICE-симулятор для проведения компьютерного моделирования работы аналоговых и цифровых электрических цепей.

LTspice (он же SwitcherCAD) представляет собой универсальную среду для проектирования и создания электрических схем с интегрированным симулятором смешанного моделирования. Программа позволяет быстро менять компоненты и параметры электронных схем, испытывать работоспособность новых вариантов, находить оптимальные решения. Возможна загрузка списка соединений, сгенерированного другими инструментами для рисования схем или созданного вручную (расширения *.sp, *.cir, *.net или *.but). От аналогичных программ (Microcap, OrCAD) рассматриваемое ПО отличается малым объемом необходимого дискового пространства и более высокой скоростью моделирования процессов.

LTspice содержит полную библиотеку компонентов компании Linear Technology Corporation (пассивные элементы и интегральные схемы, включая редкие модели импульсных контроллеров и регуляторов). Поскольку программа использует стандартные SPICE-модели электронных деталей, к имеющейся базе можно добавлять библиотеки сторонних производителей, а также создавать свои собственные модели. Редактор имеет иерархическую структуру, рисование электронных цепей средней и большой сложности выполняется с помощью создания подсхем. Глубина иерархии и размер схемы ограничиваются только ресурсами компьютера.

Данный симулятор позволяет проводить: • амплитудно-частотный анализ, при этом необходимо установить количество точек данных между линиями, тип шкалы, нижнюю и верхнюю частоты; • анализ переходных процессов; • спектральный анализ, который возможен лишь после исследования переходных процессов; • анализ гармоник, включающий вычисление уровней и общего коэффициента гармонических искажений в процентах; • спектральный анализ шумовых характеристик в выбранной точке схемы, а также шумовые характеристики, приведенные к входу.

Кроме этого в LTspice можно построить семейство амплитудно-частотных характеристик при пошаговом изменении номинала выбранного элемента. Результаты всех моделирований отображаются в графическом окне, при этом существует возможность их дальнейшего анализа.

В отличие от других программ LTspice способен записывать в wav-файл сигнал из любой точки цепи. Частота дискретизации и количество разрядов устанавливаются пользователем, а полученный файл может редактироваться в специализированной программе. Данные из файлов с расширением *.wav, помимо внутренних источников, генерируемых программой, могут являться входными сигналами рабочих схем.

Для проектирования печатных плат предусмотрено построение списка соединений с функцией упорядочивания следования имен выводов. Из недостатков LTspice необходимо отметить довольно неудобный интерфейс и ограниченное количество библиотек элементов.

Программный комплекс LTspice разработан в компании Linear Technology. Организация была основана в 1981 году и базируется в городе Милпитас (Калифорния, США). Компания проектирует, производит и продает линейные интегральные микросхемы – источники и регуляторы напряжения, компараторы, усилители, линейные регуляторы, зарядные устройства батарей, монолитные фильтры, Ethernet-контроллеры, конвертеры DC-DC и данных. Ее продукция используются в мобильных телефонах, сетевых решениях, ноутбуках и настольных компьютерах, устройствах контроля безопасности, медицинских устройствах, автомобильной электронике, системах спутниковой навигации и управления производственными процессами.

Дистрибутив программы включает в себя готовые примеры схем и руководство пользователя.

Язык интерфейса LTspice – английский, однако в интернете можно найти самодельный русификатор.

Рассматриваемое ПО регулярно обновляется и поддерживает все операционные системы семейства Microsoft Windows.

Распространение программы: бесплатная

Официальный сайт LTspice/SwitcherCAD: http://www.linear.com/designtools/software/

Форматы файлов LTspice: ASC

Скачать LTspice/SwitcherCAD

Обсуждение программы на форуме

cxem.net

Анализ программных средств эмуляции логических схем

Исследование логических схем, их построения и эмуляции работы в различных программных средствах, предназначенных для этого. Electronics Workbench 5 - разработка фирмы Interactive Image Technologies, ее возможности. Уровне базы Multisim. Ключевые особенности Proteus. Предметом исследования являются логические схемы, особенности их построения и эмуляции работы в различных программных средствах, предназначенных для этого. Мировым лидером в области автоматизации схемотехнического проектирования можно считать программу SPICE. Она была разработана в университете Беркли, США в 1972 г.. Различные версии этого алгоритма были в разное время заимствованы производителями программного обеспечения для использования в своих продуктах и ​​в настоящее время под этим названием известен ряд программ различных фирм. В силу использования единого вычислительного алгоритма программы различных производителей представляют собой по большому счету всего лишь графические оболочки, предоставляющих пользователю доступ к функциям программы SPICE, а также некоторые дополнительные возможности обработки полученных данных. Multisim - программа, предназначенная для профессиональной разработки электронных схемотехнических элементов и моделирования. Является одной из немногих программ, которые используют оригинальную программную SPICE-симуляцию, разработанную в Беркли. Multisim является дальнейшей эволюцией программы Electronics Workbench от Interactive Image Technologies. В 2005, Interactive Image Technologies была приобретена National Instruments Electronics Workbench Group и Multisim сменил название на NI Multisim. Широко используется в науке, образовании и промышленности для построения электрических цепей, создания электронных схем и SPICE-моделирования. Пользовательская база данных (User Database) соответствует текущему пользователю компьютера. Она предназначена для хранения компонентов, которые нежелательно предоставлять в общий доступ; Корпоративная база данных (Corporate Database). Предназначена для тех компонентов, которые должны быть доступны другим пользователям из сети. 1) Sources. Содержит все источники напряжения и тока, заземления. Например, power sources (источники постоянного, переменного тока, заземления, беспроводные соединения - VCC, VDD, VSS, VEE), signal voltage sources (источники прямоугольных импульсов, источник сигнала через определенные промежутки времени), signal current sourses (постоянные, переменные источники тока, источники прямоугольных импульсов 2) Basic. Содержит основные элементы схемотехники резисторы, индуктивные элементы, емкостные элементы, ключи, трансформаторы, реле, коннекторы и т.д. 4) Transistors. Содержит различные виды транзисторов: pnp-, npn-транзисторы, биполярные транзисторы, МОП-транзисторы, КМОП-транзисторы и т.д. PROTEUS VSM - пакет программ для моделирования и автоматизированного проектирования электронных схем, разработанный компанией Labcenter Electronics (Великобритания) .Пакет представляет собой систему схемотехнического моделирования, базирующуюся на основе моделей электронных компонентов принятых в PSpice. Отличительной чертой пакета PROTEUS VSM является возможность моделирования работы программируемых устройств: микроконтроллеров, микропроцессоров, DSP и других Библиотека компонентов содержит справочные данные. Дополнительно в PROTEUS VSM входит система проектирования печатных плат. Пакет Proteus состоит из двух частей, двух подпрограмм: ISIS - программа синтеза и моделирования непосредственно электронных схем и ARES - программа разработки печатных плат. Вместе с программой устанавливается набор демонстрационных проектов для ознакомления. Пакет является коммерческим. Бесплатная ознакомительная версия характеризуется полной функциональностью, но не имеет возможности сохранения файлов. Примечательной особенностью является то, что в ARES можно увидеть 3D-модель печатной платы, позволяет разработчику оценить устройство еще на стадии разработки. Одной из ключевых особенностей Proteus является возможность эмуляции работы микроконтроллеров. Инструмент USBCONN позволяет подключиться к реальному USB порту компьютера, инструмент COMPIM - подключится к реальному COM-порту ПК. Иными словами, Proteus дает возможность подключить свободного COM или USB порту и налаживать устройство на МК имеющий управлять им. Также есть возможность подключить к COM-порту любое реальное устройство с которым ваш создаваемый прибор будет общаться в режиме реального времени. Полная совместимость со SPICE-моделями и схемами и развитые возможности конвертации позволяют пользователю Micro-Cap успешно пользоваться всеми разработками, предназначенными для DESIGNLAB и ORCAD, а полученные навыки моделирования позволят в случае необходимости гораздо быстрее овладевать более сложные профессиональные пакеты моделирования. возможность задания функциональных зависимостей параметров схемы (как функции времени, токов ветвей и узловых потенциалов), причем эти возможности даже несколько шире, чем в OrCAD - в них можно сделать параметры пассивных компонентов зависимыми только от токов или напряжений других ветвей схемы, в этих целях не нужно применять управляемые источники токов или напряжений; Logisim - инструмент, позволяющий разрабатывать и моделировать цифровые электрические схемы, используя графический интерфейс пользователя. Logisim - свободное программное обеспечение, выпущенное под GNU GPL; может запускаться на Microsoft Windows, Mac OS X, и Linux. Код полностью написан на Java с использованием библиотеки Swing для графического интерфейса пользователя. Основной разработчик, Carl Burch, работает над Logisim с его появления в 2001 году. Программа чаще всего используется учащимися в курсе изучения информатики для разработки и экспериментов с цифровыми схемами при моделировании, а также студентами колледжей и университетов по всему миру во многих типах курсов, начиная от краткого курса по логике в смотровой изучении информатики в общеобразовательных учреждениях, заканчивая курсами по организации ЭВМ и полными курсами по архитектуре компьютеров. Схемы разрабатываются в Logisim с помощью графического интерфейса, близкого к традиционному для программ для рисования, такой интерфейс встречается во многих других программах для моделирования схем. В отличие от большинства других программ такого назначения, сопоставимых с Logisim по сложности, Logisim позволяет пользователям редактировать схемы в процессе моделирования. Относительная простота интерфейса делает программу удобной для обзорных курсов [1]. Возможности разработки более сложных схем, такие как «подсхемы» и «пучки проводов», имеющиеся в Logisim, доступные в других графических инструментах с открытым исходным кодом. Поскольку большинство рассмотренных программ базируются на программном комплексе SPICE, они во многом схожий функционал, но каждая имеет свои особенности, преимущества (удобный интерфейс и т.д.) и недостатки. Шевкун И. М. Методические указания к лабораторной работе "Логическое моделирование" - Минск: Белгосуниверситет, 2009. - 26 с. Синтез логических устройств с большим количеством выходами. Особенности построения реальных логических устройств. Использование логических элементов: имеющие избыточное число или недостаточное количество входов. Представления и минимизация функции с помощью карт Карно.

реферат [95,3 K], добавлена ​​13.04.2008

Значение операционной системы - программы, которая загружается при включении компьютера. Компоненты Windows, передача параметров в языке С ++. Системные ресурсы и принципы их работы. Разработка алгоритма программы эмуляции работы командного процессора ОС.

реферат [37,5 K], добавлена ​​18.06.2010

Изучение структуры окон и системы меню Electronics Workbench. Рассмотрение технологии подготовки схем и составления их компонентов на рабочем поле программы. Определение областей применения и классификационных параметров элементов радиоэлектронной аппаратуры.

реферат [2,5 M], добавлена ​​18.06.2010

Разработка комплекса интерактивных программных средств для учета и продажи товаров в Интернет-магазине. Консультативные и справочные функции информационной системы. Создание и реализация структурной модели базы данных. Требования к ресурсам сервера и ПК клиента.

курсовая работа [891,6 K], добавлена ​​14.02.2015

Разработка компьютерных схем различного назначения: шифраторы, дешифраторы, мультиплексоры, счетчики и регистры. Общие характеристики электронных цифровых схем по булевых выражениях. Расчет счетчика и регистров. Значение логических сигналов.

курсовая работа [616,7 K], добавлена ​​12.05.2014

Изучение структуры и организации учебной деятельности института. Должностные обязанности системного администратора, потребности в технических и программных средствах для рабочего места. Проект программной системы для системного администратора, программная инженерия.

реферат [935,0 K], добавлен 09.

gymnaz.ru


 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..