Скачиваний:
0
Добавлен:
16.06.2026
Размер:
2.53 Mб
Скачать

E21FA ПОСЛЕДОВАТЕЛЬНОСТНЫЕ ЦИФРОВЫЕ УСТРОЙСТВА

(FF, LATCH, RG, CNT)

ъыъ.рф/ыуеЕ

Исполнители: Модуль rs_ff — асинхронный rs-триггер

<Описание устройства>

Описание на Verilog

<Код>

module rs_ff(

input R, S,

output reg Q, nQ);

always @(S,R) begin

if (~ S) begin

Q <= 1'b1;

nQ <= !(R & Q);

end

if (~ R) begin

nQ <= 1'b1;

Q <= !(S & nQ);

end

if (~ R & ~ S) begin

nQ <= 1;

Q <= 1;

end

end

endmodule

1 – запрещенное

2 – сброшен

3 – хранение

4 – установлен

RTL-схема

<RTL-схема>

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

Модуль d_latch — d-защелка

<Описание устройства>

Описание на Verilog

<Код>

module d_latch (

input R, S, D, C,

output reg Q, nQ

);

always @ (S, R, D, C) begin

if (~S) begin

Q <= 1'b1;

nQ <= !(R & Q);

end

if (~R) begin

nQ <= 1'b1;

Q <= !(S & nQ);

end

if (~R & ~S) begin

nQ <= 1'b1;

Q <= 1'b1;

end

if (C & R & S) begin

Q <= D;

nQ <= !D;

end

if (~C & R & S) begin

Q <= Q;

nQ <= nQ;

end

end

endmodule

RTL-схема

<RTL-схема>

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

Модуль d_ff — d-триггер

<Описание устройства>

Описание на Verilog

<Код>

module d_ff (

input R, S, D, C,

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 <=D;

nQ <= ~D;

end

end

endmodule

RTL-схема

<RTL-схема>

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