2020年1月5日 星期日

Verilog SR-Latch

Verilog SR-Latch 




 module RS_latch (R,  S,  Q1,  Q1bar, Q2,  Q2bar);
input R,S;
output Q1, Q1bar, Q2,  Q2bar;

 SR_latch_gate      U1(.R(R),  .S(S),  .Q(Q1),   .Qbar(Q1bar));
 SR_latch_dataflow  U2(.R(R),  .S(S),  .Q(Q2),   .Qbar(Q2bar));

endmodule

//================================================================
module SR_latch_gate (input R, input S, output Q, output Qbar);
nor (Q, R, Qbar);
nor (Qbar, S, Q);
endmodule
//================================================================
module SR_latch_dataflow (input R, input S, output Q, output Qbar);
assign #2 Q_i = Q;
assign #2 Qbar_i = Qbar;
assign #2 Q = ~ (R | Qbar);
assign #2 Qbar = ~ (S | Q);
endmodule

// 時間單位 100ns, 時間精確度100 ps
`timescale 100ns/100ps     
module Test_bench;
//(R,  S,  Q,  Qbar);
 reg R,S;
 wire Q1, Q1bar, Q2,  Q2bar;

 RS_latch UUT (R,  S,  Q1, Q1bar, Q2,  Q2bar);

initial begin
    // Initialize Inputs
    S = 0;
    R = 1;
   
    // Add stimulus here
    #100 S = 1;R = 0;
    #100 S = 1;R = 1;
    #100 S = 1;R = 0;
    #100 R = 1;S = 1;
    #100 S = 0;R = 0;
    #100 S = 1;R = 1;
    #100 S = 0;R = 0;
    #100 $stop;
end
endmodule

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...