Логические элементы версия от 26.03.2012

Оглавление

О программе

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

Внешний вид программы.

Работа с программой

Открытие файлов

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

Запуск / Остановка / Управление

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

, - увеличение и уменьшение масштаба

- кнопки для перемещения по схеме

- центровка схемы

Редактирование

Описание кнопок для редактирования:

- сброс всех режимов рисования. В данном режиме при нажатии на какой-либо логический элемент произойдет переход курсора в нижнем списке к данному элементу. Если главная иконка в списке закрыта, то курсор не попадет на нажатый элемент.

- установка режима редактирования проводов. Используя ЛКМ можно рисовать провод а с ПКМ стирать.

- установка режима рисования точек для проводов без пересечений. Используя ЛКМ можно отмечать провода без пересечений. При нажатии ПКМ на проводе без пересечений отметка снимается.

- установка режима редактирования логических элементов. Тип рисуемого элемента выбирается в верхнем списке. С помощью ЛКМ создаются элементы. При нажатии ПКМ на элемент происходит его поворот на 90 градусов.

- установка режима стирания проводов

- кнопки для перемещения объекта, выбранного в списке

- кнопки для перемещения всех объектов на схеме

Создание надписей и удаление объектов еще не сделано :( ... Пока можно редактировать файлы со схемами текстовыми редакторами, но это не удобно.

Сохранение

Для сохранения схемы нажмите на кнопку сохранения .

Пример

Схема для перемножения 4 битных чисел:

На рисунке число a (a0+a1 = 1+2 = 3) умножается на b (b1+b3 = 2+8 = 10) и на выходе получается c (c1+c2+c3+c4 = 2+4+8+16 = 30).

Виды объектов

В файлах со схемами есть 4 вида объектов: ключевые точки, провода без пересечений, логические элементы и надписи.

Ключевая точка

Ключевая точка это промежуточный объект, который служит для создания проводов. Ключевая точка состоит из 2-х координат и переменной направлений. Направлений может быть максимум 4 (вверх, вниз, влево, вправо). Они определяют в какую сторону от даной точки рисовать провод. При встрече другой ключевой точки или достижении конца схемы рисование провода прекращается. Таким образом ключевые точки это векторные объекты на основе которых рисуются провода, что позволяет уменьшить размер файла со схемой.

Провод без пересечения

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

Логческий элемент

Логческие элементы это схемы которые имеют входы и выходы. Логический элемент анализирует сигналы которые поступают ему на входы и в зависимости от них формирует сигналы на выходах. На схеме они рисуются прямоугольниками с входными и выходными ногами. Любую логическую схему можно составить из 3-х основных логических элементов: "не", "и", "или". Ниболее распространенные логические элементы моделируются программой, среди них: "не", "и", "или", "исключающее или" и "сумматор". Каждый вид логического элемента в программе имеет свой цвет (хотя по правилам рисования логических схем все элементы рисуются черно белыми).

Надпись

Надписи бывают 2-х видов: информаионные и управляемые. Информационные служат для подписей определенных частей схемы. А через управляемую надпись можно подавать на схему сигналы 0 или 1.

Автор

Игорь А. (IgorA) - разработка программы.