diff --git a/ERRATA.md b/ERRATA.md index 67d80bc..15f6e04 100644 --- a/ERRATA.md +++ b/ERRATA.md @@ -2,6 +2,22 @@ ![http://95.215.8.74:5000/days_since_last_commit.png](http://95.215.8.74:5000/days_since_last_commit.png) +**27.10.2025**: Исправлена опечатка в описании функционального поведения ведомой защёлки в составе D-триггера на стр. 41: + +```diff +- пока сигнал `clk = 0` ++ пока сигнал `clk = 1` +``` + +
+ Исправленная версия предложения + +Несмотря на то, что ведомая защёлка "прозрачна" всё то время, пока сигнал `clk = 1`, данные в ней остаются стабильными, поскольку выход ведущей защёлки больше не может измениться. + +
+ +

+ **22.05.2025**: Исправлено несоответствие в названиях модулей в ЛР10-12. - `irq_controller` следует читать как `interrupt_controller`; @@ -18,7 +34,7 @@ _Рисунок II.12-3. Структурная схема блока приор - +

**13.05.2025**: Исправлен рисунок II.8-3 — исправлена опечатка в названии нижнего сигнала (`mem_wd_i` → `mem_wd_o`). @@ -47,7 +63,7 @@ _Рисунок II.12-3. Структурная схема блока приор - +

**11.07.2025**: Обнаружена ошибка вёрстки в примере использования битовых сдвигов на стр. 79. Операции по установке, очистке и чтению N-го бита выглядят следующим образом: @@ -57,7 +73,7 @@ X = X & ~(1 << N); // Очистка N-го бита Y = (X & (1 << N)) != 0; // Чтение N-го бита ``` - +

**11.07.2025**: Исправлена опечатка в предпоследнем абзаце стр. 227 (в конце первого предложения должен был быть написан **LMA**): @@ -73,13 +89,13 @@ Y = (X & (1 << N)) != 0; // Чтение N-го бита - +

**16.06.2025**: Исправлена ошибка в _листинге II.14-2_. Предпоследнюю инструкцию (`lw a0, 40(a0)`) следует читать как `lw a0, 24(a0)`. - +

**29.03.2025**: Исправлен рисунок II.4-4 — убрана логика безусловного перехода, т.к. она должна была появиться только в следующем параграфе. diff --git a/Introduction/Sequential logic.md b/Introduction/Sequential logic.md index f0594ff..9a2687d 100644 --- a/Introduction/Sequential logic.md +++ b/Introduction/Sequential logic.md @@ -86,7 +86,7 @@ D-триггер — это элемент статической памяти, _Рисунок 5. Схема и таблица истинности D-триггера._ -Принцип работы D-триггера, схема которого представлена на _рис. 5_ заключается в том, что управляющий сигнал `E` одной защёлки является инверсией управляющего сигнала `E` другой защёлки. Это значит, что пока одна защёлка "прозрачна" и принимает данные со входа — другая "непрозрачна" и данные не принимает. В момент, когда тактовый синхроимпульс меняет своё значение с `0` на `1`, ведущая защёлка становится "непрозрачной" для новых данных с входа `D`, и "запертые" в ней данные попадают в только что открывшуюся ведомую защёлку. Несмотря на то, что ведомая защёлка "прозрачна" всё то время, пока сигнал `clk = 0`, данные в ней остаются стабильными, поскольку выход ведущей защёлки больше не может измениться. +Принцип работы D-триггера, схема которого представлена на _рис. 5_ заключается в том, что управляющий сигнал `E` одной защёлки является инверсией управляющего сигнала `E` другой защёлки. Это значит, что пока одна защёлка "прозрачна" и принимает данные со входа — другая "непрозрачна" и данные не принимает. В момент, когда тактовый синхроимпульс меняет своё значение с `0` на `1`, ведущая защёлка становится "непрозрачной" для новых данных с входа `D`, и "запертые" в ней данные попадают в только что открывшуюся ведомую защёлку. Несмотря на то, что ведомая защёлка "прозрачна" всё то время, пока сигнал `clk = 1`, данные в ней остаются стабильными, поскольку выход ведущей защёлки больше не может измениться. Описанные схемы бистабильных ячеек представляют собой скорее математическое описание элементов памяти — так проще объяснить принцип их работы. Если ваша технология позволяет реализовать элементы И, ИЛИ и НЕ — значит вы точно можете реализовать подобные элементы. При этом, используя особенности конкретной технологии, данные схемы можно реализовывать более эффективно. D-защёлку, к примеру, можно реализовать схемой, представленной на _рис. 6_.