# Подготовка к рубежной контрольной по ФС
## Группа 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. Позволяет игнорировать влияние помех, возникающих за счет индукций и т.п.
#### Что такое помехоустойчивость?
Разница допустимых отклонений от номинального значения между входным и выходным сигналами называется **запасом схемы по помехоустойчивости**.
Рассчет виден на рисунке.

#### Почему напряжение питания цифровых схем стараются уменьшить
1. Чтобы уменьшить тепловыделение, следовательно сделать схему более стабильной, так как из-за перегрева меняются свойства схемы
2. На широком диапазоне напряжений сложнее переключаются транзисторы
### 5. Что такое цифровой импульс? Как измеряются фронт, спад и длительность цифрового импульса? Для чего используются цифровые импульсы в последовательностных схемах?
#### Что такое цифровой импульс?
Изменение сигнала из исходного состояния на противоположное и обратно.
#### Как измеряются фронт, спад и длительность цифрового импульса?
* **Фронт импульса** обычно измеряется, как время изменения сигнала с 0,1Umax до 0,9Umax амплитуды
* **Спад импульса** обычно измеряется, как время изменения сигнала с 0,9Umax до 0,1Umax амплитуды
* **Длительность импульса** обычно измеряется, как разница по времени между двумя моментами, когда амплитуда сигнала равна 0,5Umax
#### Для чего используются цифровые импульсы в последовательностных схемах?
Для устранения дребезга контактов.

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

### 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-триггеры относятся к **динамическому** типу синхронизации.

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

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

#### Описание функционирования. Через таблицу истинности
| 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

#### Описание функционирования. Через таблицу истинности
| 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

#### Описание функционирования. Через таблицу истинности
| 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

#### Описание функционирования. Через таблицу истинности
| 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

#### Описание функционирования. Через булевые выражения
$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

#### Описание функционирования. Через таблицу истинности
| 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

#### Описание функционирования. Через таблицу переходов
| 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

#### Описание функционирования. Через таблицу истинности
| 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

#### Описание функционирования. Через таблицу переходов
| 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

#### Описание функционирования. Через таблицу переходов
| | | 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.

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

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

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



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

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

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