设为首页 加入收藏

TOP

使用verilog编写锁存器与触发器
2019-08-24 00:03:08 】 浏览:36
Tags:使用 verilog 编写 触发器

需要注意的地方有四点:

1、关于锁存器与触发器在原理上的不同点,以及代码的不同点

2、关于高电平有效与低电平有效之前的区别

3、理解实现复位与实现D触发器之间的区别

4、理解同步与异步之间的区别

锁存器代码编写

       Module D_latch(d,clk,q);

        Input d;

Input lck;

Output reg q;

 always@(clk or d)

if(clk) q<=d;

endmodule

D触发器,标准

  Module D_ff(d,clk,q);

        Input d;

Input lck;

Output reg q;

 always@( posedge clk)

q<=d;

endmodule

异步低有效D触发器

注意高电平有效跟低电平有效之间的区别

module code(clk,rst_n,d,q);

input clk;

input rst_n;

input d;

output reg q;

always @( posedge clk or negedge rst_n)

begin

if(!rst_n) q <= 1'b0;

else q <= d;

end

endmodule

 

 

异步高有效D触发器

module code(clk,rst,d,q); //关于高有效还是低有效,都是驱动clk对输出端进行使能,有效     即为输                                              出为0,并不是输出要等于复位信号的值。

input clk;

input rst;

input d;

output reg q;

always @( posedge clk or posedge rst )  //注意这里是两个上升沿,高电平有效

begin

if(rst) q <= 1'b0;

 else q <= d;

end

endmodule

 

同步高有效D触发器

也就是说同步复位触发器时,必须使用触发器之外的门逻辑,才能构成同步触发器。

module code(clk,rst,d,q);

input clk;

input rst;

input d;

output reg q;

always @( posedge clk)

begin

    if(rst) q <= 1'b0;

    else q <= d;

end

endmodule

 

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇乘法器——booth编码 下一篇ZYNQ_SDK完整工程的创建——Hello..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目