zoukankan      html  css  js  c++  java
  • Verilog学习笔记简单功能实现(一)...............D触发器

     1 module D_flop(data,clk,clr,q,qb);
     2   input data,clk,clr;
     3   output q,qb;
     4   wire a,b,c,d,e,f,ndata,nclk;
     5   nand  nand1(a,clr,data,clk),
     6         nand2(b,ndata,clk),
     7         nand4(d,c,b,clr),
     8         nand5(e,c,nclk),
     9         nand6(f,d,nclk),
    10         nand8(qb,f,clr,q);
    11   nand  nand3(c,a,d),
    12         nand7(q,e,qb);
    13   not   not1(ndata,data),
    14         not2(nclk,clk);
    15 endmodule  
    门级电路

     

    上图就是门级Verilog语言描述的对应的网表,由图可以看出这是一个带异步置零的D触发器。

    同样我们也可以采用行为描述来定义D触发器。

    普通D触发器:

    1 module D_EF(Q,D,CLK)
    2 input D,CLK;
    3 output Q;
    4 reg Q;                //在always语句中被赋值的信号要声明为reg类型寄存器定义
    5 always @ (posedge CLK)  
    6        begin Q <= D; end
    7 endmodule
    View Code

    异步D触发器:

     1 module D_EF(q,qn,d,clk,set,reset)
     2 input d,clk,set,reset;
     3 output q,qn;
     4 reg q,qn;   //寄存器定义
     5 always @ (posedge clk or negedge set or negedge reset)
     6        begin
     7               if(!reset) begin q<=0;qn<=1;end//异步清0,低有效
     8               else if(!set) begin q<=1;qn<=1;end //异步置1,低有效
     9               else begin q<=~d;qn<=~d;end
    10        end  
    11 endmodule
    View Code

    同步触发器:

     1 module D_EF(q,qn,d,clk,set,reset)
     2 input d,clk,set,reset;
     3 output q,qn;
     4 reg q,qn;
     5 always @ (posedge clk)
     6        begin
     7               if(!reset) begin q<=0;qn<=1;end//同步清0,低有效
     8               else if(!set) begin q<=1;qn<=1;end //同步置1,低有效
     9               else begin q<=~d;qn<=~d;end
    10        end  
    11 endmodule
    View Code

    注意,异步和同步触发器中else begin q<=~d;qn<=~d;end 更正为else begin q<=d;qn<=~d;end 

           

  • 相关阅读:
    爬虫解析库:XPath
    手写一个小型打包构建工具
    Python网络爬虫神器PyQuery的使用方法
    人脸识别JavaScript也可以轻松搞定
    颜值即正义!这几个库颠覆你对数据交互的想象
    微信朋友圈自动点赞
    android studio的安装信息
    Docker使用笔记
    C语言联合
    Mac之Sublime Text使用Go
  • 原文地址:https://www.cnblogs.com/SYoong/p/5916084.html
Copyright © 2011-2022 走看看