- •Исполнители: Модуль rs_ff — асинхронный rs-триггер
- •Модуль d_latch — d-защелка
- •Модуль d_ff — d-триггер
- •Модуль jk_ff — jk-триггер
- •Модуль t_ff — t-триггер
- •* Модуль wrapper_ff — обертка для триггеров
- •Исполнители
- •Модуль par_rg — параллельный регистр
- •Модуль shift_rg — последовательный регистр
- •Модуль buf_rg — буферный регистр
- •Модуль shiftpar_rg — последовательно-параллельный регистр
- •Модуль parshift_rg — параллельно-последовательный регистр
- •Модуль ring_rg — кольцевой регистр
- •* Модуль wrapper_rg — обертка для регистров
- •Исполнители
- •Модуль inc_cnt — суммирующий счетчик
- •Модуль dec_cnt — вычитающий счетчик
- •Модуль rev_cnt — реверсивный счетчик
- •Модуль load_rev_cnt — реверсивный счетчик с загрузкой значений
- •Модуль div_cnt — делитель частоты
- •Модуль debounce_cnt — антидребезговый счетчик
- •Модуль pll_cnt — модуль фапч
- •* Модуль wrapper_cnt — обертка для счетчиков
- •Исполнители заключение
Модуль jk_ff — jk-триггер
<Описание устройства> |
|
Описание на Verilog <Код> module jk_ff ( input R, S, C, K, J, output reg Q, nQ ); always @ (negedge S or negedge R or posedge C) begin if (~R) if (S) begin nQ <= 1'b1; Q <= ~nQ; end else begin nQ <= 1'b1; Q <= 1'b1; end else if (~S) if (R) begin Q <= 1'b1; nQ <= ~Q; end else begin Q <= 1'b1; nQ <= 1'b1; end else begin Q <= nQ & J | Q & ~K; nQ <= nQ & ~J | Q & K; end end endmodule |
RTL-схема <RTL-схема>
|
Временная диаграмма
|
|
Модуль t_ff — t-триггер
<Описание устройства> |
|
Описание на Verilog <Код> module t_ff ( input R, S, C, T, output reg Q, nQ ); always @ (negedge S or negedge R or posedge C) begin if (~R) if (S) begin nQ <= 1'b1; Q <= ~nQ; end else begin nQ <= 1'b1; Q <= 1'b1; end else if (~S) if (R) begin Q <= 1'b1; nQ <= ~Q; end else begin Q <= 1'b1; nQ <= 1'b1; end else begin Q <= nQ & T | Q & ~T; nQ <= nQ & ~T | Q & T; end end endmodule |
RTL-схема <RTL-схема>
|
Временная диаграмма
|
|
* Модуль wrapper_ff — обертка для триггеров
<Описание устройства> |
|
module wrapper_ff ( input R, S, C, D, J, K, T, output RSQ, RSnQ, DLQ, DLnQ, DQ, DnQ, JKQ, JKnQ, TQ, TnQ );
rs_ff inst0 (.R(R), .S(S), .Q(RSQ), .nQ(RSnQ));
d_latch inst1 (.R(R), .S(S), .D(D), .C(C), .Q(DLQ), .nQ(DLnQ));
d_ff inst2 (.R(R), .S(S), .D(D), .C(C), .Q(DQ), .nQ(DnQ));
jk_ff inst3 (.R(R), .S(S), .K(K), .C(C), .J(J), .Q(JKQ), .nQ(JKnQ));
t_ff inst4 (.R(R), .S(S), .T(T), .C(C), .Q(TQ), .nQ(TnQ));
endmodule |
RTL-схема <RTL-схема>
|
|
|
