// Dual Edge triggerred flip-flop // module detff (q,qb,d,clk); output q; output qb; input d; input clk; supply0 gnd; supply1 vdd; // fill this in. endmodule // Correct output from Test bench should be: // # Q value is 1, QB value is 0 // # Q value is 0, QB value is 1 // # Q value is 1, QB value is 0 // # Q value is 0, QB value is 1 // # Q value is 1, QB value is 0 // # Q value is 1, QB value is 0 module tb_detff; reg d, clk,r; wire q; wire qb; initial clk = 0; always #(40/2) clk = ~clk; detff dut (q, qb, d, clk); initial begin d = 1; #190 d = 0; $display ("Q value is %b, QB value is %b ", q, qb); #40 d = 1; $display ("Q value is %b, QB value is %b ", q, qb); #20 d = 0; $display ("Q value is %b, QB value is %b ", q, qb); #40 d = 1; $display ("Q value is %b, QB value is %b ", q, qb); #40 d = 0; #2 d = 1; $display ("Q value is %b, QB value is %b ", q, qb); #18 d = 0; #2 d = 1; $display ("Q value is %b, QB value is %b ", q, qb); end endmodule <div align="center"><br /><script type="text/javascript"><!-- google_ad_client = "pub-7293844627074885"; //468x60, Created at 07. 11. 25 google_ad_slot = "8619794253"; google_ad_width = 468; google_ad_height = 60; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><br /> </div>