Verilog HDL锁存器实现

描述

(1)异步高电平有效

 

module async_latch_H(
  input C,S,  //Set Q to 1, Clear Q to 0
  output reg Q
);


always @(*)
begin 
  if(C)
    Q <= 1’b0;
  else if(S)
    Q <= 1’b1;
  else
    Q <= Q;
end


endmodule 


 

(2)异步低电平有效

 

module async_latch_L(
  input S, C,  //Set Q to 1, Clear Q to 0
  output reg Q
);


always @(*)
begin 
  if(~C)
    Q <= 1’b0;
  else if(~S)
    Q <= 1’b1;
  else
    Q <= Q;
end


endmodule 


 

(3)同步高电平有效

 

module sync_latch_H(
  input clk, S, C,  //Set Q to 1, Clear Q to 0
  output reg Q
);


always @(posedge clk)
begin 
  if(C)
    Q <= 1’b0;
  else if(S)
    Q <= 1’b1;
  else
    Q <= Q;
end


endmodule 


    (4)同步低电平有效
module sync_latch_L(
  input clk, S, C,  //Set Q to 1, Clear Q to 0
  output reg Q
);


always @(negedge clk)
begin 
  if(C)
    Q <= 1’b0;
  else if(~S)
    Q <= 1’b1;
  else
    Q <= Q;
end


endmodule 







审核编辑:刘清

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分