Своё название D-триггер получил от английского слова Data (данные) или Delay (задержка). Это я скопировал из Wikipedia, хотя мне кажется, что Data было бы логичнее. Всё дело в том, что в отличие от SR-триггера, у него один информационный вход D (что и ожидаемо из названия). То есть, если подаём на D единицу - триггер запоминает единицу, а если ноль - значит, сохранится ноль. И никаких запрещённых состояний!
Собрать этот триггер можно из уже известного нам SR-триггера:
Тут данные со входа D, как есть, подаются на вход S. А инвертированные - на вход R. Таким образом, выполняется либо действие Set, либо Reset, и ячейка либо устанавливается в единицу, либо сбрасывается в ноль. Как можно догадаться, тут невозможна ситуация, когда и Set, и Reset равны нулю. То есть, SR-триггер будет всегда переключаться, повторяя то, что приходит на вход D. И вот тут важную роль играет синхроимпульс (Clock) и включение (Enable). Не будь их - это был бы простой повторитель, а так есть возможность записать туда данные и хранить их.
Кстати, если в Logisim ничего не присоединять на вход En, то он считает, что элемент включен по умолчанию.
Графически D-триггер похож на SR. У него просто входов слева поменьше: