---
# System prepended metadata

title: Подготовка к рубежной контрольной по ФС

---

# Подготовка к рубежной контрольной по ФС

## Группа 1 (1-10)

### 1. Что такое комбинационная и последовательностная цифровая схема? Как можно описать функционирование комбинационной цифровой схемы при помощи выражения и таблицы? Опишите функционирование двухвходового одноразрядного мультиплексора двумя способами.

**Комбинационные схемы** --- это схемы, выход которых зависит только от текущей комбинации входных сигналов.

**Последовательностные схемы** --- это схемы, выход которых зависит не только от текущей комбинации входных сигналов, но и от предыстории их установки, т.е. последовательность входных сигналов определяет текущий выход.

Функционирование комбинационной схемы можно описать при помощи таблицы, т.е. мы ставим в соответствие всевозможным комбинациям входом значение на выходах. Также можно использовать функции алгебры логики, т.е. мы записываем для каждого выхода булевую функцию, зависяющую от входов.

#### Описание функционирования двухвходового одноразрядного мультиплексора

| D0 | D1 | S | Q |
| -- | -- | - | - |
| 0  | 0  | X | 0 |
| 0  | 1  | 0 | 0 |
| 0  | 1  | 1 | 1 |
| 1  | 0  | 0 | 1 |
| 1  | 0  | 1 | 0 |
| 1  | 1  | X | 1 |

$Q = \bar SD0 + SD1$

### 2. Что такое комбинационная и последовательностная цифровая схема? Как можно описать функционирование последовательностной цифровой схемы при помощи выражения и таблицы? Опишите функционирование 2-х разрядного двоичного инкрементного счетчика (без сигналов «сброса» и «переполнения») двумя способами.

**Комбинационные схемы** --- это схемы, выход которых зависит только от текущей комбинации входных сигналов.

**Последовательностные схемы** --- это схемы, выход которых зависит не только от текущей комбинации входных сигналов, но и от предыстории их установки, т.е. последовательность входных сигналов определяет текущий выход.

Функционирование последовательностной схемы можно описать либо с помощью выражения (характеристическое уравнение), либо с помощью таблицы (полная таблица состояний, таблицы переходов).

#### Описание функционирования 2-х разрядного двоичного инкрементного счетчика


| t  |       |       |       | t + 1 |       |       |
| -- | ----- | ----- | ----- | ----- | ----- | ----- |
| CE | Q0    | Q1    | TC    | Q0    | Q1    | TC    |
| 0  | X     | X     | X     | Q0(t) | Q1(t) | TC(t) |
| 1  | 0     | 0     | 0     | 1     | 0     | 0     |
| 1  | 1     | 0     | 0     | 0     | 1     | 0     |
| 1  | 0     | 1     | 0     | 1     | 1     | 1     |
| 1  | 1     | 1     | 1     | 0     | 0     | 0     |

$Q_0(t+1) = Q_0(t)\overline{CE(t)} + CE(t)\overline{Q_0(t)}$
$Q_1(t+1) = Q_1(t)\overline{CE(t)} + CE(t)(Q_0(t)\cdot\overline{Q_0(t+1)}\cdot\overline{Q_1(t)})$
$TC(t+1) = TC(t)\overline{CE(t)} + CE(t)Q_0(t+1)Q_1(t+1)$

### 3. Какой физической величиной кодируются двоичные цифры в цифровой электронике? Что такое ВЫСОКИЙ и НИЗКИЙ уровень дискретного сигнала? Что такое ПОЗИТИВНОЕ и НЕГАТИВНОЕ кодирование логических значений и двоичных цифр?

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

ВЫСОКИЙ и НИЗКИЙ уровень это допустимые уровни напряжения с помощью которых кодируются логические нули и единицы.

В зависимости от соответствия между уровнем напряжения и логическим константам различают ПОЗИТИВНОЕ кодирование (ВЫСОКОМУ уровню соответствует 1, а НИЗКОМУ --- 0) и НЕГАТИВНОЕ кодирование (в точности наоборот).

### 4. С какой целью логические значения и двоичные цифры кодируются диапазонами напряжений, а не конкретными значениями напряжений? Что такое помехоустойчивость (запас помехоустойчивости) цифровой схемы и как она вычисляется? Почему напряжение питания цифровых схем стараются уменьшить?

#### С какой целью логические значения и двоичные цифры кодируются диапазонами напряжений, а не конкретными значениями напряжений

1. Для удешевления производства, так как позволяет использовать различные каскады
2. Позволяет использовать схемы, в постоянно изменяющейся среде (изменение температуры, питающего напряжения и т.д.)
3. Позволяет игнорировать влияние помех, возникающих за счет индукций и т.п.

#### Что такое помехоустойчивость?

Разница допустимых отклонений от номинального значения между входным и выходным сигналами называется **запасом схемы по помехоустойчивости**.

Рассчет виден на рисунке.
![calculate_acceptable_margins](https://i.imgur.com/JxWiwcq.png)

#### Почему напряжение питания цифровых схем стараются уменьшить

1. Чтобы уменьшить тепловыделение, следовательно сделать схему более стабильной, так как из-за перегрева меняются свойства схемы
2. На широком диапазоне напряжений сложнее переключаются транзисторы

### 5. Что такое цифровой импульс? Как измеряются фронт, спад и длительность цифрового импульса? Для чего используются цифровые импульсы в последовательностных схемах?

#### Что такое цифровой импульс?

Изменение сигнала из исходного состояния на противоположное и обратно.

#### Как измеряются фронт, спад и длительность цифрового импульса?

* **Фронт импульса** обычно измеряется, как время изменения сигнала с 0,1Umax до 0,9Umax амплитуды
* **Спад импульса** обычно измеряется, как время изменения сигнала с 0,9Umax до 0,1Umax амплитуды
* **Длительность импульса** обычно измеряется, как разница по времени между двумя моментами, когда амплитуда сигнала равна 0,5Umax

#### Для чего используются цифровые импульсы в последовательностных схемах?

Для устранения дребезга контактов.

![contact_bounce](https://i.imgur.com/heOGocX.png)

### 6. Что такое функциональное и временное моделирование цифровой схемы? Что такое временная диаграмма сигнала? Нарисуйте временную диаграмму для 3-х входового элемента И(AND).

#### Что такое функциональное и временное моделирование цифровой схемы?

**Функциональная спецификация (моделирование)** --- описывает состав и назначение портов схемы и ее поведение (текст, HDL, диаграммы временные, схемы алгоритмов).

**Временные диаграммы (моделирование)** --- графические, показывают состояние и изменения цифровых сигналов схемы (внешних портов и внутренних сигналов) в зависимости от времени.

![and_time_diagram](https://i.imgur.com/jNJdJPJ.png)


### 7. Что такое синхронные и асинхронные триггеры? Чем различаются триггеры со статической синхронизацией (по уровню, LATCH, защелки) и с динамической синхронизацией (по фронту, FLIP-FLOP)? Что такое одноступенчатые и двухступенчатые триггеры?

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

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

Схемы триггеров, по которым реализуются триггеры со статической или динамической синхронизацией, называются одноступенчатые и двухступенчатые триггеры (MS).

### 8. Что такое и чем отличаются RS-триггер и JK-триггер? Что такое T-триггер? Что такое D-триггер?

#### RS-триггер

Последовательностный элемент хранения с сигналами (R)RESET, (S)SET.

|   | t | t + 1  |
| - | - | ------ |
| R | S | Q(t+1) |
| 0 | 0 | Q(t)   |
| 0 | 1 | 1      |
| 1 | 0 | 0      |
| 1 | 1 | X      |

#### JK-триггер

Последовательностный элемент хранения с сигналами (J)JUMP, (K)KILL.

|   | t | t + 1       |
| - | - | ----------- |
| J | K | Q(t+1)      |
| 0 | 0 | Q(t)        |
| 0 | 1 | 0           |
| 1 | 0 | 1           |
| 1 | 1 | $\bar Q(t)$ |

В отличие от RS-триггера JK-триггер не имеет запрещенной комбинации входов.

#### T-триггер

Последовательностный элемент хранения с сигналом T(TOGGLE).

|   | t | t + 1       |
| - | - | ----------- |
| C | T | Q(t+1)      |
| 0 | X | Q(t)        |
| 1 | 0 | Q(t)        |
| 1 | 1 | $\bar Q(t)$ |

Переключает выход на противоположное значение по единичному потенциалу входа T.

#### D-триггер

Последовательностный элемент хранения с сигналом D. Delay (Data) триггер. По фронту тактового сигнала, значения входа D записывается в триггер.

|   | t | t + 1  |
| - | - | ------ |
| C | D | Q(t+1) |
| 0 | X | Q(t)   |
| 1 | 0 | 0      |
| 1 | 1 | 1      |

### 9. К какому типу синхронизации относится двухступенчатые MS-триггеры? Нарисуйте принципиальную схему двуступенчатого (MS, Master-Slave) RS-триггера из двух асинхронных RS-триггеров. Нарисуйте временную диаграмму функционирования двухступенчатого RS-триггера с дополнительными сигналами на выходах Master-триггера (т.е. должны быть показаны сигналы на входах двухступенчатого триггера, выходах M-триггера и выходах S-триггера).

MS-триггеры относятся к **динамическому** типу синхронизации.

![ms_async_rs](https://i.imgur.com/g0pRve3.png)

### 10. Что такое время предустановки входов триггера? Что такое время удержания (фиксации) входов триггера? Что такое задержка переключения триггера?

**Время предустановки входов $t_{уст}$** --- время, в течение которого управляющие входы должны быть установлены до прихода синхроимпульса
**Время удержания (фиксации) входов $t_{уд}$** --- время, в течение которого управляющие входы должны оставаться неизменными до фиксации результата на выходах триггера
**Задержка переключения $t_{пер}$** --- время, которое необходимо, чтобы сформировался и сохранился результат на выходах триггера

![triggers_timing](https://i.imgur.com/E9NdqIF.png)


## Группа 2 (11-20)

### 11. Приведите условное обозначение двухвходового одноразрядного мультиплексора (MX2_1) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования мультиплексора MX2_1. Опишите мультиплексор MX2_1 в виде модуля (module) на языке Verilog в поведенческом (behavioral) стиле.

#### Условное обозначение ANSI

![ansi_mx2_1](https://i.imgur.com/8Rjfesi.png)

#### Описание функционирования. Через таблицу истинности

| S0 | O  | 
| -- | -- |
| 0  | D0 |
| 1  | D1 |


#### Временная диаграмма

#### Модуль на Verilog

```
module mx2_1(
    input s0_i,
    input d_bi[1:0],
    output reg o_o
);
    o_o = d_bi[s0_i];
endmodule
```

### 12. Приведите условное обозначение двухвыходового одноразрядного демультиплексора (DX2_1) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования демультиплексора DX2_1. Опишите демультиплексор DX2_1 в виде модуля (module) на языке Verilog в поведенческом (behavioral) стиле.

#### Условное обозначение ANSI

![ansi_dx2_1](https://i.imgur.com/925rgwg.png)

#### Описание функционирования. Через таблицу истинности

| A0 | E  | D0 | D1 |
| -- | -- | -- | -- |
| X  | 0  | 0  | 0  |
| 0  | 1  | 1  | 0  |
| 1  | 1  | 0  | 1  |

#### Временная диаграмма

#### Модуль на Verilog

```
module dx2_1(
    input e_i,
    input s0_i,
    output reg d_bo[1:0]
);
    d_bo[ s0_i] = e_i;
    d_bo[~s0_i] = 0;
endmodule
```

### 13. Приведите условное обозначение двоичного дешифратора «2 в 4» с входом разрешения E (DC2_4E) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования двоичного дешифратора DC2_4E. Опишите дешифратор DC2_4E в виде модуля (module) на языке Verilog в поведенческом (behavioral) стиле.

#### Условное обозначение ANSI

![ansi_dc2_4e](https://i.imgur.com/dW04ns2.png)

#### Описание функционирования. Через таблицу истинности

| A0 | A1 | E  | D0 | D1 | D2 | D3 |
| -- | -- | -- | -- | -- | -- | -- |
| X  | X  | 0  | 0  | 0  | 0  | 0  |
| 0  | 0  | 1  | 1  | 0  | 0  | 0  |
| 1  | 0  | 1  | 0  | 1  | 0  | 0  |
| 0  | 1  | 1  | 0  | 0  | 1  | 0  |
| 1  | 1  | 1  | 0  | 0  | 0  | 1  |

#### Временная диаграмма

#### Модуль на Verilog

```
module dc2_4e(
    input a_bi[1:0],
    input e_i,
    output reg d_bo[3:0]
);
    d_bo = 4'b0000;
    d_bo[a_bi] = e_i;
endmodule
```

### 14. Приведите условное обозначение двоичного приоритетного шифратора «4 в 2» (EC2_4) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования шифратора EC2_4. Опишите шифратор EC2_4 в виде модуля (module) на языке Verilog в поведенческом (behavioral) стиле.

#### Условное обозначение ANSI

![ansi_ec2_4](https://i.imgur.com/pnyukmP.png)


#### Описание функционирования. Через таблицу истинности

| D0 | D1 | D2 | D3 | O0 | O1 | IDLE |
| -- | -- | -- | -- | -- | -- | ---- |
| 0  | 0  | 0  | 0  | 0  | 0  | 1    |
| 1  | 0  | 0  | 0  | 0  | 0  | 0    |
| X  | 1  | 0  | 0  | 1  | 0  | 0    | 
| X  | X  | 1  | 0  | 0  | 1  | 0    |
| X  | X  | X  | 1  | 1  | 1  | 0    |

#### Временная диаграмма

#### Модуль на Verilog

```
module ec2_4(
    input d_bi[3:0],
    output wire idle_o,
    output reg o_bo[1:0]
);
    assign idle_o = &(~d_bi);
    
    always @(*)
        if ( d_bi[3] )
            o_bo = 2'd3;
        else if ( d_bi[2] )
            o_bo = 2'd2;
        else if ( d_bi[1] )
            o_bo = 2'd1;
        else o_bo = 2'd0;
endmodule
```

### 15. Приведите условное обозначение 2-х разрядного сумматора с входом переноса CI и выходом переноса CO (ADD2_2_2CICO) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования сумматора ADD2_2_2CICO. Опишите сумматор ADD2_2_2CICO в виде модуля (module) на языке Verilog в структурном (structural) стиле из двух одноразрядных сумматоров (их отдельно описывать не нужно) с последовательным переносом.

#### Условное обозначение DIN

![din_add2_2_2cico](https://i.imgur.com/HTAaWEF.png)

#### Описание функционирования. Через булевые выражения

$COUT' = A[0]B[0] + (A[0]+ B[0])CIN$
$S[0] = \overline{COUT'}(A[0] + B[0] + CIN) + (A[0]B[0]CIN)$
$COUT = A[1]B[1] + (A[1]+ B[1])COUT'$
$S[1] = \overline{COUT}(A[1] + B[1] + COUT') + (A[1]B[1]COUT')$

#### Временная диаграмма

#### Модуль на Verilog

```
module add2_2_2cico(
    input ci_i,
    input a_bi[1:0],
    input b_bi[1:0],
    output c_bo[1:0],
    output co_o
);
    wire add1_co;
    add1_1_1cico add1(
        .ci( ci_i ),
        .a( a_bi[0] ),
        .b( b_bi[0] ),
        .c( c_bo[0] ),
        .co( add1_co )
    );
    
    add1_1_1cico add2(
        .ci( add1_co ),
        .a( a_bi[1] ),
        .b( b_bi[1] ),
        .c( c_bo[1] ),
        .co( co_o )
    );
endmodule
```

### 16. Приведите условное обозначение 2-х разрядного вычитателя с входом заёма BRI и выходом заёма BRO (SUB2_2_2CICO) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования вычитателя SUB2_2_2CICO. Опишите вычитатель SUB2_2_2CICO в виде модуля (module) на языке Verilog в структурном (structural) стиле из двух одноразрядных вычитателей (их отдельно описывать не нужно) с последовательным заёмом.

#### Условное обозначение ANSI

![ansi_sub2_2_2cico](https://i.imgur.com/MtVlOTV.png)

#### Описание функционирования. Через таблицу истинности

| BRI | M  | S  | D  | BRO |
| --- | -- | -- | -- | --- |
| 0   | 0  | 0  | 0  | 0   |
| 1   | 0  | 0  | 3  | 1   |
| 0   | 1  | 0  | 1  | 0   |
| 1   | 1  | 0  | 0  | 0   |
| 0   | 2  | 0  | 2  | 0   |
| 1   | 2  | 0  | 1  | 0   |
| 0   | 3  | 0  | 3  | 0   |
| 1   | 0  | 1  | 2  | 1   |
| 0   | 1  | 1  | 0  | 0   |
| 1   | 1  | 1  | 3  | 1   |
| 0   | 2  | 1  | 1  | 0   |
| 1   | 2  | 1  | 0  | 0   |
| 0   | 3  | 1  | 2  | 0   |
| 1   | 3  | 1  | 1  | 0   |
| 0   | 0  | 2  | 2  | 1   |
| 1   | 0  | 2  | 1  | 1   |
| 0   | 1  | 2  | 3  | 1   |
| 1   | 1  | 2  | 2  | 1   |
| 0   | 2  | 2  | 0  | 0   |
| 1   | 2  | 2  | 3  | 1   |
| 0   | 3  | 2  | 3  | 0   |
| 1   | 3  | 2  | 0  | 0   |
| 0   | 0  | 3  | 1  | 1   |
| 1   | 0  | 3  | 0  | 1   |
| 0   | 1  | 3  | 2  | 1   |
| 1   | 1  | 3  | 1  | 1   |
| 0   | 2  | 3  | 3  | 1   |
| 1   | 2  | 3  | 2  | 1   |
| 0   | 3  | 3  | 0  | 0   |
| 1   | 3  | 3  | 3  | 1   |

#### Временная диаграмма

#### Модуль на Verilog

```
module sub2_2_2cico(
    input ci_i,         // 1
    input m_bi[1:0],    // 1
    input s_bi[1:0],    // 3
    output d_bo[1:0],   // 1
    output co_o         // 1
);
    wire tmp;
    sub1_1_1cico sub1(
        .ci( ci_i ),    // 1
        .m( m_bi[0] ),  // 1
        .s( s_bi[0] ),  // 1
        .d( d_bo[0] ),  // 1
        .co( tmp )      // 1
    );
    
    sub1_1_1cico sub2(
        .ci( tmp ),     // 1
        .m( m_bi[1] ),  // 0
        .s( s_bi[1] ),  // 1
        .d( d_bo[1] ),  // 0
        .co( co_o )     // 1
    );

endmodule
```

### 17. Приведите условное обозначение двоичного 3-х разрядного двоичного счетчика с асинхронным сбросом и входом разрешения счета (CB3CE) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования счетчика CB3CE. Опишите счетчик CB3CE в виде модуля (module) на языке Verilog в поведенческом (behavioral) стиле.

#### Условное обозначение DIN

![din_cb3ce](https://i.imgur.com/xm7i5Zm.png)

#### Описание функционирования. Через таблицу переходов

|  t  |    |    |    |    | t + 1  |       |       |       |
| --- | -- | -- | -- | -- | ------ | ----- | ----- | ----- |
| CLR | CE | D0 | D1 | D2 | D0     | D1    | D2    | TC    |
| 1   | X  | X  | X  | X  | 0      | 0     | 0     | 0     |
| 0   | 0  | X  | X  | X  | D0(t)  | D1(t) | D2(t) | TC(t) | 
| 0   | 1  | 0  | 0  | 0  | 1      | 0     | 0     | 0     |
| 0   | 1  | 1  | 0  | 0  | 0      | 1     | 0     | 0     |
| 0   | 1  | 0  | 1  | 0  | 1      | 1     | 0     | 0     |
| 0   | 1  | 1  | 1  | 0  | 0      | 0     | 1     | 0     |
| 0   | 1  | 0  | 0  | 1  | 1      | 0     | 1     | 0     |
| 0   | 1  | 1  | 0  | 1  | 0      | 1     | 1     | 0     |
| 0   | 1  | 0  | 1  | 1  | 1      | 1     | 1     | 0     |
| 0   | 1  | 1  | 1  | 1  | 0      | 0     | 0     | 1     |

#### Временная диаграмма

#### Модуль на Verilog

```
module cb3ce(
    input ce_i,
    input clr_i,
    output reg d_bo[2:0],
    output wire tc_o
);

    assign tc_o = &d_bo;
    
    always @(*)
        if (clr_i)
            d_bo = 3'd0;
        else if ( ce_i )
            d_bo = d_bo + 1;
        // else d_bo = d_bo;
endmodule
```

### 18. Приведите условное обозначение двоичного 2-х разрядного двоичного счетчика с входом параллельной загрузки значения (CB2L) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования счетчика CB2L. Опишите счетчик CB2L в виде модуля (module) на языке Verilog в поведенческом (behavioral) стиле.

#### Условное обозначение DIN

![din_cb2l](https://i.imgur.com/BKKu257.png)


#### Описание функционирования. Через таблицу истинности

| t  |   |    |    |    |    | t + 1 |       |       |
| -- | - | -- | -- | -- | -- | ----- | ----- | ----- |
| CE | L | D0 | D1 | Q0 | Q1 | Q0    | Q1    | TC    |
| 0  | X | X  | X  | X  | X  | Q0(t) | Q1(t) | TC(t) |
| 1  | 0 | X  | X  | 0  | 0  | 1     | 0     | 0     |
| 1  | 0 | X  | X  | 1  | 0  | 0     | 1     | 0     |
| 1  | 0 | X  | X  | 0  | 1  | 1     | 1     | 0     |
| 1  | 0 | X  | X  | 1  | 1  | 0     | 0     | 1     |
| 1  | 1 | 0  | 0  | X  | X  | 0     | 0     | 0     |
| 1  | 1 | 1  | 0  | X  | X  | 1     | 0     | 0     |
| 1  | 1 | 0  | 1  | X  | X  | 0     | 1     | 0     |
| 1  | 1 | 1  | 1  | X  | X  | 1     | 1     | 0     |

#### Временная диаграмма

#### Модуль на Verilog

```
module cb2l(
    input ce_i,
    input l_i,
    input d_bi[1:0],
    output reg q_bo[1:0],
    output wire tc_o
);
    assign tc_o = &q_bo;
    
    always @(ce_i)
        if ( l_i )
            q_bo = d_bi;
        else q_bo = q_bo + 1;
endmodule
```

### 19. Приведите условное обозначение 2-х разрядного сдвигового регистра с параллельной загрузкой данных, последовательной загрузкой и выгрузкой данных (REG2_SLI_SRO_L) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования регистра REG2_SLI_SRO_L. Опишите регистр REG2_SLI_SRO_L в виде модуля (module) на языке Verilog в поведенческом (behavioral) стиле.

#### Условное обозначение ANSI

![ansi_reg2_sli_sro_l](https://i.imgur.com/mbZ5jDB.png)

#### Описание функционирования. Через таблицу переходов

|  t  |   |     |    |    |    |    |     | t + 1 |       |        |
| --- | - | --- | -- | -- | -- | -- | --- | ----- | ----- | ------ |
| CLK | L | SLI | D0 | D1 | Q0 | Q1 | SRO | Q0    | Q1    | SRO    |
|  0  | X | X   | X  | X  | X  | X  | X   | Q0(t) | Q1(t) | SRO(t) |
|  1  | 0 | X   | X  | X  | X  | X  | X   | SLI(t)| Q0(t) | Q1(t)  |
|  1  | 1 | X   | 0  | 0  | X  | X  | X   | 0     | 0     | SRO(t) |
|  1  | 1 | X   | 1  | 0  | X  | X  | X   | 1     | 0     | SRO(t) |
|  1  | 1 | X   | 0  | 1  | X  | X  | X   | 0     | 1     | SRO(t) |
|  1  | 1 | X   | 1  | 1  | X  | X  | X   | 1     | 1     | SRO(t) |

#### Временная диаграмма

#### Модуль на Verilog

```
module reg2_sli_sro_l(
    input clk_i,
    input sli_i,
    input d_bi[1:0],
    input l_i,
    output reg q_bo[1:0],
    output reg sro_o
);
    always @(posedge clk_i)
        if ( l_i )
            q_bo <= d_bi;
        else
            { sro_o, q_bo } <= {q_bo, sli_i};
endmodule
```

### 20. Приведите условное обозначение 3-х разрядного регистра хранения с параллельной загрузкой данных и синхронным сбросом (REG3RL) в стандарте ANSI или DIN (ГОСТ) и опишите его функционирование. Нарисуйте временную диаграмму функционирования регистра REG3RL. Опишите регистр REG3RL в виде модуля (module) на языке Verilog в структурном (structural) стиле из синхронных D-триггеров без входа сброса (CLR или RESET) и мультиплексоров.

#### Условное обозначение ANSI

![ansi_reg3rl](https://i.imgur.com/Cw4oYza.png)

#### Описание функционирования. Через таблицу переходов

|     |     | t   | t + 1 |
| :-: | :-: | :-: | :---: |
| C   | L   | R   | Q     |
| 0   | X   | X   | Q(t)  |
| 1   | 0   | 0   | Q(t)  |
| 1   | 1   | 0   | D     |
| 1   | X   | 1   | 111   |

#### Временная диаграмма

#### Модуль на Verilog
```
module reg3rl(
    input clk_i,
    input clr_i,
    input load_i,
    input d_bi[2:0],
    output q_bo[2:0]
);
    wire wd_bi[2:0];
    
    assign wd_bi[0] = clr_i? 0 : load_i? d_bi[0] : q_bo[0];
    d_ff d_ff1(
        .clk( clk_i ),
        .d( wd_bi[0] ),
        .q( q_bi[0] )
    );
    
    assign wd_bi[1] = clr_i? 0 : load_i? d_bi[1] : q_bo[1];
    d_ff d_ff1(
        .clk( clk_i ),
        .d( wd_bi[1] ),
        .q( q_bi[1] )
    );
    
    assign wd_bi[2] = clr_i? 0 : load_i? d_bi[2] : q_bo[2];
    d_ff d_ff1(
        .clk( clk_i ),
        .d( wd_bi[2] ),
        .q( q_bi[2] )
    );
endmodule
```

## Группа 3 (21-27)

### 21. Приведите структурную схему и опишите функционирование блока памяти с организацией 2D.

![mem2d](https://i.imgur.com/4N1IqkY.png)


### 22. Приведите структурную схему и опишите функционирование блока памяти с организацией 3D.

![mem3d](https://i.imgur.com/QxbiLAX.png)

И это организация копируются вглубь в третьем измерении.

### 23. Приведите структурную схему и опишите функционирование блока памяти с организацией 2DM

![mem2dm](https://i.imgur.com/DTu6bUN.png)

### 24. Нарисуйте структуру МОП-транзистора и опишите его функционирование в режиме электронного «ключа».

![cmos](https://i.imgur.com/bNuv02X.png)
![nmos_pmos](https://i.imgur.com/m2aLHzF.png)
![nmos_work](https://i.imgur.com/hCTByWN.png)


### 25. Приведите и опишите функционирование схемы элемента НЕ (NOT, инвертор) на базе КМОП-каскада.

![not_cmos](https://i.imgur.com/btdNYjt.png)


### 26. Приведите и опишите функционирование схемы элемента ИЛИ-НЕ (NOR) на базе КМОП-каскадов.

![not_or_cmos](https://i.imgur.com/cmrDjhf.png)


### 27. Приведите и опишите функционирование схемы элемента И-НЕ (NAND) на базе КМОП каскадов

![not_and_cmos](https://i.imgur.com/Z5GI2mT.png)

