FF RS nảy cạnh lên khi đó sẽ kí hiệu hình tam giác ở sơ đồ khối và dấu mũi tên lên trong bảng trạng thái.
FF RS nảy bằng cạnh xuống tương tự và có khí hiệu thêm hình tròn nhỏ hay gạch đầu Ck để chỉ cạnh xuống ở ký hiệu khối và vẽ dấu mũi tên xuống ở bảng trạng thái.
- Một số ví dụ về RS FLIP FLOP dung verilog.
++ Ví dụ code Verilog cho RS FLIP FLOP tích cực ở sườn dương,có reset.
Mã:
// SR Flip Flop
module srff(s,r,clk,reset, q,qb);
input s,r,clk,reset;
output q,qb;
reg q,qb;
reg [1:0]sr;
always @ ( posedge clk or posedge reset)
begin
//ghep bit
sr={s,r};
if (reset)
begin
q = 1'b0;
qb = ~q;
end
else
begin
case (sr)
2'd0 : q = q;
2'd1 : q = 1'b0;
2'd2 : q = 1'b1;
2'd3 : q = 1'bX;
endcase
qb = ~q;
end
end
endmodule
Mã:
module srff(s,r,clk,reset, q,qb);
input s,r,clk,reset;
output q,qb;
reg q,qb;
reg [1:0]sr;
//code
initial
begin
q=1'b0; qb=1'b1; // q is set to 0 and q1 is set to 1.
end
always @ ( posedge clk )
begin
//ghep bit
sr={s,r};
begin
case (sr)
2'd0 : q = q;
2'd1 : q = 1'b0;
2'd2 : q = 1'b1;
2'd3 : q = 1'bX;
endcase
qb = ~q;
end
end
endmodule
++ Ví dụ code Verilog cho SR FLIP FLOP tích cực ở sườn âm có reset.
Mã:
// SR Flip Flop
module srff(s,r,clk,reset, q,qb);
input s,r,clk,reset;
output q,qb;
reg q,qb;
reg [1:0]sr;
always @ ( negedge clk or posedge reset)
begin
//ghep bit
sr={s,r};
if (reset)
begin
q = 1'b0;
qb = ~q;
end
else
begin
case (sr)
2'd0 : q = q;
2'd1 : q = 1'b0;
2'd2 : q = 1'b1;
2'd3 : q = 1'bX;
endcase
qb = ~q;
end
end
endmodule