Settis

Регистр


Триггер позволяет хранить один бит информации. Как насчёт байта? Было бы неплохо уметь работать и с байтом. Обычно под байтом подразумевают 8 бит. И если хранить каждый бит в своём триггере, выходит, что байт можно хранить в восьми триггерах. Набор из таких триггеров зовётся регистром. Регистры не ограничены 8 битами и бывают на 16, 32 или 64 бита. Впрочем, были и разные экзотические разрядности, вроде 6, 7 или даже 9 бит, но длина, кратная 8, прижилась лучше.

Что ж, регистр на байт состоит из 8 триггеров. И все триггеры должны работать согласованно. Значит, надо им всем соединить вход для тактовой частоты (Clock), чтобы можно было одновременно записывать все 8 бит. Объединить асинхронный сброс (0), чтобы все 8 бит сбрасывать в ноль. А также соединить вход на включение (Enable). Асинхронная установка единицы для всех бит в регистре обычно не используется, только сброс. Ну, а ещё нам будут нужны 8 входов для данных от D0 до D7 и столько же выходов от Q0 до Q7. Итого получается следующее:

Register first step

В Logisim можно несколько проводов собрать в один многожильный кабель. И к многожильному кабелю подсоединить многобитные вход и выход. Также многожильный кабель можно расплетать, чтобы можно было работать с каждым проводком отдельно. На примере ниже показан четырёхжильный кабель. В середине он расплетён, и можно увидеть каждый провод из него.

Logisim splitter

Теперь можно немного перерисовать регистр, для того чтобы для данных использовать восьмибитные входы и выходы. Также в Logisim имеется инструмент, показывающий значение в многожильном кабеле. Сразу после входа D можно увидеть два индикатора HEX и DEC, они показывают входное число в десятичном и 16-ричном форматах. Далее идёт анимация того, как в регистр записывается значение 42.

Example animation

Ну и, ясно дело, в Logisim для обозначения регистра есть специальный элемент. В верхней части этого элемента в 16-ричном формате записано его содержание. В этот я тоже записал 42:

Logisim register


Similar Posts

Previous D-триггер

Content