Использование подсхем

Предположим, перед нами стоит задача спроектировать мультиплексор 4-в-1, используя уже готовые экземпляры нашего мультиплексора 2-в-1. Для этого сначала создадим новую пустую схему верхнего уровня и назовём её Mux_4To1.

Чтобы добавить элементы 2-в-1 на новый чертёж, щёлкните один раз левой кнопкой мыши по названию схемы Mux_2To1 в панели «Навигатор». Это действие сделает её активным инструментом. Теперь вы можете размещать экземпляры (копии) этой подсхемы на холсте, просто щёлкая мышью в нужных местах. На чертеже они будут представлены в виде условных графических обозначений (УГО) — прямоугольных блоков.

#########

Примечание: Если вы дважды щёлкните по названию Mux_2To1 в Навигаторе, программа вместо выбора инструмента переключит рабочую область на редактирование внутреннего чертежа этой схемы.

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

#########

Наш мультиплексор 4-в-1 использует три независимых экземпляра мультиплексора 2-в-1. Контакты на границах прямоугольных блоков строго соответствуют портам ввода-вывода (Pin), которые мы разместили внутри схемы Mux_2To1.

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

Всплывающие подсказки (Метки портов)

Если внутренним контактам (Pin) на чертеже подсхемы были заданы аппаратные метки (свойство Метка), Logisim-evolution автоматически отобразит их во всплывающей подсказке при наведении курсора мыши на соответствующий контакт размещённого блока. Если вы находите эти подсказки излишними, их отображение можно отключить на вкладке «Чертёж» в окне настроек программы.

#########

Подобные подсказки поддерживаются и многими стандартными компонентами. Например, при наведении курсора на контакты библиотечных триггеров система пояснит назначение каждого конкретного контакта (Clock, Data, Enable и т.д.).

Особенности моделирования иерархии

Logisim-evolution независимо отслеживает внутреннее состояние каждого размещённого экземпляра подсхемы. Например, если ваша подсхема содержит D-триггер, и вы используете её трижды на главном холсте, то каждый из трёх триггеров будет хранить своё собственное, независимое логическое значение в процессе моделирования проекта.

Logisim-evolution не имеет жёстких ограничений на глубину вложенности иерархии — вы можете использовать Mux_4To1 внутри мультиплексора 16-в-1 и так далее. Единственное строгое ограничение: система блокирует рекурсию (нельзя поместить схему саму в себя).

Важное предупреждение о редактировании:

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

Далее: Изменение внешнего вида подсхемы.