Pull to refresh

Logisim — среда разработки цифровых схем всего на 6 Мб

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

Итак, начнем. В сентябре у меня появился новый предмет — теория цифровых автоматов. Лаборант предложил нам для выполнения лабораторных работ программу Altera Quartus II, в которой можно было построить схему и просимулировать ее во временную диаграмму, по которой можно было судить о том, насколько она правильно работает. Перед первой же лабой вся группа начала качать ее и столкнулась с первой же проблемой. Во-первых было куча версий, из которых только версии до 8.1 под Linux и 9.1 под Windows умели симулировать схемы, во-вторых установщик занимал 2 Гб, и, несмотря на появившийся недавно в городе высокоскоростной интернет, сервер самой-же Altera очень плохо отдавал файлы, в-третьих сама программа была очень запутанной, предназначенной изначально для прошивки микросхем Altera, а не для того, для чего мы ее собирались использовать. Имелась и Linux-версия, но она была больше похожа на обычную Win-версию под Wine. Кроме того, программа сама по себе была платная, бесплатная версия как-раз прошивать микросхемы не умела, но отличалась по объему не сильно. Да и старые версии не могли получить бесплатную лицензию, поэтому проще было вспомнив старые времена переводить часы и пользоваться триальным периодом.

Но этот семестр прошел, теорию автоматов мы сдали, намучавшись с квартусом, даже привыкнув к временным диаграммам(которые были явно менее удобны, чем визуальная симуляция или таблицы истинности), начался новый семестр и новый предмет. На этот раз организация ЭВМ и систем. Да, можно было продолжать пользоваться квартусом, но устанавливать его заново как-то совсем не хотелось(там кстати еще и с установщиком проблемы были). И тут в сети я наткнулся на одну очень полезную программу. Называется она Logisim. Размер ее всего 6 Мб, а возможности все нужные обещали. Ну 6 Мб не 6 Гб — решил скачать.

Программа написана на Java, поэтому запускается и в Windows и в Linux и в Mac OS X, был бы Runtime установлен. Интерфейс оказался гораздо приятнее, чем у Quartus'а с его половиной Windows(причем похоже 2000), перетащенных в другую графическую среду. Присутствует русский перевод, все базовые элементы(начиная от И-ИЛИ-НЕ до сумматоров, мультиплексоров, счетчиков и элементов памяти).
image

Также имеются очень полезная для студентов функция: нажав Проект->Анализировать схему и создав нужное количество входов и выходов, можно заполнить таблицу истинности или формулу(как в мат.логике) и Logisim сам построит нужную схему. Также имеется функция минимизации схем, Также фукнция моделирования очень удобно сделана. Вместо временных диаграмм, Вы можете просто щелкнуть мышью по входу и он переключится(0 или 1), все контакты меняют цвет в зависимости от того 0 или 1 по ним идет, выход из схемы тоже показывает 0 он или 1. На счетчиках, элементах памяти всегда показывается число, которое они хранят. Симуляция идет в реальном времени, т.е. не будет проблем как в квартусе с слишком высокой тактовой частотой. Также в той же Проект->Анализировать схему можно не только построить схему по таблице истинности и формуле, но и построить формулу или таблицу истинности по уже готовой схеме или минимизировать схему.

Но есть у этой программы и минус — она записывает свои проекты не в привычном всем VHDL, а в своем собственном формате, то есть для прошивки тех же контроллеров эта программма явно не подойдет, но с задачей строить и симулировать цифровые схемы справляется на 5+, несмотря на ничтожно малый объем.

Спасибо за внимание. Скачать программу можно здесь
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.