# Подготовка к рубежной контрольной по ФС ## Группа 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)