theloong 发表于 2011-4-18 23:31:06

verilog HDL 设计一个同步清0 异步置位的jk触发器 我写了一个 好像有问题 请懂的哥

module async_set_sync_rst_JK_FF (Q, Qnot, CP, J, K);
      output Q, Qnot;
      inputCP, J, K;
      reg    Q;
      assign Qnot = ~Q;
      always @ (posedge CP or posedge J or negedge K)
      if (J && ~K)//问题好像出在这里
               begin
                   Q <= 1'b1;
               end
      else
               begin
                         case ({J, K})
                               2'b00: Q <= Q;
                               2'b01: Q <= 1'b0;
                               2'b11: Q <= ~Q;
                         endcase
               end
endmodule


明天数电实验要用的。。。谢谢

bure 发表于 2011-4-19 00:39:30

回复【楼主位】theloong
module async_set_sync_rst_jk_ff (q, qnot, cp, j, k);
      output q, qnot;
      inputcp, j, k;
      reg    q;
      assign qnot = ~q;
      always @ (posedge cp or posedge j or negedge k)
      if (j &amp;&amp; ~k)//问题好像出在这里
               begin
                   q &lt;= 1'b1;
               end
      else
               begin
                         case (......
-----------------------------------------------------------------------
取消if (j && ~k)
在case语句中直接把 2'b10:Q <= 1'b1;加上
页: [1]
查看完整版本: verilog HDL 设计一个同步清0 异步置位的jk触发器 我写了一个 好像有问题 请懂的哥